私たちのブログでは、 世界の取引所で使用される金融情報を転送するためのプロトコルについてすでに話しました。 世界中の証券取引所で広く使用されているFIXやFASTなどのプロトコル、およびロシアの取引所RTSおよびMICEXの専門家によって作成され、後にモスクワ取引所に統合された独自のプロトコルPlaza IIおよびASTS Bridgeについてでした。
今日、マテリアルのサイクルを継続し、Nasdaq ITCHおよびOUCH交換の独自プロトコルについてお話します。
はじめに:トランザクションの両面
電子取引中に取引所で各取引を行う場合、2種類のデータが常にプロセスに関与します-着信と発信。 情報の送信には、それぞれ独自のプロトコルがあります。 今日は、たとえばNasdaqで使用される最も人気のある2つのプロトコルについて説明します。これらはプロトコルとITCHおよびOUCHです。
ITCHプロトコルは、取引所に送信された注文に関連する情報とサービスメッセージを転送するデータ転送プロトコルです。 このプロトコルを使用すると、情報の交換のみが可能となり、取引操作は行えません。
ITCHは、前世紀の90年代後半に作成されました-当時、それは最も先進的な金融データ転送プロトコルの1つでした。 それ以来、金融業界の標準としての地位を確立しています。
次に、OUCHプロトコルにより、Nasdaqトレーダーは市場での操作を実行できます。これを使用して、取引注文を発行、実行、またはキャンセルできます。 開始以来、プロトコルは繰り返し洗練され、真に強力なツールとなっています。
OUCHは1997年に作成されたため、トレーダーは取引ソフトウェアをNasdaqと迅速に統合し、高速で取引できます。 増加のために、プロトコルの柔軟性をある程度犠牲にする必要がありました。
OUCHの仕組み
OUCHプロトコルは、トレーダーと取引所の間で特定の長さのメッセージを送信します。さらに、ソフトウェアまたはハードウェアに障害が発生した場合、データを再送信する可能性があります。 同時に、クライアントからのメッセージは、受信した順序で交換エンジンによって処理されます-受信時の優先順位は厳密に尊重されます。
OUCHメッセージには配信保証がありません。そのため、再送信機能が導入されましたが、そのような保証を取得するには、SoupBinTCPやUFOなどの低レベルのプロトコルを使用できます。 数字または英数字の表現を使用するプロトコルを使用して送信されるデータには、いくつかのタイプがあります。
取引注文を作成するには、注文入力メッセージが使用されます。各注文には、毎日一意のトークンが必要です。 以下はメッセージフォーマットの例です-この場合、取引注文を入力するためのものです:
注文メッセージを入力 | ||||
---|---|---|---|---|
お名前 | オフセット | レン | 価値 | 注釈 |
種類 | 0 | 1 | 「O」 | 注文メッセージタイプ識別子を入力してください |
注文トークン | 1 | 14 | トークン | 情報はトークンとして機能しますが、各OUCHアカウントでは毎日一意である必要があります。 |
売買インジケータ | 15 | 1 | キャラクター | 「B」-発注書
「S」-受注 「T」-空売り。クライアントは、3営業日以内に売却とその後の買い戻しのために株を借りる可能性を確認します。 |
株式数 | 16 | 4 | 整数 | 売却または購入する株式の総数は、1を超え1,000,000未満でなければなりません。 |
共有する | 20 | 8 | キャラクター | 金融商品のティッカー |
価格 | 28 | 4 | 整数 | トランザクションを実行する価格。 |
ライフタイム | 32 | 4 | 整数 | 注文が自動キャンセルされるまでに「有効」でなければならない秒数。 |
トレーダーID | 36 | 4 | キャラクター | フィールドには大文字のみを含める必要があります。 注文が送信されたアカウントのトレーダーの識別子。 1つの論理OUCHアカウントを使用して、多くのトレーダーからの注文を入力できます |
ディスプレイ | 40 | 1 | キャラクター | このフィールドには、注文表示設定(表示する属性-価格、準拠する匿名-価格など)が表示されます。 |
収容人数 | 41 | 1 | キャラクター | フィールド値には4つのオプションがあります。
「A」=代理店 「P」=プリンシパル 「R」=リスクレス 「O」=その他 |
ナスダック市場間でアプリケーションを転送する機能(市場間スイープの適格性) | 42 | 1 | キャラクター | 「Y」-はい
「N」-いいえ |
最小数量 | 43 | 4 | 整数 | 売買できる最小の株式数 |
クロスリクエストタイプ | 47 | 1 | キャラクター | クロス注文の種類が説明されています(オープニングクロス、クロージングクロス、補足注文など) |
顧客タイプ | 48 | 1 | キャラクター | 注文が一般市場での実行を目的としていることを示すオプションのフィールド。 |
次のメッセージもあります。
- 注文の交換(注文メッセージの交換);
- 注文キャンセルメッセージ。
- 注文パラメーターの変更(注文メッセージの変更);
さらに、多くのシステムメッセージがあります。 それらのいくつかを次に示します。
- Nasdaqシステムのイベントに関するメッセージ(システムイベントメッセージ)-特に、取引の開始と取引日の終了に関する情報を送信します。
- メッセージの受け入れの通知-その助けを借りて、取引所取引システムによって注文が受け入れられたという事実が確認されます。
- 注文交換通知-トレーダーからの対応するメッセージへの反応。
- 注文のキャンセルの通知-同様に、トレーダーのチームへの反応
- 注文の実行の通知-注文の実行に関する情報。
- パフォーマンスエラーの通知-トランザクションを完了できなかった理由を示します。
- 注文の実行の拒否の通知-実行を拒否する理由をここに示します。
NasdaqにはFIXなどのより柔軟なプロトコルもありますが、パフォーマンスと速度の点でOUCHより優れた選択肢があります。
ITCHの仕組み
ITCHは、Nasdaqで取引されるすべての証券および金融商品のすべての価格レベルで相場および注文情報を表示します。 さらに、ITCHメッセージには、当日取引される金融商品に関する情報、株式が一時停止される取引、およびその他の重要な公式情報が含まれます。
注文キューと相場で動的な情報を送信することに加えて、ITCHには市場の始値と終値に関する情報、さらにIPOへの参加のためのアプリケーションに関するデータさえ含まれます-そのような注文には、メッセージNet Order Imbalance Indicatorが使用されます。
既存のタイプのITCHメッセージ:
- システムイベント-取引の開始、市場の閉鎖、データフィードの作業の開始と終了など。
- 株式に関する情報-金融商品の取引状況など
- データマーケットメーカー;
- IPO上の有価証券の情報。
- など
以下は、新しい注文を一般注文キューに追加することに関するメッセージの例です。
さらに、ITCHは、注文のキャンセル、変更、または交換に関するデータも送信します。
FPGAベースのトレーディングシステム専用のITCH実装があります-このデータストリームは、ニュージャージー州の専用Nasdaqデータセンターから配信されます。 この場合、クライアント接続要件は10または40ギガビットです。それ以外の場合、データフィードは提供されません。
OUCHと同様に、Nasdaq交換はITCHの代替手段(TotalView Aggregateなど)を提供しますが、他のプロトコルではこのような広範なデータを受信できません。
おわりに
ITCHおよびOUCHプロトコルは、Nasdaq-OMX市場で使用するために作成されましたが、この交換でもクライアントを接続するための他のオプションを提供します。 たとえば、市場情報(市場データ)を取得し、取引データを転送するには、FIXおよびFASTプロトコルが使用されます。 同時に、ITCHおよびOUCHプロトコルは、他の交換プラットフォームにも適用されます。たとえば、 オーストリア 、 トルコ 、 スイスの交換などです 。
次回の記事では、既存の交換技術について引き続き説明します。特に、FIXビジネスの継続であるSimple Binary Encodingプロトコルについて説明します。
PS ITinvestを使用すると、顧客はロシア語だけでなく、外国為替(CMEグループなど)への接続も整理できます。
交換技術に関するその他の資料: