簡體   English   中英

從Interactive Brokers的API獲取多個最后價格報價

[英]Getting Multiple Last Price Quotes from Interactive Brokers's API

我對Interactive Brokers的Python API有疑問。

可以將多個資產和股票合約傳遞到reqMktData()函數並獲取最后的價格嗎? (我可以在reqMktData中設置snapshots = TRUE以獲得最后的價格。您可以假設我訂閱了相應的數據服務。)

為了正確看待事情,我正在努力做到這一點:

1)調用reqMktData,獲取多個資產的最新價格。

2)將數據輸入我的預測引擎,並做一些事情

3)轉到步驟1。

當我聯系Interactive Brokers時,他們說: “一次只能將一個合約傳遞給reqMktData(),因此在請求實時數據時沒有批量請求功能。”

顯然,解決這個問題的一種方法是做一個循環,但這太慢了。 另一種方法是通過多線程,但這是很多工作,而且我負擔不起新計算機的額外費用。 我對這兩個都不感興趣。

有什么建議么?

您只能在每個reqMktData調用中指定1個合約。 除了使用某種類型的循環之外別無選擇。 速度不應該是一個問題,因為你可以每秒最多50個請求,甚至更多的快照。

速度問題可能是你想要太多數據(> 50 / s)或者你正在使用舊版本的IB python api,請檢查connection.py中的lock.acquire ,我已經刪除了所有這些。 此外,如果沒有超過10秒的交易,IB將在發送快照之前等待交易。 用活動符號測試。

但是,您應該做的是通過將快照設置為false來請求實時流數據,並只跟蹤流中的最后價格。 您可以使用默認最小值流式傳輸最多100個代碼。 您可以使用唯一的股票代碼ID將它們分開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM