設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 292|回復: 0
打印 上一主題 下一主題

台達電(2308) k line & MACD

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2023-4-13 22:59:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. from datetime import timedelta, datetime
  2. import pandas as pd
  3. import yfinance as yf
  4. import matplotlib
  5. import mplfinance as mpf
  6. import talib as ta
  7. import matplotlib.pyplot as plt

  8. plt.rcParams['font.family'] = 'sans-serif'
  9. plt.rcParams['font.sans-serif'] = 'Noto Sans TC'
  10. plt.rcParams['axes.unicode_minus'] = False
  11. ticker_name = '台達電'
  12. stock_list = ['2308.TW']
  13. delta = timedelta(days=-300)  #
  14. today = datetime.now()
  15. Data = yf.download(stock_list, today + delta)
  16. # Setting date as index
  17. Data["Date"] = Data.index
  18. # Giving column names
  19. Data = Data[["Date", "Open", "High", "Low", "Close", "Adj Close", "Volume"]]
  20. # Resetting the index values
  21. Data.reset_index(drop=True, inplace=True)
  22. # getting the first 5 rows of the data
  23. print(Data.head())
  24. df = pd.DataFrame(Data, columns=['Date', 'Volume', 'Open', 'High', 'Low', 'Close'] )
  25. df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d')
  26. df.index = pd.DatetimeIndex(df['Date'])
  27. # trim volume to avoid exponential form
  28. Data['Volume'] = Data['Volume'] / 10
  29. mc = mpf.make_marketcolors(up='r',
  30.                            down='g',
  31.                            edge='',
  32.                            wick='inherit',
  33.                            volume='inherit')

  34. s = mpf.make_mpf_style(base_mpf_style='yahoo', marketcolors=mc, rc={'font.sans-serif': 'Noto Sans TC'})

  35. # macd
  36. Data["macd"], Data["macd_signal"], Data["macd_hist"] = ta.MACD(Data['Close'])
  37. # macd panel
  38. colors = ['g' if v >= 0 else 'r' for v in Data["macd_hist"]]
  39. macd_plot = mpf.make_addplot(Data["macd"], panel=1, color='fuchsia', title="MACD")
  40. macd_hist_plot = mpf.make_addplot(Data["macd_hist"], type='bar', panel=1, color=colors)  
  41. macd_signal_plot = mpf.make_addplot(Data["macd_signal"], panel=1, color='b')
  42. # plot
  43. plots = [macd_plot, macd_signal_plot, macd_hist_plot]
  44. mpf.plot(df, type='candle', style=s, mav=(5,20,60), figscale=1.5,addplot=plots, title="台達電", volume=True, volume_panel=2, ylabel='', ylabel_lower='Shares')
複製代碼

Q1)中文亂碼關鍵:A1) rc={'font.sans-serif': 'Noto Sans TC'}Q2)"TypeError: Expect data.index as DatetimeIndex". ?
A2) df.index = pd.DatetimeIndex(df['Date'])

data['Date'] = pd.to_datetime(data['Date'])
data = data.set_index('Date')



本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?立即註冊

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-17 07:29 , Processed in 0.253724 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表