金利をサンドイッチするBotのアイデア

# はじめに
初めまして。[ルート](https://twitter.com/aglet_tlud)と申します。
本記事は、仮想通貨botter Advent Calendar 2023の12日目の記事です。

金利に関するBotを作成した際のアイデアを紹介します。
マイナスFunding Rate発生時に金利受け渡しのタイミングで短時間ロングポジションを持つBotの紹介です。

## 基本アイデア

### 背景

2023年の8-9月ごろにかけて、-1%を超えるような高い金利を記録する草パンプが次々と発生していました。そこで、大きな金利の受け渡し時には歪みが発生するだろうと考え、Bot作成に至りました。

戦場は大きなマイナスFunding Rateを伴っているPerpetualになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3615616/c03429e5-967c-fa5d-67fd-7ba3f198e08a.png)


### 金利受け渡し時の価格変化
まずは、金利受け渡し前後の価格変化から確認します。

次のイメージ図は、大きなマイナス金利が発生時の「あるあるチャート」です。矢印は金利の受け渡しを表します。いくつかの分解能で確認すると、次のような性質があると分かりました。
* 1分足: 金利受け渡し時に大きな陰線が発生
* 1秒足: 1分足と同様、金利受け渡し時に大きな陰線が発生
* ミリ秒足: 毎回異なる形をとるが、総じて下落傾向

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3615616/3df9721f-4e55-f613-30bd-a96840e95cd0.png)


### 金利受け渡し時のロングポジション
このような値動きの中で、非常に短い期間ロングポジションを取ることを考えましょう。
金利を無視した価格変化は右肩下がりになります。
一方で、金利分の利益が得られるため、金利込みの価格変化は右のようになるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3615616/057b8108-2002-cdc4-c2f7-32417ba77919.png)

この理論を踏まえると、勝ち/負けのパターンはこんな感じです。
* 勝ちパターン: 金利 > 下落幅
* 負けパターン: 金利 < 下落幅 / 金利の取り損ね

あとは簡単ですね、金利によるスパイクを挟むだけです。これが基本アイデアになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3615616/42d9f253-fddf-0910-dddc-227fdf3a8eff.png)

## 実運用時に発生した問題
概ね想定通りに動いたものの、いくつか考慮すべき問題が発生しました。

* 金利受け渡しのタイミングが広い範囲で動く(金利の取り損ねが発生)
    * メイン利用の取引所ではひどい時に50-100ミリ秒程度の遅延発生
        * ポジション保有時間10ミリ秒程度に対し、範囲が広すぎる
    * 注文が混みあうと、遅延が大きくなる印象
        * 金利-3%など、加熱している時ほど遅延しやすく、金利を逃すと損失が大きい
* 規則的に取引しているとフロントランニングされる
    * 主にBuyのタイミングを狙われるため、簡単なランダム化で対処
    * 同業者なのか取引所なのか？

特に、遅延でタイミングがずれて、金利が取れないパターンが致命的でした(下図)。
金利-2%、レバx20倍で、金利以上に価格が下がるパターンを引くと-50%のような大きな損失が発生します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3615616/69801bfb-5170-c66d-ab67-1b349498310f.png)

## Bot特性の考察
**良い点**
* ポジションの保持時間が短いため、ハイレバが可能(資金効率が良い)
    * 基本20倍レバでの運用で精算は発生せず(※取引所次第では危険です)
* 閑散期に運用できる
    * 草パンプはBTCが静かなで暇な時によく起こる傾向あり？
* ハイレバで草パンプに乗れて楽しい！！
    * お祭りに乗るのは楽しいですね、脳が溶けます

**悪い点**
* 安定性に欠ける
    * 金利を取り損ねた際の損失が非常に大きい
* 取引所仕様への依存が大きく、手放しで運用できない
    * 取引所の仕様にパラメータをチューニングするゲームになる
    * 利用していた取引所の一つが、運用中に金利受け渡し時のルールを変更
        * 途中までノーリスクで勝てていたので、残念でした

利益を増やすには、ポジションの保有時間を極小時間にしながら、その範囲内で金利を受け取る工夫が必要です。しかし、「保有時間の短さ」と「金利の受け取り確率」は両立できないため、リスクを負った分だけ利益が手に入る仕組みになっています。

運用の手間がかかること、ドローダウンが大きい事、草パンプが少なくなったことなどを考慮して、現在は運用していません。

## 取引所のオーダー処理に関する考察(追記)
ポジションの保有時間を無限に小さくできるかという話を考えるには、取引所

## まとめ
極小時間のロングポジションを保有し、マイナス金利から利益を得るBotのアイデアを紹介しました。受け渡しの遅延の発生条件を見つけることができれば、逆に安全に金利を払わずにショートを打てるBotが作れるなど、発展の余地はあると思います。皆さんのお役に立てば幸いです！

実は、今回初めてBotに関して記事を書きました。リアクションいただけるととても嬉しいです！

# おまけ
以下、金利Botの紹介とは関係ありません。興味があれば。

### 筆者について
私は情報学系の大学院生です。(本来Bot紹介など書いてる場合ではない、修論...)
機械学習含むComputer Visionが専攻で、Botと相性の良い分野であるとは言えませんが、情報学生である分だけ優位性はあると思います。
初めて暗号資産を購入してからちょうど1年ほどで、Crypto・金融データ歴は浅いです。

### botter1年目にやったこと

いくつか型を知ることが大事だと思って、とにかく色々触りました。記憶の限り時系列で並べます。

* CEX間 アビトラBot
    * 国内-海外です。トラベルルール改定のタイミングで辞めました。
    * ほとんど稼げませんでしたが、これ起因でGMOのASTR入金キャンペーンに当たりました。草
* DEX 草コインBot
    * atomic arbとandwich併用のメインBotです。
    * 数ヶ月で万ドル稼げました。今月末にチェーンが死ぬため、おそらくBotも死にます:cry:
* MEV Bot
    * Flashbotsのバンドルを使ったsandwich Botです。
    * テストネットで初版のロジックを作った後、メインネットにデプロイまで。ガス代がキツい、強豪強すぎの二重苦で断念。
* Funding Bot
    * 本記事で紹介したBotです。
    * 派生型含めて、2ヶ月で50万程度。エッジが消えたので、現在は最小ロットで環境チェックのみ。
* 鞘検知Bot
    * Bot化がめんどくさくて、検知後は手でとってます。
    * マイナーチェーンなので、月1万程度。
* HFT Bot
    * 一ヶ月以上かけて研究しましたが、有効な指標が見つからずに断念しました。余裕があるタイミングで再度参入したいです。
* MLスイングBot
    * [ABCD-Forecast](https://www.jstage.jst.go.jp/article/pjsai/JSAI2023/0/JSAI2023_3Xin409/_pdf)のBotです。バックテストで良さげな結果が出てるので、テスト運用を始めるところです。

*** 
今月末にメインBotが死んでしまうので、必死こいてBot作ります！
最後まで読んでいただき、ありがとうございました！！！