Matlab
在 matlab 中聚合互動式經紀人數據
我正在使用 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
函式中添加程式碼,以記住以前的值(可能使用global
或persistent
變數)並將新數據附加到它。如果您不需要實時資訊,您可以單次請求 5 分鐘的歷史數據。但是在這裡,IB 也以單獨的事件發送結果,您需要在回調中聚合這些結果。
作為替代方案,您可以使用連接 IB 和 Matlab 的IB-Matlab 產品,並在歷史/日內請求和實時柱線請求中為您匯總資訊。