Matlab

在 matlab 中聚合互動式經紀人數據

  • October 13, 2015

我正在使用 matlab 和互動式代理 API。我正在使用獲取實時數據

tickerID = ib.realtime({ct},‘233’,@(varargin)ibEventRealTimeData(varargin{:}));

其中 ib 是互動式經紀商 TWS Activex 對象的介面,ct 是合約。

我正在獲取所有事件(ticksize、tickprice 等),但我無法彙總數據/價格(例如,在 5 分鐘柱中)。我錯過了什麼?

謝謝。

這是一個帶有 Matlab 範例的純 Java 庫,用於獲取每日和每分鐘的聚合柱。它基於 IB Java API。我把它包裝成一個簡單的界面:

http://www.spreadvectors.com/wisentgenus#code

IB在請求歷史數據時有限制:

  • 在 15 秒內發出相同的歷史數據請求。
  • 在兩秒內對同一合約、交易所和報價類型發出六個或更多歷史數據請求。
  • 在任何十分鐘內不要超過 60 個歷史數據請求。

為了聚合 5 分鐘柱,您需要在ibEventRealTimeData函式中添加程式碼,以記住以前的值(可能使用globalpersistent變數)並將新數據附加到它。

如果您不需要實時資訊,您可以單次請求 5 分鐘的歷史數據。但是在這裡,IB 也以單獨的事件發送結果,您需要在回調中聚合這些結果。

作為替代方案,您可以使用連接 IB 和 Matlab 的IB-Matlab 產品,並在歷史/日內請求和實時柱線請求中為您匯總資訊。

引用自:https://quant.stackexchange.com/questions/18568