股市的動量指標是以股價波動震盪為分析目標,藉由觀察價格的漲跌的頻率與幅度,進行未來價格變化的預估準則。由於動量指標倚仗的是過去一段時間內的平均動量數據,因此多用於中短期的技術分析,衡量中短期內的股價波動力道與速度,對於長線的預判較為困難
本章節的Google Colab筆記本連結:
https://colab.research.google.com/drive/125250vmIbS6fQt0-RDAFpaXQtQo_NYdV?usp=sharing
前情提要【EP.1 部署股票搜尋器,獲取上市櫃股票資訊】
前情提要【EP.2 股市資料視覺化---K線重疊指標】 自訂的函式與類別在這章節!
前情提要【EP.3 股市資料視覺化---價格計算指標】
前情提要【EP.4 股市資料視覺化---股市量能指標】
相對強弱指標,由股價的平均上漲、下跌幅度計算而得,代表股價的上漲力道強弱,數值介於0~100之間,數值越大代表上漲力道越強
使用函式RSI()
,進行相對強弱指標的計算,並透過timeperiod = n
自定計算指標的時間週期
rsi_6=RSI(data,timeperiod = 6)
rsi_24=RSI(data,timeperiod = 24)
fin_chart = chart(data)
fin_chart.TA(rsi_6,panel=2,type="line",color="black")
fin_chart.TA(rsi_24,panel=2,type="line",color="blue")
fin_chart.Show()
透過6日RSI值與24日RSI值繪製線圖,當6日RSI指標線向下穿越過24日RSI指標線,可作為賣出訊號;當6日RSI指標線向上超越過24日RSI指標線,可作為買入訊號
隨機指標,又稱為KD指標,顧名思義是由K值與D值組合而成。K值為快速平均值,對股市近期變化較為敏感;D值為慢速平均值,對股市近期變化較為遲緩,因此投資人多利用KD指標的相對位置作為進出場時機的判斷輔助
使用函式STOCH()
計算隨機指標,fastk_period
為KD計算週期,slowk_period
為K值計算公式當中,RSV的係數分母,slowd_period
則是D值計算公式當中,今日K值的係數分母,設定為3即代表為三分之一,可根據觀察週期之長短或個人習慣,自由設定其計算係數
stoch=STOCH(data,fastk_period=9,slowk_period=3,slowd_period=3)
fin_chart = chart(data)
fin_chart.TA(stoch['slowk'],panel=2,type="line",color="orange")
fin_chart.TA(stoch['slowd'],panel=2,type="line",color="green")
fin_chart.Show()
根據繪製出的圖表,可觀察K值(橘線)與D值(綠線)的交叉時機,判斷進出場時機,除此之外,也可透過KD值觀察市場上超買或超賣的情形,捕捉價格修正的情形
隨機相對強弱指標,結合上文所提及之RSI指標與STOCH指標,利用收盤價計算每日K棒的RSI值,並參考隨機指標計算方式,將RSI指標轉換為隨機相對強弱指標,數值同樣介於0~100之間
使用函式STOCHRSI()
計算隨機指標,time_period
為RSI計算週期,fastk_period
為KD計算週期
stochrsi=STOCHRSI(data,time_period=6,fastk_period=9)
fin_chart = chart(data)
fin_chart.TA(stochrsi['fastk'],panel=2,type="line",color="green")
fin_chart.TA(stochrsi['fastd'],panel=2,type="line",color="red")
fin_chart.Show()
依據STOCHRSI可判斷股市買賣情形,當數值超過80即為超買,低於20即為超賣,提醒投資者小心極端的市場買賣情形
隨機快速指標,從隨機指標延伸而來,與隨機指標差別在於,隨機快速指標以RSV值計算公式取代隨機指標的K值計算方式,減少一次的平滑運算,因此對於短期股市趨勢反應較為敏感
使用函式STOCHF()
計算隨機指標,透過上圖公式可知,fastk_period
為KD計算週期,fastd_period
則同樣是D值計算公式中,K值係數的分母
stochf=STOCHF(data,fastk_period=9,fastd_period=3)
fin_chart = chart(data)
fin_chart.TA(stochf['fastk'],panel=2,type="line",color="purple")
fin_chart.TA(stochf['fastd'],panel=2,type="line",color="gray")
fin_chart.Show()
STOCHF常用的觀察方式為,下降的K線穿越超買區域的D線時,即產生賣出信號;上升的K線穿越超賣區域的D線時,即產生買入信號
平滑異同移動平均線指標,計算指數移動平均值(EMA)的離散程度而得(可參考EP.2),由於經歷兩次平滑運算,因此對近期價格趨勢的反應較緩慢,多用於中長期的股價趨勢分析
使用函式MACD()
,fastperiod
為短均線週期(快線),通常使用12日作為計算週期,slowperiod
為長均線週期(慢線),通常使用26日作為計算週期,signalperiod
為MACD計算週期。需特別注意的是,由於國內外的用詞不同,經過函式運算後,macd['macd']
代表的是DIF值,macd['macdsignal']
則為MACD值,
macd=MACD(data,fastperiod=12,slowperiod=26,signalperiod=9)
fin_chart = chart(data)
fin_chart.TA(macd['macd'],panel=2,type="line",color="black")
fin_chart.TA(macd['macdsignal'],panel=2,type="line",color="red")
fin_chart.Show()
MACD指標同樣是透過DIF線與MACD線的交叉,來判斷買入與賣出的訊號。除此之外,若股價創新低,但MACD線卻出現上升的情形,常被認為是買入訊號,即為多頭背離,相反,若股價創新高,但MACD線卻出現下降的情形,常被認為是賣出訊號,即為空頭背離