情報サービス、ロボット、取引ソフトウェア:金融の世界でのAPIの適用





現代の取引所のほとんどのアプリケーションは、人ではなく、特定のアルゴリズムに従って動作する特別に作成された取引ロボットによって生成されます。 同時に、多くのトレーダーや投資家は、特別な取引プログラムを使用して、依然として取引所での操作を手動で実行しています。



選択した交換方法に関係なく、APIテクノロジーは非常に役立ちます。 今日は、オープンインターフェイスが金融でどのように使用されるかについてお話します。



ブローカーAPI:ロボットと取引アプリケーション



トレーディングロボットを作成する方法はかなりあります。たとえば、 SmartXおよびその組み込みスクリプト言語Tradescriptの場合のように、トレーディングターミナルで直接プログラミングできる場合があります







SmartXターミナルでTradescriptを使用して単純なロボットをプログラミングする



場合によっては、取引システムが取引端末に接続されています。たとえば、Excelはこれらの目的に使用できます。



ただし、ロボットをブローカーのサーバーに直接接続し、クライアントインターフェイスをバイパスすることで、ロボットは取引データ(マーケットデータ)とアカウントステータスを迅速に受信し、このデータをより高速に処理し、それらに基づいて売買注文を生成し、実行を監視することができます。 このスキームでは、取引速度はロボット自体と通信チャネルの速度のみに依存します。 それが証券会社が取引システムのAPIを作成する理由です。



ITinvestトレーディングインフラストラクチャに接続するためのインターフェイスは、コンポーネントオブジェクトモデル(COM)を使用して作成されました。つまり、C ++およびDelphiからこの技術をサポートするプラットフォームで開発されたロボットをMS ExcelからトレーディングサーバーへのVisual Basic for Applicationに接続できます。



最近、 APIの新しいバージョン (SmartCOM 4.0)がリリースされました。これはMatriXと呼ばれるトレーディングシステムで動作します (IBM Data Powerテクノロジーを使用して作成しました)。



仲介システムAPIは、プライベートトレーダーによる取引ロボットの作成だけでなく、特定のブローカーのクライアントを犠牲にしてユーザーベースを拡大したい取引ソフトウェア開発者にも使用できます。 SmartCOMを介してトレーディングシステムに接続できるトレーディングアプリケーションの短いリストを以下に示します。





利用可能なAPI関数のより完全なリストは、 ここにあります



速度が最初に来るとき:取引所への直接アクセス



多くのトレーダーにとって、すべてが一瞬のうちに取引所で決定されるとき、「ユーザー-仲介システム-取引所コア」スキームの作業は誰にとっても適切ではありません。 そのため、このチェーンを可能な限り最適化できるテクノロジーが登場しました- 取引所への直接アクセス (ダイレクトマーケットアクセス、DMA)。



この接続方法では、アプリケーションはブローカーの取引システムをバイパスして、取引所取引システムに直接配置されます。 これにより、交換機へのアプリケーションの配信時間とその状態に関する情報の取得時間を大幅に短縮できます。



一般に、直接アクセス方式は次のとおりです。取引ロボットを備えたサーバーは、為替取引システムのコアにできるだけ近い場所にある中間サーバーに接続されます。 このサーバーには、ゲートウェイと呼ばれる特別なソフトウェアがインストールされています。ゲートウェイは、注文と市場情報を取引システムに直接転送するために使用されます。 同時に、さまざまなプロトコルと接続方法を使用して、操作を実行し、データを受信します。



プロトコルFIX(Financial Information eXchange)は、リアルタイムで取引所の取引参加者間でデータを交換するための世界標準となった金融情報交換プロトコルです。 モスクワ取引所を含む世界最大の証券取引所によってサポートされています。







FIXプロトコルメッセージフロー図。 画像: ウィキメディア



市場情報(市場データ)を取得するために、 FASTプロトコル(Fix Adapted for STreaming)が使用されます。これは、FIXプロトコルの作成者が開発した標準であり、重要なデータ圧縮機能により、最小限の時間遅延で大量の市場情報を転送できます。 モスクワ取引所に加えて、NYSE、Nasdaq-OMX、および他の多くの世界のサイトで使用されています。



ネイティブプロトコルは直接接続にも使用されます。 これらのプロトコルは、MICEXとRTSの交換がモスクワ取引所に統合される前から発生していました。 そのため、RTS交換に関連する市場では、Plaza IIプロトコルを使用して操作を直接実行し、接続モードでデータを取得します。



トレーディング操作を実行し、以前にMICEX取引所(通貨および株式市場)で参照されたサイトで取引所データを取得するために、MICEXBridge(TEAP)双方向ゲートウェイが使用されます。



トレーディングプロセスのこの編成により、トレーダーは時間の大幅な増加を期待できます。 たとえば、モスクワ取引所の株式市場と通貨市場に直接接続すると、アプリケーションの処理時間は0.5ミリ秒に短縮されますが、FORTS市場では2ミリ秒を超えません。 仲介システムを使用する場合、仲介システム、市場のタイプ、および接続方法に応じて、アプリケーションは5〜10ミリ秒から150〜500ミリ秒の期間内に処理されます。 すなわち 仲介システムを介して、アプリケーションは直接接続よりも10〜100倍遅く処理されます(ただし、この速度はほとんどの商人に非常に適しています)。



詳細については、一連の記事で金融データ転送プロトコルを調べました。





仲介システムAPIを介した取引へのアクセスと比較すると、直接接続は高速であるだけでなく、より高価です。 最初のケースでユーザーがソフトウェアのコストとブローカーのコミッションのみを負担する場合、2番目のケースでは追加のコストがあります-これについての詳細はここで見つけることができます



結論:情報のみが必要な場合



特別なソフトウェアまたはロボットを介した取引所での取引に加えて、APIを使用して情報サービスを作成し、実際のお金を失うリスクなしに金融プログラムをデバッグできます(このため、ブローカーのデモアカウントを使用することできます )。



外国為替のためのそのようなAPIのリストはここにあります 。 ロシアでは、モスクワ取引所は、取引データをブロードキャストするためのさまざまなオプションのサブスクリプション販売しています。 他の方法の中には、本格的な情報APIがあります



All Articles