【FTX JP】クオンツゾーンと四半期先物を使い小銭稼ぎマシンを作りました_その1

※親会社であるFTXが破綻しFTX JPも利用不可となりました。本記事はあくまで過去のものとして備忘録として残しておきます。(2022/11)

 

本記事だけでも一応小銭稼ぎできますが、次回以降に記事予定の「その2」と合わせて閲覧頂ければと思います。

 

=======

 

つい先日FTX JPにてついに四半期先物が解禁されました。以下過去記事。

 

 

okometsubulog.hatenablog.com

 

 

四半期先物を使ってクロス取引を使うことでかなり安定した取引が可能となるのだ。詳細は上記過去記事でも見たらいいんじゃないっすかね(花保持)

 

じゃあ今日は何するかっていうと、四半期先物と現物の価格が大幅に乖離した時に発動する自動botクオンツゾーンを使って仕込んだらいいんじゃないか?というのを思いついたので記事にします。

 

四半期先物の価格と現物価格があるのですが、基本は「四半期先物>現物価格」となっており、両建てすることでその乖離分をかなり安全に取得できるという技があります。

 

しかし、残念ながら現在冬相場。冬相場中は「四半期先物>現物価格」の乖離が非常に小さく、板が薄い通貨で現先クロスをしちゃったりすると手数料やら希望の額で売り買いできなくて逆に損する可能性すらあるのだ。

 

じゃあどうするのか。やることを書きます。

 

 

 

 

今回やりたいこと

  • 「四半期先物<現物価格」となった場合に発動するようにセット
  • その乖離率が-1%~-2%ぐらいになったら発動するようにセット
  • 発動したら、「四半期先物」を成行ロングして、現物を成行売りするアクションを設定
  • その後、乖離が戻った辺りで手動で解消する、もしくは「四半期先物」の期日ぐらいになったら結果を見て、改めて手動でクロス解消する

 

先ほどの説明では基本は「四半期先物>現物価格」となっています。ではなぜ今回逆転させたかというと、ズバリ、「法定通貨」を使わないで上記ルールを実行できるからです!!!

 

理由としては3つあります。

 

なぜ「先物ロング、現物売り」のポジションにしたいか

  1. 「FTX Earn」が有効なウォレットの場合、「法定通貨」があると「FTX Earn」の報酬が減るため、極力日本円とかUSDを入れておきたくない
  2. 「FTX Earn」が有効でないサブアカウントを使えば「四半期先物>現物価格」のルールでも可能だが、そもそも「法定通貨」をFTX JP等の取引所においても1円の利益も得られないため、それなら銀行に入れておいた方がマシだから(※私の場合は株主優待クロスの種銭にしてたりもしてる)
  3. そもそも「日本円」をあんまり持ちたくない(※私が「現金はゴミ」派閥に所属してるため、という超個人的理由)

 

ようするに、今回やりたいことを実践した場合、BTCやETHの仮想通貨を持ってるだけで可能なので、もし仮に「クオンツゾーン」のルールが発動しなくても何にも損失はでず、むしろ「FTX Earn」で5~8%の年利を満額貰えることになるのだ!

 

「FTX Earn」については以下過去記事。

 

 

okometsubulog.hatenablog.com

 

ということで、今回の小技を使うことで

 

  • 別に発動してもしなくても損はしない
  • 発動して大き目の乖離を拾えたら即座に1~2%の差額分ゲット可能
  • 最悪期限まで乖離が戻らなかったとしても、期限になったら1~2%差額分ゲット可能なので損失はほぼ無い(はず)

 

ということをもくろんでいます。なので、今回のルールである-1~-2%としている部分も欲をかくなら-3%とかにして放置してもいいかなと思う。

 

ということで、つらつら書きましたが実際にルールを設定したものを入れましょうか。

 

今回のサンプル

  • ETH-1230とETH/USDを使います
  • 1回の注文でETHの枚数を「2」枚使うことにします。
  • ただ、2枚だとちょっと大きいポジションで成行注文すると高値になるかもなので、5回に注文を分けて行うことにします。1回の注文で0.4枚クロスする形です。※0.4枚でも大きいかもしれないのでその辺は試しながら枚数と条件の数値を各自で検証頂ければと思います。今回はあくまでサンプルとして0.4枚とします。

 

BTCでもいいのですが、ETHの方が乖離が大きいのでETHのが条件引っかかると思う。当然ETH以外でもできる。SOLなんかもねらい目な気がする。

 

当然ながら対象となる「仮想通貨」を持ってるのが大前提です。その現物のまでが取引可能ということです。仮想通貨がなく、法定通貨が多いなら逆に

 

トリガー




4つのルールを「and」でつなげています。

 

(price("ETH-1230")/price("ETH/USD")*100)-100 <= -1 and balance_free("ETH") >= 0.4 and get_variable("flag_eth1230A") < 5 and time < 1672326000

 

一つずつ見てみましょう。

 

■(price("ETH-1230")/price("ETH/USD")*100)-100 <= -1

1%の乖離が発生したら発動するようにしてます。2%欲しかったら-2にすればいいかなという感じ。

 

尚、現状の乖離については(price("ETH-1230")/price("ETH/USD")*100)-100 をトリガー欄に入れることで数値が分かりますので非常に便利です。

 

もしくはTradingView等で「FTX:ETH1230/FTX:ETHUSD*100-100」とかで出るので各々確認しておくといいでしょう。※100の部分を1000にしないと小数点以下まで出ないっぽいので一応そこだけ注意

 

■balance_free("ETH") >= 0.4

自身が持ってるウォレットのETH現物の枚数が0.4枚以上あるよね?って状態にします。今回の1回の注文で使える枚数が「0.4」枚にしてるのでその枚数にしてる。

 

これを実行しないと、ETH1230のロングはBTCとか他の証拠金で注文が通る可能性があるが、ETH/USDの2枚売りの注文が足りなくてエラーになる可能性があるためそれを回避するために入れています。

 

get_variable("flag_eth1230A") < 5

get_variableは変数を定義する関数です。その中の"flag_eth1230A"は私が勝手に作った変数名なので別になんだっていいです。他のクオンツゾーンで使う変数名とバッティングしないようにすればOK。

 

で、これは何をやっているかというと、後述の「アクション」にて、このルールがヒットしたらflag_eth1230Aを+1する処理を行っています。これにより、このルールが5回ヒットした所で打ち止めになる形にしています。

 

今回、ETHの枚数を0.4×5回として2枚までをクロスしたいので、そういう感じにしています。当初の目的の通り、1回の金額で大き目の額にすると成行注文で板が無かったら損する取引になるため、これを回避するために5回に少額に分ける目的で作ってます。

 

今回変数を使ってますが、単に「balance_free("ETH") >= 0.4」を{現在ウォレットに残っているETH枚数-2}枚を指定すれば同様のことができたりします。とりあえず今回は変数使ってます。例えば二つルールを作る時とかで同じ通貨を使う場合は変数を分けて管理するときに便利かも。

 

今回の設定だと5回実行するまでに乖離が戻る可能性もあるので一長一短と言えるでしょう。気にしないならこの辺無くしてもよいと思いますが、その場合はこのルールを停止するための別のルールが必要になるでしょう。

 

楽なのが「ルールの一時停止」を選んで99999日とかにすれば生きている間は止まるでしょう。

 

time < 1672326000

time関数は「UNIX時間」を表しています。意味不明ですね!!!

上記の「1672326000」というのは「2022年12月30日0:00:00」を表しています。

 

ようするに、2022年を超えたらこのルールは起動しないようにしたいのです。

 

というのも「ETH1230」は期限を切れると商品自体が無くなります。ただし、2023年6月ぐらいになるとまたその年専用の「ETH1230」が発生することになります。

 

そうなると、その時の市場の状況が分からず、例えば今回のようなETHマージ戦がその時期に発生して乖離率が-5%が普通!みたいな世界が繰り広げられていると、-1%の乖離でルールを設定していた場合に損をする可能性があります。

 

なので、一旦状況を見たいのでtime関数を入れました。もちろん入れないで一生放置してても良いと思う。期限は長ければ長いほど、「先物価格>現物」となるはずなので、先物ができた瞬間から「先物価格<現物」になっているなら真っ先にクロスしちゃってもいい気もするので。

 

今回は安全重視で入れてます。

 

補足としてUNIX時間は以下のサイトを使うと変換できるので便利です。以下casio.jpサイトより引用します。

 

日付⇒UNIX時間変換 - 高精度計算サイト

https://keisan.casio.jp/exec/system/1526003938

 

ということで、この2つの条件が引っかかったらアクションを実行するようにします。

 

アクション

 

ということで、ETH-1230を買い注文。注文サイズは前提の通り「0.4」としています。別に人それぞれでいいです。今回のサンプルは2枚目標ですが5回注文予定なので2/5=0.4枚です。

 

で、両建て側の売り注文は以下で実施。ETH/USDを0.4枚売りです。

 

 

 

クオンツゾーンで両建てする場合は「成行注文」じゃないと最悪一生ポジション取れない可能性があるので手数料諦めて「成行注文」で設定するしかないと思ってます。まぁ手数料は最大「0.07%」とかなり良心的なのでいいでしょう。

 

で、最後に変数を+1する処理を行います。変数は未定義の場合は0スタートとなるので、純粋に0から5まで延びることになるでしょう。

 

 

これで最大5回まで実施してくれるはずです。

 

ということで、今回のルールで乖離が1%になったら発動するルールができました。

 

ここに追加で2%乖離したルールも追加しつつ、ETHがウォレットから消えてなくなるまで対応してもいいという条件なら次のようにします。

 

 

「balance_free("ETH")」で利用可能なETHの枚数を指定して、0.4以上なら稼働するようにします。最悪無限に実行されるのでアカウントにあるETHを全部売る場合は変数とか使わずにこれでGOしちゃえばいいです。

 

1%ルール側は枚数の上限を決めましたが、2%側は上限なしで際限なく取引するので注意。それが嫌なら1%ルールの時と同じようにbalance_freeでキッチリ下限を決めたり変数つかって回数を決めておけばいいです。

 

ということでできたルールはこちら

 

 

それぞれ変数名は変えてください。グローバル変数(※どのルールで使っても有効)なので、変えないと予期せぬ挙動になるはず。私は名前の最後にAとかBとか連番つけて適当にやりました。

 

 

さて、SOLの乖離を見てみると、すでに-1.5%近く乖離している状況でした。ちょっと暴落したらすぐ-2%ぐらい行っちゃいそうなので、とりあえずそんな感じで設定。さすがにETHマージ戦で-3%がやっとだったので、SOLはそこまでいかないよなぁ~と思いつつ、良く分からないのでいったんはこれで。

 

 

SOLが良い感じにマイナス乖離(表記1/10で見てください)

 

SOLだとデリゲートして年利6%の所に置いた方が良い気もしますが、手数料とか信用性もさることながら、12月30日までの130日ぐらいの年利諸々を考えるとFTX JP上でやってもいいよなっていう感じで。

 

多分この記事書いた後、乖離の数値と売買時の枚数は調整する予定。自動化するので少額取引にしつつ、-1.2~1.5%ぐらいで軽く売買し始める感じにしてみるかなと。少額なら板が薄くても何とかなるイメージ。

 

最後に、この技のデメリットを。

 

デメリット

  • 現物売りをするので、「利確」や「損失」が確定してしまうため税金対策してる人は注意
  • 現物を売るため「FTX Earn」報酬が下がるため、現先クロスする時期と乖離の額によってはそのまま現物を持った方がお得の可能性あり
  • 毎週日曜日朝9時にウォレット内USDがマイナスだとBTCとか強制決済されるのでケアが必要
  • 乖離が発生したのが一瞬だったりした場合、思ったようにポジションが組めていない可能性は否定できない(※板の厚さとかその場の上げ下げの速度とかで)

 

こんなところでしょうか。あくまで先物ロング、現物売りのルールなのでここは目をつぶるしかない。とはいえ12月30日までと期限が決まっているので、今から3か月で1%狙いつつ、大きな乖離が発生した後は速やかに乖離が縮小する傾向にあるので、早めにクロス解消すれば短期間で1~2%得られる可能性は大いにあります。ただ、結局乖離が早期に埋まってくれないと12月30日まで待つことになるのでそこはもう諦めるしかない。損はしないのでまぁいいでしょう。

 

最後の懸念点は、板が薄くてアラートの乖離と実際にポジション取った乖離で縮小されている可能性も否定できません。なので、アラートの数値は大き目に取っておいた方が安心すると思います。

 

さて、タイミングによっては微妙ですがここから更に小銭を稼ぐ方法があります。それについては記事が長くなったので本記事の発展形の小技については後日に回したいと思います。

 

おまけ(現在の現先乖離率をパッと見る方法)

今回クオンツゾーン上で自動化しちゃうので普段見る必要はないのですが、現先乖離をTradingViewとかでパッと見渡すのは面倒だったりします。なので、次のようにルールを設定して変数を並べればサッと状況は確認できて便利です。

 

トリガー

 

「true」でいいです。常に実行して最新情報見たいので

 

アクション

サンプルとしてSOL1230/SOLUSDを仕込みました。

(price("SOL-1230")/price("SOL/USD")*100)-100

を入れるだけです。これを設定してクオンツゾーンのトップページに戻って「変数」欄をチェックすれば・・・

 

 

これでSOL1230/SOLUSDの乖離率がパッと分かります。現在-1.08%なのでポジション組めば12月30日にその乖離分は確保できる(はず)ということです。後は適当に気になるポジションを並べてルール作っておくと楽かなと。

 

ただ、大量にログが残るので、雰囲気だけ知りたい場合は「1時間一時停止」とかするアクションを入れるとかすればいいかなと思います。リアルタイム追う必要はそこまで無いかなと。自動売買ルールすでに入れた後なのでそっちに任せればよろし。

 

また、変数はなんか知りませんが削除することができないため、無駄に作り過ぎると見えにくくなるので、サブアカウントとかで設定するのをお勧めしたい。クオンツゾーンはアカウント毎に分けて管理できるのでこういう時もあってサブアカウントは一つあると楽しいです。

 

ということでいつものアフィリンクを最後に張ります。お金が欲しいのです私は。

 

恒例のリファURL物乞い

私のリファラルURL、いわゆる紹介コードを張っておきます。こちらのリンクから新規口座開設をすると永年手数料が5%減りますので是非!

 

FTX JPは取引停止となったためリンク削除しました

 

※2022/9/28 追記

第2回目リンクはこちら

okometsubulog.hatenablog.com