前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。
今回は「高頻度取引のロジック」を基本戦略30種類と応用例15種類に分けてまとめました。
今後のbot開発の備忘録として残しておきます。
※注意※
これらのロジックは私が自分自身で学んだことを元に考えたり、それらを元にAIに組み合わせ案を提案させたりしたものです。また、この記事の内容は読者に投資や金融資本の運用等を推奨するものではなく、あくまで著者自身の勉強の記録です。実際に使えるロジックがどうかは未検証ですので、実施とその結果については自己責任でお願いします。
高頻度Botのロジック、ネタ出しに疲れたのでAIにも書かせている。「ダークプール活用」とかヤベー案も紛れていて笑えない。 pic.twitter.com/8y65WCpeaj
— よだか(夜鷹/yodaka) (@yodakablog) April 29, 2024
基本的な戦略例
- 注文書き込みのアービトラージ
同一銘柄の異なる取引所間で生じる価格差を利用する - スタットスタティック・アービトラージ
価格が理論価値から乖離した際に、収束するまで売買する - マーケットメイキング
買い気配と売り気配の間の狭いスプレッドで売買を行う - 時間面の価格変動を捉える
一定時間における価格変動のパターンを捉え、売買するタイミングを見計らう - 逆張り売買
トレンドの転換点を見計らい、売買のタイミングを捉える - ニュース対応の売買
重要ニュースが発表された際の短期的な価格変動に対応する - オーダーフロー売買
売り買い注文の流れから価格変動を予測し、売買する - ペアトレーディング
相関の高い2銘柄間の価格差からエントリーチャンスを見つける - 高周波取引
最小の価格変動をとらえ、大量の注文発注でわずかな利益を積み重ねる - マルチアセット最適化
ポートフォリオ全体のリスク許容度に応じて、複数の銘柄を組み合わせて売買する - ボリューム・ウェイト平均価格の追跡
約定量で重み付けした平均価格の動きに注目し、売買する - オーダーブック形状からの売買
板の売り買い注文の積み上がり方から需給を予測し、売買する - 時間ウェイトによる売買
特定の時間帯における価格の変動パターンを捉え、売買する - イベント発生時の売買
重要な経済指標の発表時など、イベントによる価格変動に賭ける - インテリジェンス・クロス
マーケットメイカー同士のイキ酔いを検知し、アービトラージする - サーキットブレーカー狙い
値幅制限の上限・下限に張り付いた際の価格反転を狙う - ボラティリティ売買
変動の大きい銘柄を短期的に売買し、スプレッドを狙う - スケーリング売買
注文を分割し、順次発注・約定させることで売買する - オプション取引と連動した売買
オプション取引と現物の連動性に着目した売買 - ディープラーニングによる売買シグナル発見
過去のデータからディープラーニングで売買パターンを発見し活用する - フロントランニング
大口注文の動きを先読みし、先に売買する - レイトレーディング
価格の反発・反転の遅れを捉え、売買する - オーダーフロー・トキシシティ(toxicity)の回避
大口の売買注文による一時的な価格の歪みの影響を避ける - クォンツ・シグナル追従
自身で開発したクォンツモデルの売買シグナルに従う - マーケットインパクトコスト最小化
発注時の価格への影響を最小化する方法で売買する - 高速実行アルゴリズム
最速の注文執行アルゴリズムにより、スリッページを低減 - ストリーミング分析
リアルタイムのビッグデータ解析結果から売買する - ノイズ traders 対決
高頻度ノイズトレーダー同士の取り引きを上手く処理する - 調整ポジション
低ポジションリスクの銘柄で調整ポジションを構築する - ガンジーアービトラージ
違う種類の金融商品間の無裁定機会を捉える
MM同士のイキ酔い
マーケットメイカーとは、買い注文と売り注文の両方を出して、売買スプレッド(買値と売値の差)から利益を得る業者のこと。
通常、マーケットメイカーは適正なスプレッドを維持しようとしますが、時として熱くなり過ぎて、無駄に買値や売値を改訂し合う「イキ酔い」状態に陥ることがある。
この「イキ酔い」状態になると、マーケットメイカー同士の買値と売値の間に一時的に大きな価格ギャップが生じる可能性がある。
このギャップを高頻度で検知し、安値で買って高値で売る、というアービトラージの機会が生まれる。つまり、マーケットメイカー同士のイキ酔いによる一時的な無裁定の状態を高速な売買で利益に転化することができる。
ただし、このようなイキ酔いの機会は一時的なものなので、瞬時に検知して売買できるシステムが必要。高頻度取引の技術が不可欠。
ロジックの組み合わせや応用
- マーケットメイキングの最適化
スプレッド収益とポジションリスクのトレードオフを最適化する - 注文戦略の組み合わせ
アグレッシブ注文とパッシブ注文を組み合わせて最適化する - クロスアセット最適化
株式、債券、為替、商品など複数の資産間で最適化する - ポートフォリオ執行
大口の注文を最適な方法で分割執行する - インターナルクロス
同一取引所内での自己クロス取引を活用する - オークション取引の活用
オープニングオークション、クロージングオークションの価格形成を利用 - マイクロストラクチャー分析
オーダーブックのマイクロな動きから売買シグナルを捉える - ハイブリッドモデル
定量的モデルと定性的人的判断を組み合わせる - 最適ポジショニング
リスク許容度に応じて最適なポジションサイズを維持する - ガンジーポートフォリオ構築
金融商品間の無裁定機会をポートフォリオに組み込む - 最適スケジューリング
売買のタイミングをスケジュール最適化する - ダークプール活用
ダークプールの流動性を利用した売買を行う - マルチスプレッド
複数のスプレッドを同時に最適化して売買する - 取引所間アービトラージ
同一通貨ペアの取引所間の価格差を利用する - マーケットデータ解析の高度化
オルタナティブデータ等を活用した高度な解析
まとめ
今後はこれらを一つずつ試しながら、今後の仮想通貨Bot開発を進めていきます。
全ての戦略が仮想通貨Botとして機能するかは分かりませんが、ひとまずやれることをやっていきます。
また、リスクが極端に高い戦略や法律面でこれどうなの?と疑問が残る戦略もあるため、各方面での調査もしながらそれぞれのロジックを実装していこうと思います。
素人の私が開発を進める際に足掛かりにしているのは、「良質なインプットを増やすこと」と「行動化につながるインプットをすること」と「作業に集中できる時間を作ること」です。
今後もこの調子で開発を進めていきます。