這篇接續著Python時間序列實做,先複習一下,上回合結束,我們有一個最重要的成果:close,它的columns是所有的股票代號,而index是日期。
1
2
3
|
close = pd.DataFrame({k:d['收盤價'] for k,d in data.items()}).transpose()
close.index = pd.to_datetime(close.index)
close
|
還記得嗎?上方式是上次的code,將data,把每個股票的收盤價拿出來。
|
|
大家有沒有發現,相同的東西抄了五次,但我們拿出來的不是close,是open、high、low 跟 volume。
把所有的東西都統整好。 統整好後,再將我們想看的股票拿出來,我們以近年超紅的台積電。
花這麼久時間,tsmc 這個結構有什麼用?來,接下來我們配合一個超厲害的python package:talib。 安裝talib不是直接pip install
那麼簡單,請參考python talib 的網頁 來安裝。
接下來任意找出105種指標!
KD 值計算
其中,最重要的是第 9 行,我們利用 talib.abstract.STOCH
這個函式,來計算KD值,計算好後,再由talib2df
將格式轉換成 dataframe 方便我們畫圖。第 10 行是說,我們想要同時顯示tsmc的收盤價,secondary_y
是說我們需要用第二個 y軸,因為KD我們知道是在0~100之間,而台積電股價在200左右。
以下就是我們的成品,橘色、藍色代表的就是KD值。而紫色的就是收盤價!
收盤價對應到右邊的 y 軸,而左邊的y 軸則是 KD 值。
MACD 計算
這還不夠酷炫,以上的鋪陳都是為了接下來:
只要把STOCH
改成MACD
就好了,各種指標隨便用:
OBV計算
威廉指數計算
ATR 計算
所以到底有幾種指標?!總共有158種 !
這些就是可以用的指標,總共有158種,慢慢看,學也學不完XDD。
改變參數
之前不是說KD指標有三個參數:(9、3、3),假如今天我想要客製化,怎麼修改呢? 我們現在只知道KD指標是 talib.abstract.STOCH
這個function,要如何看如何設定呢?直接 print
這個函式看看:
我們可以改變得參數是 Parameters
項目中的五個,可以看到假如什麼都不輸入的話,它的值預設是(5、3、0、3、0),這邊的0代表的就是平滑的演算法式哪一種,例如我們希望它的三個參數不要是(5、3、3),想改成台灣常用的(9、3、3),也就是我們想把 fast_period
從原本的5改成9,只要在呼叫 talib.abstract.STOCH
的時候輸入 fastk_period=9
就可以了:
留下你的回應
以訪客張貼回應