この記事では,カナダ通貨の取引アルゴリズムの設計と実装について議論します.特に,実行アルゴリズム,マーケットメーカーアルゴリズム,いくつかの市場マイクロ構造の考慮事項に焦点を当てます.また,特に仮想通貨市場の特徴に対処する際に,理論からの実践の偏差も研究しました.
実行アルゴリズムの目的は,ポートフォリオの状態を異なる状態に変換し,コストを最小限に抑えることである.例えば,BTCUSD露出率を1000%増加させたい場合は,すぐに市場オーダーをBitMEX取引チャンネルに入力したくないかもしれません.その結果,多数のスライディングポイントが生じる可能性があります.逆に,複数の異なる取引所の市場と制限オーダー組み合わせを通じてゆっくりと望むポジションを獲得することを検討することができます.
実行アルゴリズムは通常,3つのレイヤーがあります.マイクロトレーダー,マイクロトレーダー,スマートルーター.
マクロトレーダー層は,初期オーダーや親オーダーを時間跨りの小規模なオーダーに分割する.実際には,それはアルゴリズム全体のスケジューリング部分である.VWAP,TWAP,POVはマクロトレーダーアルゴリズムの一般的なシンプルな例である.一般的に,複雑なマクロトレーダー層を設計するために使用できるさまざまな市場影響モデルがあります.市場影響モデルの設計は,実行に対する市場の反応に焦点を当てています.市場が実施後も変わらないのでしょうか?それともさらに進むのでしょうか?それともある程度戻ってくるのでしょうか?最も画期的な2つの市場影響モデルは,アルグレン・クリス (1999,2000) 恒久市場影響モデルとオビジュ・ワング (2013) 臨時市場影響モデルです.このことをベースに,実際は市場が恒久的な影響がないので,オビザエバ・ワングはより現実的に見えます.それ以降,その欠陥を解決するための多くの新しいモデルがあります.
拡張読書: アルゴリズム取引の実施後,市場の影響力は衰え始めます.https://arxiv.org/pdf/1412.2152.pdf.
マイクロトレーダー層は,各サブオーダーをマーケットオーダーまたはリーミットオーダーとして実行するかどうかを決定し,リーミットオーダーである場合,どの価格を指定すべきかを決定する.マイクロトレーダーデザインに関する文献はほとんどない.サブオーダーのサイズは通常,市場全体の小さな部分であるため,それをどのように実装するかは重要ではない.しかし,デジタル通貨市場は流動性が非常に小さいため,デジタル通貨市場とは異なります.実際,通常のサイズのサブオーダーでさえ,滑り点は非常に明らかです.マイクロトレーダーのデザインは通常,時間と深さ,キューポジション,および市場のマイクロ構造の他の特徴に焦点を当てています.マーケットオーダー (遅延を無視した場合のリーミットオーダーと同じ) が実行されることを保証できますが,リーミットオーダーはそのような保証がありません.実行できない場合は,マクロトレーダーによって設定された取引計画に遅れを保ちることができます.
スマートルーター層は,異なる取引所にオーダーをどのように転送するか決定します.例えば,Kraken が60%の流動性を持ち,GDAX (Coinbase ProPrime) が特定の価格レベルで40%の流動性を持っている場合,マイクロトレーダーはそれぞれ60%と40%でKraken と GDAX 取引所にオーダーをインポートする必要があります.
現在,市場における仲介業者やマーケットメーカーは,流動性を1つの取引所から別の取引所に転送すると言えます. したがって,あなたがクラケンのオーダーの半分を実行して数秒間待つ場合,GDAXの流動性へのGDAXの流動性へのアーバーとスタットアーバーからいくつかの流動性が追加され,同様の価格で残りの作業を完了することができます. しかし,この場合でも,アーバーは,自分の利益のために追加手数料を請求し,ヘッジコストをクラケンの市場作成手数料に転送します. さらに,一部の市場参加者が発行したオーダーの数は,複数の取引所で実施したいスケールを超えており,損失が停止されると過剰スケールがキャンセルされます.
最後に,独自のローカルスマートルーターを持つのが良い.このローカルスマートルーターには,第三者のスマートルーターサービスに対する遅延の利点もあります.前者では,直接交換所にルーティングすることができますが,後者では,まず第三者のルーターサービスにメッセージを送信し,その後交換所に注文を送信する必要があります (さらに,ルーター手数料を第三者に支払う必要があります).三角形の任意の2本の足の合計は3番目の足よりも大きい.
マーケットメーキングとは,他の市場参加者に即時流動性と補償を提供することを意味します.あなたはポジティブな期待値と引き換えに在庫リスクを負います.結局,マーケットメーカーは補償を受ける理由は2つあります.まずは,市場受益者は時間優位性があり,即時性が必要です.その代わりに,流動性を促進するマーケットメーカーは,低時間優位性と忍耐を補償することができます.第二に,マーケットメーカーのPNL利益は左傾斜で,ほとんどのトレーダーは通常右傾斜の好みを持っています. 言い換えれば,マーケットメーカーは,ギャンブル市場,カジノ,保険会社,国有宝くじのギャンブル会社に似ている.彼らはしばしば小部分を獲得しますが,通常大きな部分を失うことはありません.予想外のリターンの補償として,市場メーカーは期待値に補償されます.
拡張表示: 偏差:https://en.wikipedia.org/wiki/Skewness.
高レベルの観点から見ると,リミットオーダーは他の市場におけるフリーオプションである.残りの市場には,リミットオーダーのリーミット価格で資産を購入または売却する権利はありますが,義務はありません.情報が完全に知られている市場では,誰もフリーオプションを販売しません.これは,市場全体は完全に知られている情報を持つ市場ではなく,フリーオプションを売ることは決して意味がないからです.一方,市場情報が完全に不明である場合,リスク中立なマーケットメーカーは,すべての取引が騒音であるため,これらのフリーリーミットオーダーオプションをわずかな価格差で販売することに意欲的です.明らかに,実際の市場参加者は混同されており,各参加者は知覚と知覚のユニークな程度を持っています.
マーケットメーカーのアルゴリズムを設計する際には,市場メーカ,市場参加者,その他の市場メーカーの3つの見解を考慮する必要があります.
市場メーカーの見解は,彼らの在庫によって表現される.あなたがすでに資産リスクがあまりにも高い場合,あなたはあなたのコートメントを減らすことができます,そしてその逆です.あなたは2つの異なる理由のためにこれをします.まず,会社として,あなたは一定のレベルのリスク嫌悪感を持っています (個人よりも少ないかもしれませんが,あなたの通貨のユーティリティ曲線はまだ凸です).
このユーティリティ機能の形には多くの構造 (CARA,CRRA,HARAなど) があります.第二に,市場における受動的流動性プロバイダーとして,あなたは不利な選択リスクに直面します.ポジティブな流動性受益者は,あなたが持っていないことを知っているかもしれません.またはあなたよりも賢いかもしれません.これは基本的に市場に無料オプションを売る問題です.
さらに,機械的な操作レベルでも,市場価格オーダーを持つ市場オーダーは,市場価格で価格設定の方法で価格を低下させ,より高い引換値を持つ市場オーダーは,市場価格で価格設定されます.取引の正確な瞬間に,あなたは常に間違った側にいます. さらに,市場メーカーの引換値が被動的な市場に影響を及ぼします. 言い換えれば,満たされていないオーダーブックに注文を送信する行為は,少なくとも市場をあなたから遠ざけるでしょう.
拡張読み込み:リスク回避機能:https://en.wikipedia.org/wiki/Risk_aversion.
市場受領者の見解は,オーダーフローによって表される.深さの関数としてオーダー到着のボリューム重量化頻度は,いくつかの主要な属性を持つべきである.
機能は次のとおりです.
さらに,もう1つの未知の要因は",公正な中間価格"の値である.ディープオーダーを送信しキャンセルする際には,最高の購入価格と最高の販売価格の間の中間価格が騒音価格に脆弱である.
さらに,同じオーダーブック形状の2つのケースを考慮すると,後者のオーダーブックの一番のオードは,公正な価格が前のオーダーブックの一番のオードよりも低いことを示します.別の質問は,オーダーブックの歴史が重要かどうかです.そうであれば,価格時間または取引量時間に注意を払うべきでしょうか.したがって,市場の流れの特徴を考えると,マーケットメーカーの最良の価格制限オーダーはどこに置くべきですか? もしオーダーブックの一番上の深さを締めくると,あなたの深度オーダーは多くなりますが,それらは毎回非常に少ないです.もしオーダーブックの一番下の深さを締めくると,あなたの深度オーダーは少なくなりますが,毎回たくさんあります.
これは,実際には,単一のグローバル最大値を持つ凸の最適化問題です. 考慮すべきもう一つの要因は,オーダーフローが時間を通して到着し,これは
拡張読み込み:深さに関する順序到着強度 (https://arxiv.org/pdf/1204.0148.pdf).
拡張読書:ホークス・プロセス (http://jheusser.github.io/2013/09/08/hawkes.html)
他のマーケットメーカーの見解は,他のマーケットメーカーのいくつかの情報を明らかにするオーダーブックによって表現される.オーダーブックの一番上の近くの購入価格は販売価格よりも高く,他のマーケットメーカーは購入よりも販売する意向が高いことを示唆する.これらのマーケットメーカーはすでに不均衡の備蓄の大量を持っているかもしれない,または短期的には価格が上昇するよりも下がる可能性が高いと考えている.いずれの場合でも,マーケットメーカーの場合,チャートオーダーブック偏差に応じて報価を調整することができます.
さらに,価格ジャンプが小さい場合,市場メーカーは互いに競争しているときに,この"ペニー価格ジャンプ"の振る舞いをしばしば見ることができます.市場メーカーは降伏点に達するまで価格のために互いに競争し,勝者1人だけが優先順位を取得します.勝者を決定した後,ランナーアップは通常,次のベスト・ビッドまたはビッドの前に前の価格ジャンプに戻ります.引用優先順位を失えば,第二の引用優先順位を得ることができます.これはリターン現象につながります.つまり,勝者は価格調整に戻り,ランナーアップの前に同じ梯子に戻り,二人のクライマーのゲームが再び始まります.
拡張読み:http://parasec.net/transmission/order-book-visualisation/
最後に,長期的指向の信号は,市場作りのアルゴリズムを対象にすることもできます.市場作りのアルゴリズムの目的は,もはや在庫水準を維持したり,変化しない状態を維持することではなく,それを実現するために,いくつかの長期的な目標とそれに対応する偏差を考慮することです.
速度は2つの主な理由から重要です.第一に,キャンセルする前にオーダーブック内のオーダーを閉鎖することができます.第二に,注文ブック内のオーダーが満たされる前にキャンセルすることができます. 言い換えれば,あなたは常にオーダーを満たし,キャンセルするイニシアチブを取りたいのです. 仲介アルゴリズム (アクティブ) と実行アルゴリズム (アクティブ) は前者についてより気にかけ,市場作りのアルゴリズム (受動的) は後者についてより気にかけます.
一般的に,原則として,速度から最も恩恵を受ける戦略は,最も単純な判断論理を持つものである.複雑な論理は必ず往復時間を遅らせます.これらの複雑なタイプのアルゴリズム戦略は,取引の世界におけるF1レーシングカーです.データ検証,セキュリティチェック,ハードウェア設定,レイアウト方法がすべて速度のために奪われる可能性があります.OMS,EMS,PMS (ポートフォリオ管理システム) をスキップし,GPU上の計算論理を同じ取引所のバイナリーAPIインターフェイスに直接接続します.迅速かつ危険なゲーム.
速度に敏感な戦略の別のタイプは,統計的仲介戦略と比較して,サーバーは,単一の取引所と共存するのではなく,複数の取引所で実際に位置しています.単一の取引所から最も速いデータではありませんが,価格を取得し,他の戦略よりも前に関連するデータと接続データに行動することができます.
世界最大級の証券取引所 (https://www.alexwg.org/publications/PhysRevE_82-056104.pdf)
スピードゲームでは,勝者はすべてを奪う.最も単純な例では,仲介機会がある場合,最初に仲介機会を得ることができる人は利益を得る.第2位は粉々を得,第3位は何も得られない.収入はパワー法則の方法で分配される可能性があります. (パワー法則について:https://zh.wikipedia.org/wiki/冪定律)
スピードゲームも競争です 一旦誰もが光ファイバーネットワークから マイクロ波ネットワークやレーザーネットワークにアップグレードしたら 誰もが公平な競争環境に戻り 最初からの利点は商業化されます
オーダーマッチするほとんどのエンジンは,まず価格,次に時間 (比例マッチングはあまり一般的でない代替品ですが,これらを検討することはありません) の原則に従います.より悪い価格の制限オーダーが実行される前により良い価格が実行されます.同じ価格の限定価格のオーダーでは,以前に送信されたオーダーは,後で送信されたオーダーの前に実行されます.
バイナンスでは,オーダーを最大8小数点に分割します.取引価格が0.000001である場合,0.00000001の価格は取引の1%です.取引価格が0.0001である場合,0.00000001の価格は1bps (つまり1ホップ) です.これは大きな違いです.前者の場合,大きなオーダーをスキップするには,完全なポイントが必要なので,時間の優先度がより重要です.後者の場合は,100倍安く,価格優先度がより重要です.
言い換えれば,取引優先順位を取得するために全金額の1%を支払う必要がある場合,それは相対的に大きな金額を支払うため,相対的に小さな金額で閉鎖される可能性を増やすため,価値がないかもしれません.並んで待つ方が良いかもしれません.しかし,取引優先順位を取得するために1bpsしか支払わなければ,そうすることができます.相対的に小さな限界コストを削減するので,同時に比較的多くの取引の確率を増やすからです.より小さな価格ジャンプは価格優先順位を促進し,より大きな価格ジャンプは時間優先順位を促進します.
順番の位置の値は? (続きを読む)https://moallemi.com/ciamac/papers/queue-value-2016.pdf)
オーダーブック内の取引数を減らすには,2つの方法しかありません.それらは,任意にキャンセルされるか,または閉鎖されます.減少が取引プロセスによって引き起こされる場合,他のすべての価格も,取引プロセスによって減少します.これらの取引記録をソートして,各減少が取引またはキャンセルによるかどうかをマークして,これらの取引記録をソートすることができます.
取引とは,両者が特定の価格で取引することに同意することを意味し,キャンセルとは,一方が特定の価格で購入または販売しないことを決定することを意味します.したがって,表面的には,最良のオファーでキャンセルすることは,短期的に市場価格が下がり,その後に取引価格が続くという非常に強い信号です.
一方,注文簿の価格は上昇し始めます. 唯一の可能性は,残った制限注文の数を増やすことです.
オーダーポートの増減は,市場参加者の意志を示し,短期的な価格動向の信号となります.
現在,ほとんどの価格インデックスは複数の取引所からの取引データを入手し,それらを総括して,ボリューム重量化された平均価格を得ています.特に,Tradeblockインデックスは,価格からあまりにも大きく逸脱する不活性と取引所と密接に関連している取引所重量の罰金メカニズムも増加します.それ以外に,何が改善できるでしょうか?
GDAXでは,メーカーの手数料は0ベースポイント,テイカーの手数料は30ベースポイントである.例えば,取引価格は4000ドル/BTCとして表示され,実際には売り手の販売価格が4000ドル/BTCで,買い手の購入価格が4012ドル/BTCである.この取引の"合理的な価格"は,実際の表示価格よりも4006ドル/BTCに近いものでなければならない.一方,Bittrexの25bpsの手数料はメーカーの場合もテイカーの両方に適用されるため,実際の価格は表示価格である.つまり,4000ドル/BTCの表示価格は,実際に買い手は4010ドル/BTCで購入し,売り手は3990ドル/BTCで販売している.平均価格は表示価格そのものである.
したがって,価格発見の観点から,取引記録の価格は取引所間で直接比較可能ではなく,上記の条件を考慮した価格指数の構築後に標準化されるべきである.もちろん,取引量の違いによって異なる手数料につながるいくつかの複雑な要因がある.例えば,一部の取引所は取引量の違いによってメーカーとメーカー手数料を設定し,請求する.これはまた,2つの興味深い推論を意味している.
まず,価格発見は限られている.ある意味では,メーカーとメーカーコストに関する取引所の間の不均衡も強化する.GDAXのほとんどのアカウントがメーカーとテイカー手数料の0/30ベースポイントレベルにあり,GDAXは通常BTCUSDオーダーブックにペニー差があると仮定すると,各取引のオファーで表示される価格は約
GDAXのオーダーブック
第二に,生産者と消費者の間の税関関係と同様に,製造者と受取者との間にコスト影響の点で一定の等価性があります.もし製造者に比較的高い料金をかけると,彼らは注文簿を拡大し,受取者にいくつかの手数料を転送します.もし受取者に対して比較的高い料金をかけると,製造者は注文簿を締め,メーカーによる手数料の一部を吸収します.
オーダーブックが価格のジャンプ (GDAXでよく見られるように) に圧縮され,オーダーブックがもはや締め切れないという極端なケースです. これに基づいて,追加のコストは,今,収入の損失として取引所自体に落ちます.
極端な例に加えて,どの当事者が手数料を徴収するかは重要ではなく,メーカーとメーカーの手数料の合計が重要であることを見ることができます.最後に,ラッファー・カーヴェイン税制と同様に,取引所は課税政策における収益最適化の問題に直面しています.利益収入は税制政策と同じであることを見ることができます.取引所は手数料を請求しない場合,収入を得ません.取引所は手数料の100%を請求する場合は,取引はありません,したがって収入がありません.追加の調査を通じて,総コストレベルでの交換収入はユニークな最大値を持つ凸の関数であることが明らかになります.
この用語の説明: ラッファー曲線 (https://en.wikipedia.org/wiki/Laffer_curve)
続きは...