Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Created on Thu Jul 15 20:16:10 2021
- @author: darren
- """
- import yfinance as yf
- import pandas as pd
- import mplfinance as mpf
- from finta import TA
- #%%
- # 下載資料
- start_date = "2020-01-01" #日期用字串表示,年月日中間用 - 隔開
- end_date = "2020-02-01"
- ticker_list = ['TSLA'] #用list儲存要查詢的股票代號
- data = pd.DataFrame() #宣告一個空的DataFrame存所有的股票資料
- for tic in ticker_list: #每一檔依序下載
- temp_df = yf.download(tic, start=start_date, end=end_date) # 呼叫API,回傳DataFrame格式
- temp_df["tic"] = tic #新增一欄註記這是哪一檔股票
- data = data.append(temp_df)
- #%%
- # 畫出所有股票
- for tic in ticker_list:
- mpf.plot(data[data.tic == tic],title=tic,style='yahoo',type='candle',volume=True)
- #%%
- mpf.plot(data,type='line')
- mpf.plot(data,type='candle',mav=4)
- mpf.plot(data,type='candle',mav=(3,6,9),volume=True)
- #%%
- DEMA = mpf.make_addplot(TA.DEMA(data,10))
- mpf.plot(data, type = 'line', title = 'TSLA', addplot = [DEMA])
- #%%
- index = mpf.make_addplot(TA.DEMA(data,10), panel = 1, ylabel = 'DEMA', color = 'green')
- mpf.plot(data, type = 'line', title = 'TSLA', addplot = [index])
- #%%
- start_date = "2020-01-01" #日期用字串表示,年月日中間用 - 隔開
- end_date = "2021-01-01"
- ticker_list = ['TSLA'] #用list儲存要查詢的股票代號
- data = pd.DataFrame() #宣告一個空的DataFrame存所有的股票資料
- for tic in ticker_list: #每一檔依序下載
- temp_df = yf.download(tic, start=start_date, end=end_date) # 呼叫API,回傳DataFrame格式
- temp_df["tic"] = tic #新增一欄註記這是哪一檔股票
- data = data.append(temp_df)
- #%%
- SMA = mpf.make_addplot(TA.SMA(data),color='orange') # 41天SMA
- WMA = mpf.make_addplot(TA.WMA(data),color='green') # 9天WMA
- MACD_fast = mpf.make_addplot(TA.MACD(data).MACD,panel=1,color='blue')
- MACD_slow = mpf.make_addplot(TA.MACD(data).SIGNAL,panel=1,color='red')
- diff = TA.MACD(data).MACD-TA.MACD(data).SIGNAL
- colors = ['g' if v >= 0 else 'r' for v in diff]
- MACD_hist = mpf.make_addplot(diff,type='bar',panel=1,color=colors)
- mpf.plot(data, type = 'line', title = 'TSLA', style='yahoo',addplot = [SMA,WMA,MACD_fast,MACD_slow,MACD_hist],volume=True,volume_panel=2)
- #%%
- RSI = mpf.make_addplot(TA.RSI(data),panel=1,ylabel='RSI',color='orange')
- mpf.plot(data, type = 'line', title = 'TSLA', style='yahoo',addplot = [RSI])
- #%%
- up = mpf.make_addplot(TA.BBANDS(data).BB_UPPER)
- mid = mpf.make_addplot(TA.BBANDS(data).BB_MIDDLE)
- low = mpf.make_addplot(TA.BBANDS(data).BB_LOWER)
- mpf.plot(data,style='yahoo',type='candle',volume=True, title = 'TSLA', addplot = [up,mid,low])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement