バックテスト1-RSI

Python

練習で代表的なインジケータでバックテストをします。※この記事は1月中に完成予定です。

1.RSIの式

最初にRSIは買われすぎ売られすぎを表すオシレーター系の指標で式は

$$RSI =\frac{A}{A+B}*100$$

A:n日間の値上がり幅の平均

B:n日間の値下がり幅の平均

2.RSIインジケータの実装

2018年の日足データを使います。ここではdf2018として呼び出しておきます。pandasのdiffメソッドを使います。これはひとつ前のデータとの差分を見れます。終値の差分をとりこれを0以上か0以下で分けてrollingメソッドで14日間の値上がり/値下がりの平均を求めます。

diff = df['Close'].diff()
P=diff.clip(lower=0)
N=diff.clip(upper=0)
P_mean=P.rolling(14).mean()
N_mean=N.rolling(14).mean()
RSI=P_mean/(P_mean-N_mean)*100

これでRSIが作れましたのでグラフに表示しておきます。

2018年の終値表示
2018年のRSI表示

コメント

タイトルとURLをコピーしました