文件
開啟 Studio

策略範例

技術指標選股

本頁內容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() 也能算其他技術指標,用法見技術指標。

下一步

↑↓ 選擇 Enter 開啟 Esc 關閉