Studio3104::BLOG.new

uninitialized constant Studio3104 (NameError)

RSI だけで BTC を自動取引

仮想通貨自動取引実験シリーズ第一弾。今回は RSI で逆張りシグナルによって買い注文を入れるというロジックを実装して実験してみた。本エントリでは実装の解説はありませんがコードはここにいます。

前提知識

RSI とは

RSI はチャート分析の中でもオシレーター系に分類される指標。売られすぎ買われすぎの状態を数値化することで逆張りや相場転換のシグナルとして用いられる。

f:id:studio3104:20211102141905p:plain
マネックス証券のサイトから引用

info.monex.co.jp

Condition

売買条件は概ね以下の通り

  • BTC 現物板取引でトレード
  • 10秒ごとに ticker を取得
  • RSI 30 を下回ったら買い注文
  • 未決済のポジションがあるときには新規買い注文しない
  • 損切りラインを n% に設定
  • (n * 1.5)% を超えたら利確売り注文
  • 売買手数料は 0.15% を想定

RSI は買い注文を入れる際のみに利用し、売り注文を入れる際は考慮していない。理由としては10秒スパンでのデータで RSI を計算したときにはかなりダマシが多く、手数料負けのラインで決済されることがほとんどであることがすぐにわかったため。まあもうこの時点で結果は見えてるね...
損切りラインの n は 0.1 から 3.0 まで 0.1 刻みにして30段階で設定し、同じ値動きに対してそれぞれシミュレーションした。

Conclusion

結果としてはすべての n でマイナスとなった。

f:id:studio3104:20211102143022p:plain
0.3% 設定でのグラフ

図は n を 0.3 に設定したシミュレーションの結果。赤点が買い注文、緑点が売り注文。
レンジ相場であればある程度の利益が期待できそうではある。ただし利確ラインの設定によってはラインに到達しない。利確ラインも何らかの指標によって決定するべきであろう。ただし前述した通りで RSI 70 とかで利確する場合はダマシにやられたり手数料負けする価格で決済されてしまうことが多い。まあダマシは買い注文のシグナルのときも同じことが言えるわけだが。
あとは RSI で売られすぎと判断されてからの上昇トレンドが起こる場合でも勝ち取引になりそうではあるが、これはまあ普通に当たり前。
あとはやっぱり逆張りオンリーの手法なので下降トレンドが起こったときにはどんどん損が積み重なる。図の右半分くらいのところ。RSI を軸に考える場合でもトレンドの分析結果を加えるべき。
やる前からだいたいこうなるだろうなとは予想していたけど実際にそうなったことを確認出来た実験結果となった。

RSI だけでは勝てないことは明言出来る。RSI は相場転換のシグナルとして参考程度に他のシグナルを主軸にした別のロジックを考えて実装してみようと思う。10秒ごとの ticker から計算した指標は RSI じゃなくてもダマシが多くなるはずなのだが、おれはスキャルピングがやりたいのだ。
あとは BTC はボラティリティが高いから今回のロジックでもそれなりの数の売買が実行されるかなと思ってたけど意外と少なかった。現物板取引だと買い注文を先にしないといけないというのがダルい。とか思ってたら bitFlter で仮想通貨FXの新規申し込みが再開されたというタイムリーがニュースが!嬉しい!

What's Next?

FX を前提としてロジック作る。
指標としてはいったん基本に立ち返って SMA で判別するロジックから作ってみることとする。そこからボリンジャーバンドMACD かなあ。