StratCraft
Backtrader インジケーターガイド

Backtrader RSI Mean Reversion Strategy

0〜100 のスケールで価格変動の速度と変化を測定するモメンタムオシレーター。70 を超えると買われすぎ、30 を下回ると売られすぎの状態を示します。

bt.indicators.RSIMean Reversion Strategies

0〜100 のスケールで価格変動の速度と変化を測定するモメンタムオシレーター。70 を超えると買われすぎ、30 を下回ると売られすぎの状態を示します。

RSI は平均回帰戦略の基礎です。価格が平均から大きく乖離した場合(RSI > 70 または < 30)、トレーダーは均衡への回帰を期待します。トレンドフォロー指標とは異なり、RSI は価格が安定した平均値の周りで振動するレンジ相場で威力を発揮します。

Mean Reversion Strategies について詳しく学ぶ →
Pythonbacktrader
import backtrader as bt

class RSIMeanReversion(bt.Strategy):
    params = (('rsi_period', 14), ('rsi_overbought', 70), ('rsi_oversold', 30))

    def __init__(self):
        self.rsi = bt.indicators.RSI(self.data.close, period=self.p.rsi_period)

    def next(self):
        if self.rsi[0] < self.p.rsi_oversold and not self.position:
            self.buy()  # Oversold: expect mean reversion upward
        elif self.rsi[0] > self.p.rsi_overbought and self.position:
            self.sell()  # Overbought: exit on reversion
パラメーターデフォルト説明
period14RSI 計算のルックバック期間
upperband70買われすぎのしきい値
lowerband30売られすぎのしきい値