実際の取引所での取引の仕組み:簡単なアルゴリズム(パート1)





/写真yuan2003 CC



高周波トレーダーは、交換プレイヤーの特別なカーストです。 彼らのほとんどは、彼らの職業の意味を単純な人間の言語で説明することに敬意を表しています。 HFTの短い謝罪を書くことにした元クォンタムであるChris Stukkioのブログを見つけました。



クリスは、社会的な文脈で職業を正当化することではありませんと言います。 それは、しばしば誤解されている人間活動の領域のいくつかの知的基盤に関するものです。 彼の投稿では、著者は取引所取引と高頻度取引が構築される基礎について話そうとし、例でトレーダーが取引の遅延を減らすことをそれほど心配している理由を説明しています。



注:証券取引所で取引するには、証券会社の口座が必要です。このリンクを使用しオンラインで開くことができます






HFT Mechanics



高頻度取引に関する真剣な議論は、基本から始めなければなりません。 HFTの基礎となるメカニズムと実践を説明します。 その中の主なオブジェクトは、証券を使用した操作の場合と同様に、オーダーブックです。 特定のメルトレーダーが、一定量のブルーサンの株式を購入したいという理由で証券取引所に入ったとします。 彼はおおよそどのくらい購入するつもりで、どのような最高価格で購入できるかを表しています。 次に、注文の変換とトランザクションの処理(マッチングエンジン)のプロセスをマスターします。 BATS、ARCA、または注文する他のプラットフォームを使用できます。

BUY(owner=Mal, max_price=20.00, quantity=100)
      
      





この段階では、メルはまだ何も販売も購入もしていません。 彼は彼の意図を全世界に単に知らせました。 システムはこの要求を受け取り、情報を(匿名で)他のすべてのトレーダーに表示します。 今度は、20ドルで会社の200株を売りたいと思っている少女トレーダーInaraが現れたとします。 また、注文の登録簿に表示されるアプリケーションを配置します。 これは次のようになります。



 SELL(owner=Inara, min_price=20.10, quantity=200) ------ BUY(owner=Mal, max_price=20.00, quantity=100)
      
      





この時点で、取引はまだ行われていません。 メルは20ドル以下で購入したい、イナラは20.10以上で販売したい。 市場は売りと買いの間に0.10ドルの差を形成しました。



タスクを複雑にしましょう。 最初の2つが頭を悩ませている間に、カイリーとリバーが市場に参入します。 20.21ドルで200株、20.10で100株を販売する新しいポジションがあるとします。



最後に、サイモンは取引所に登場し、$ 20.21の価格で250株を購入する注文を出します。 彼はイナラ、カイリー、リバーとの取引を喜んで締めくくるでしょう。 それらのすべてがその価格よりも少ないを要求しました。 システムは、誰が誰を誰に売るかを決定する2つの基本的なルールを使用します。



  1. 価格:常に最高の価格で提供されます。
  2. 時間:価格が等しい場合、勝者はアプリケーションを先に配置した人です。


そのため、最後のバイヤーが登場したとき、注文記録は次のようになりました。



 SELL(owner=Kaylee, min_price=20.21, quantity=200) <- Trades third SELL(owner=River, min_price=20.10, quantity=100) <- Trades second SELL(owner=Inara, min_price=20.10, quantity=200) <- Trades first ------ BUY(owner=Mal, max_price=20.00, quantity=100)
      
      





サイモンが250株を購入するよう注文した後、メカニズムは次のように配布します。





すべて、買い手は彼が欲した株の量を受け取りました。 レジスタは次のようになります。



 SELL(owner=Kaylee, min_price=20.21, quantity=200) SELL(owner=River, min_price=20.10, quantity=50) ------ BUY(owner=Mal, max_price=20.00, quantity=100)
      
      





カイリーは良い値段を付けたくないので、彼女の注文は未処理のままです。 これは、取引所での取引の基本的なメカニズムです。 もちろん、実際には、すべてがより複雑です。 注文の制限に加えて、詳細が表示され、他の種類の注文が表示されます。 しかし、この記事の目的のためには、これで十分です。 取引メカニズムの詳細については、 こちらこちらをご覧ください 。 しかし、覚えておいて、1冊の本だけで完全な絵が得られるわけではありません。 あるいは、取引所自体のドキュメントを調べて、特定のプラットフォームですべてがどのように機能するかについて、より完全な印象を与えることができます。



マーケットメイキング



高周波アルゴリズム取引では、主にマーケットメイキング戦略が使用されます。 最も単純な意味では、これはトレーダーがテーブルの両側で同時にプレーしていることを意味します。 彼はポジションをオープンまたはクローズせず、市場のトレンドに焦点を当てています。 代わりに、彼は購入と販売の両方の資産を同時に公開します。 あなたが株を買いたいなら、彼はあなたに20.10ドルでそれらを売るでしょう。 あなたが販売したい場合、彼はあなたから20ドルの価格でそれらを購入します。 彼が売買する間、価格差はわずかに変動します。 彼の目標と利益は同じ0.10ドルです。



もちろん、この場合でも、トレーダーには特定のリスクが伴います。 20ドルで株式を購入した後、市場がこのレベルで固定されないことを保証する人はいません。 彼が20を購入し、それらを捨てる前に資産が15に落ちた場合、1株当たり5ドルを失います。 したがって、そのようなトレーダーは利益に関するリスクのバランスを取る必要があります。 彼が売り/買いの差を低く保ちすぎると、彼はお金を失います;それが高ければ、誰も彼と取引しません。



マーケットメイキング戦略には新しいものや革新的なものは何もないことを理解する必要があります。 トレーダーが叫びやジェスチャーでポジションを開いたり閉じたりした証券取引所に関する映画を思い出してください。 これは「 ピットでの取引 」と呼ばれていました 。 この慣行は古代から2000年代前半まで一般的でしたが、その段階はドルの1/8と1/16でした。







/写真yuan2003 CC



自動取引システムは、非常に単純な理由で、このようなマーケットメーカーに取って代わりました:コスト削減。 第一に、そのような戦略は同時に少数の資産でのみ機能し、一人が数百株の頭位を保つことはできません。 第二に、時間を節約できます。 このシステムは、年間数万ドルから数十万ドルの利益を生み出すことができます。 つまり、あなたが彼女の代わりに人を置いた場合、彼は市場を正しく評価するのに十分賢く、少なくとも年収で数万ドルで働くでしょう。 データセンター内の平均的なサーバーは、年間最大5万ドルの利益で数百の戦略を管理できます。 これを人よりもはるかに速く正確に行う。



つまり、人をロボットに置き換える一般的なプロセスの特殊なケースを扱っています。



時間と注文の流れ



マーケットメーカーにとって、ゲームの本質は注文の移動(注文フロー)です。 購入と販売が調整されている限り、利益はこれに比例します。



 (# of shares traded) x (ASK PRICE - BID PRICE)
      
      





この比率の不変性は、概して、トレーダーがリスクを評価する能力のみに依存します。 理論的には、売れば売るほど利益は高くなります。 それでは、どうやってもっと売りますか?



答えは平凡です。注文記録の最上位に留まる必要があります。 これに最も直接的な方法は、最高の価格を提供することです。 トレーダーの例に戻りましょう。 顧客の先頭に立ちたいジェーンもいるとします。 彼はメルよりも良い価格を提供する必要があります。



 SELL(owner=Kaylee, min_price=20.21, quantity=200) SELL(owner=River, min_price=20.10, quantity=50) ------ BUY(owner=Jayne, max_price=20.05, quantity=100) <-     BUY(owner=Mal, max_price=20.00, quantity=100)  , ,   .
      
      





今がバランスについて考える時です。 ジェーンは1株あたり0.05ドルしか販売していないため、利益がリスクを上回ることを確認する必要があります。 予想される利益と損失の間のラインが20.05ドルに設定されているとします。 言い換えれば、この金額以上を提供することで利益を上げると信じている参加者は一人もいません。 この状況では、ジェーンが最初に来たという理由だけで、ジェーンは常に最初になります。



この例は、反応速度が非常に重要である理由を示しています。 朝のちょうど10時31分30秒に新しい情報が到着し、利益を上げるために価格を20.07に引き上げることができるとします。 おそらく、会社の株式が上がるというヒントがあるプレスリリースがあったでしょう。 この場合、MelとJaneの両方が価格を20.07に引き上げることになります。 より速くこれを行うことに成功した人は、買い手のリストをリードします。



 SELL(owner=Kaylee, min_price=20.21, quantity=200) SELL(owner=River, min_price=20.10, quantity=50) ------ BUY(owner=Mal, max_price=20.07, quantity=100) <-   10:31:30:427 BUY(owner=Jayne, max_price=20.07, quantity=100) <-   10:31:30:639,  212  .
      
      





この例では、ジェーンは212ミリ秒遅れていました。 一般的に、これは高頻度取引です。 彼は、なぜ自動システムの反応時間を短縮するためにこれほど多くの努力が払われたのかを説明します。 最初にポジションをオープンした人は、取引を締結する可能性が高くなります。



2番目の理由は、市場の動きがあることです。 多くの場合、トレーダーは注文をキャンセルします。 10:31に、価格の上昇を伝えるイベントが発生しました。 川には、価格を20.20ドルに引き上げるために、20.10ドルで売り注文をキャンセルする時間が必要です。 逆に、このイベントの後で、リベラの注文を20.10の価格で攻撃するために利益を上げる誰かがまだいるとします。 この順序をすばやく削除できる場合、川はゲーム内に残ります。 注文への攻撃が行われた場合、リバーは1株あたりわずか0.05のリスクを負うために、価格を20.15ドルまで引き上げることを余儀なくされます。



誰もが同じ価格で下落するのはなぜですか?



賢明な読者はすでに疑問に思っていたでしょう。なぜ、メルとジェーンは最高のオファー価格が20.07であることに同意したのでしょうか? おそらく、ジェーンの計算では20.075になり、メルの計算では20.071になりますか? はい、最も可能性が高いのは、両方のプレーヤーが何が最良の価格になるかについて同意しないことです。 メルとジェーンのプログラムや取引戦略が、彼らに最大1000分の1の価格を与える理由はありません。



戦略が何を伝えているかに関係なく、彼らは最良の価格で注文することはできません。 SECルール612の最小価格増分ルールは、販売または購入価格を1セント未満に設定することを明示的に禁止しています。 つまり、20.07で100株を買うのは良いことであり、20.075で100株を買うことはすでに違法です。 ちなみに、2001年までの制限は1/16ドルまたは0.0625ドルでした( モスクワ証券取引所など、他の取引プラットフォームとは異なる金融商品に対して同様の価格ステップがあります)。



5人以上の参加者がいる実際の市場では、20.06、20.05など、レジスターの最上位(最高入札価格)を下回る多数の注文が予想されます。 しかし、実際のトレーダーのほとんどは、トップの近くに積み上げられます。



彼の次の投稿で、著者は、HFTからの社会的便益と害の話題を提起し、今日の高頻度取引の何が悪いのか、そしてそれを修正する方法を伝えると約束しています。



ITI Capitalの金融および株式市場に関するその他の資料:






All Articles