策略範例
技術指標選股
本頁內容4
RSI(相對強弱指標)衡量股價近期漲跌的強度,用來判斷是否處於超買或超賣狀態。這個策略每週買進 RSI 最高的 20 檔台股,是典型的動能追價:買入已經強勢上漲的股票。在趨勢型市場中,高 RSI 的股票往往延續既有的上升趨勢,帶來超額報酬。
策略邏輯
- 算 RSI:
data.indicator('RSI', timeperiod=20)一次算出所有股票的 20 日 RSI。 - 選股:選出 RSI 最高的 20 檔(
is_largest(20)),也就是近期上漲動能最強的股票。 - 換股:每週一次。
完整程式碼
strategy.py
from finlab import data
from finlab.backtest import sim
# 選出 RSI 最大的 20 檔股票
rsi = data.indicator('RSI', timeperiod=20)
position = rsi.is_largest(20)
# 回測,每週(W)調整一次
report = sim(position, resample='W', name="高RSI策略", upload=False)
report.display()report.display() 會畫出完整的回測報告。
怎麼調整
- RSI 天數
timeperiod=20:RSI 的計算視窗。相較於常見的 14 日 RSI,20 日 RSI 對短期雜訊較不敏感,但仍能捕捉近期動能。 - 持股檔數
is_largest(20):改這個數字,就改變每次持有 RSI 最高的幾檔。 - 換股頻率
resample='W':每週換股在反映動能變化與控制交易成本之間取得平衡,有助於捕捉中期動能,同時避免過度交易的摩擦成本。 - 換成其他指標:
data.indicator()也能算其他技術指標,用法見技術指標。
下一步
- 技術指標 用 TA-Lib 批次計算各種技術指標。
- 股價創新高動能 另一種動能做法:買創 200 日新高的股票。
- 乖離率與 ROE 濾網 動能再加上獲利濾網,避開虧損公司。
- 歷史回測 換股頻率、停損停利與交易紀錄。
這一頁有幫到你嗎?