FTX JPには自分で自動取引ルールを作れる “Quant Zone(クオンツゾーン)” という機能があります。
誰でも簡単にBot取引(自動取引)をすることができるよ!
今回はその機能を使った仮想通貨の自動取引Botで年200%を達成した戦略を紹介します。
クオンツゾーン自体の使い方は👇の記事をご覧ください。
・取引所多すぎてどこに登録したらいいか分からない...
・仮想通貨って株と違って配当が無いんでしょ?
最も使われている仮想通貨取引所のFTXでは
仮想通貨を置いておくだけで年利8%もらえるよ!
どのような戦略か
この戦略で用いるのは「日曜日アノマリー」です。
すごくざっくり言うと「その週を通して下がっていたら日曜日は上がりやすい!」
つまり前週の値動きの逆をすると利益を出せる可能性が高いです。
実際の成績
2021年始めから資金1000ドル、レバレッジ1倍でこの戦略を取った場合の成績は次のグラフのようになりました。
このアノマリー戦略で必ずこの爆益を出せる保証はないとはいえ、1年で資金が2倍以上になりました。
では次にFTX JPのQuant Zoneでこの戦略を自動取引するBotの作り方を紹介します。
Quant Zoneとは(知っていれば飛ばしてください)
FTX JPには色々なルールを組み合わせることで自動で取引をしてくれるQuant Zoneという機能があります。
詳しくは以下の記事をご覧ください。
よくわからなくても紹介するコードをコピペすれば大丈夫!
戦略の設定方法
この戦略を実装するために、Quant Zoneで「ルール」を4つ実装します。
- 前の週にBTCが下落していたらLong(買う)する
- Longを利確する
- 前の週にBTCが下落していたらShort(売る)する
- Shortを利確する
毎週日曜日に実際に発動するのは①&②のペアか、③&④のペアかのどちらかのペアになります。
ルール① 前の週にBTCが下落していたらLong(買う)する
まず「前の週にBTCが下落していたらBTCを買うという」ルールの設定は以下です。
コード自体は下の方の青枠の中に置いてありますのでコピペしてください。
(
price(“BTC-PERP”, 6 * 24 * 60) > price(“BTC-PERP”)
)
and
(
day_of_week() == 6
and hour % 24 == 0
and minute == 0
)
balance("USD") / price("BTC-PERP") * 2
解説
- price(“BTC-PERP”, 6 * 24 * 60)
- 前の週の月曜(6日前)の価格を取得し、現在価格と比較しています。
- 土曜の終値を正確に取れないので、日曜の始値である現在価格を取得して比較しています。(シミュレーション上では日曜始値で判断しても収益への影響は軽微でした)
- 月曜の価格が現在価格より高い = 前の週は下落、なのでLongを打つという算段です。
- day_of_week で始まるカッコの部分は日曜始値の時に動いてね、という指定です。
- 前述の通りQZは毎分2-3回実行されるので、この日時指定がないとひたすらLongし続けます。
- balance(“USD”) / price(“BTC-PERP”)
- 手持ちのUSDを使ってBTC-PERPを何枚ポジれるかを計算しています
- レバ2倍を *2 で表現しています。この辺りはご自身のリスク許容度に応じて設定されるのがいいと思います
ルールの一時停止
- 前述の通りQZは毎分2-3回実行されるので、日曜UTC00:00の時刻指定だけだと2-3回Longしてしまいます
- それを防ぐため、1回実行した後はしばらくこのルール無視してね、というのをFTXに伝えます (5分としていますが特に意味はなく別に1分とかでも大丈夫だとは思います)
ルール②Long(買い)を利確する
Longポジションを持っていたら売りで決済する設定は以下の図の通りです。
コードは画像の下のほうにあります。
(
position(“BTC-PERP”, “buy”) > 0
)
and
(
day_of_week() == 6
and hour % 24 == 23
and minute == 59
)
解説
日曜日UTC23:59にLongポジションを持っていればアクションを実行するという感じです。
アクション
- 指値注文の値を入れなくてもいいのかどうかはよく分っていません笑
- 売りたい時は適当に小さな値を、書いたい時は適当に大きな値を入れると適宜修正してくれます。
- このルールはポジション決済なので日曜日UTC23:59に何度も実行されても別に大丈夫(ポジションがなければ何も取引しない)なのですが、念の為ルールの一時停止をしてあります。
ルール③ 前の週にBTCが上昇していたらShort(売る)する
(
price(“BTC-PERP”, 6 * 24 * 60) > price(“BTC-PERP”)
)
and
(
day_of_week() == 6
and hour % 24 == 0
and minute == 0
)
balance(“USD”) / price(“BTC-PERP”) * 2
ルール④Short(売り)を利確する
終わり
これでBotの設定は終わりです。
毎週日曜日を楽しみにお待ちください!
もちろん毎回利益を出すわけでなく、損失も出しながらですが勝率60%ほどになるはずです。