見出し画像

RSIによるビットコイン取引戦略のバックテストをPythonとbinance APIでやってみた(1h足)

RSIによるビットコイン取引戦略のバックテストをPythonとbinance APIで実行してみました。

RSI(相対力指数)は、オシレーター系のテクニカル指標の代表格で、現在の相場の相対的な強弱(又は過熱感)を表す指標です。

↓のような計算式で算出します。
① RS=(n日間の終値の上昇幅の平均)÷(n日間の終値の下落幅の平均)
② RSI= 100 - (100 ÷ (RS+1))

RSIは0%~100%の間で推移します。
RSIが70%~80%を超えると買われ過ぎ、
反対に20%~30%を割り込むと売られ過ぎと判断し、
逆張りの目安として使われる手法が一般的です。

取引ルール

・1時間足を使う。
・終値がEMA(100期間)より高く、かつRSI(14期間)が30より小さいなら1万ドル分のBTCを買う
・終値がEMA(100期間)より低いか、またはRSI(14期間)が70より大きいなら保有しているBTCを売る
・取引の度に0.1%の手数料がかかるとする。

検証には、2021-07-31までの3年間のbinanceのbtc/usdtペアの価格データを使いました。
100期間EMAで長期の上昇トレンドを確認して、トレンド方向に押し目買いを狙うイメージです。

バックテストの結果

利益 -1969$
トレード回数 106
勝率 34.9%

画像1

結果は3年間で約2000ドルの損失に終わってしまいました。

売られすぎのシグナル(RSI<30)がでてもそのまま価格が下がり続けて損失に繋がるケースが多すぎるようです。上のルールでいろいろパラメタを変えても結果はよくありませんでした。RSIは株やFXで人気の指標なんですが、BTCには合わないのかもしれません。

バックテストに使ったPythonコード

以下の内容はバックテストに使ったPythonコードになります。
binanceのAPIをccxtライブラリを使って呼び出して、過去3年分のbtc/usdtペアの価格を取得します。
それを使って取引シミュレーションを行い、
損益を出力しています。


ここから先は

4,464字

¥ 150

この記事が気に入ったらサポートをしてみませんか?