4

Interactive Brokers の API メソッドを介して金融ティック データを受信する場合、tickPriceまたはtickSizeデータには次のパラメーターが含まれます。

  • tickerId (記号)
  • フィールド (1=入札、2=アスク、4=最後、6=高値、7=安値、9=終値)
  • 価格
  • canAutoExecute

他のフィードから、ダニが私に与えることを期待します

  • tickerId (記号)
  • 入札
  • 聞く
  • 入札サイズ
  • サイズを尋ねる

したがって、私の質問は次のとおりです: tickerId をキーとして、構造体を値として上記の 5 つのプロパティを含むディクショナリを保持する必要があります。これにより、ティック イベントが発生するたびに、構造体のそれぞれのプロパティが更新され、構造体全体が次のようにデータベースに送信されます。ダニ?理想的には、私のティックデータベースは次のようになります

Date        Time            Symbol  Side    Price   Quantity
2012-10-31  13:51:13.784    AAPL    Bid     25.81   15007
2012-10-31  13:51:14.615    AAPL    Bid     25.82   10
2012-10-31  13:51:14.633    AAPL    Bid     25.81   13623
2012-10-31  13:51:14.684    AAPL    Ask     25.82   2500
2012-10-31  13:52:09.168    AAPL    Bid     25.80   12223

IB API ドキュメントから:このメソッドは、市場データが変更されたときに呼び出されます。これは、たとえば入札価格が更新された場合、他のプロパティは同じままになるということですか?

4

3 に答える 3

5

reqMktData()メソッドに何を導入するかによって異なります。

void reqMktData(       TickerId          id,
                 const Contract         &contract,
                       IBString         &genericTicks,
                       bool              snapshot,
                 const TagValueListSPtr &mktDataOptions
                       )

を記述snapshot = trueすると、データのスナップショットが ~0.2 ~ 0.5 秒ごとに受信されます。入札または価格が移動した場合は、それが表示されます。

と書くsnapshot = falseと、変動するたびに新しい変動ビッドまたはアスクを受け取ります。

于 2016-10-23T09:59:28.010 に答える
3

IB が提供するデータ フィードを検討する場合、表示フォーム/ページでデータを更新する状況を検討してください。この場合、取引所が同じ入札価格でサイズのみが異なる新しい最良入札価格を生成する場合、新しいサイズを送信するだけで意味があります (変更されていない入札価格ではありません)。さらに、IB はこれらの変更を 200 ミリ秒または 300 ミリ秒程度でバッチ処理するため、すべての変更が伝播されるわけではありません。

この文脈で見ると、メッセージのサイズと頻度を最小限に抑えるという点で、データ フィードは実際には非常に効率的です。

ほとんどの人は、代わりに、より完全なレベル 1 データ フィード (統合見積システムなど) が提供するものに精通しています。この場合、価格またはサイズが変更されるたびに、すべてのフィールドを含む完全な新しい見積もりメッセージが生成されます。

必要なデータ フィードのタイプは、特定のユース ケースによって大きく異なります。たとえば、私は非常に詳細な (たとえば、すべての引用メッセージ) 10 億レコードのデータ セットをクライアントに提供することに取り組んできましたが、クライアントがデータを 1 分間の OHLCV バーに集約していることに気づきました。

したがって、実際には、データのデータ要件を分析要件に一致させることができるかどうかが重要です。場合によっては、IB のデータが問題なく機能することもあります。それ以外の場合は、そうではありません。

于 2016-03-23T17:34:13.397 に答える