程式

如何使用 python IBPy 從盈透證券獲取您的投資組合頭寸?

  • May 3, 2020

我正在使用 IBPy 來獲取我的投資組合的位置。我明白我可以做到:

from ib.opt import ibConnection
tws = ibConnection( host = 'localhost',port= 7496, clientId = 123)
tws.reqAccountUpdates(True,'accountnumber')

然後我應該以updatePortfolio()某種方式使用,但我不知道如何。

當您呼叫 reqAccountUpdates 後有賬戶更新時,IB API 會非同步呼叫您的程式碼。但是您必須提供一個回調函式(處理程序)供 IB API 呼叫。

看起來像 [ibPy 文件範例] ( <https://code.google.com/p/ibpy/wiki/IbPyOptional> ) 以及Java IB API 的定義方式,您想呼叫

tws.register(your_update_portfolio_handler,message.updatePortfolio)

其中 your_update_handler 是您定義的用於處理帳戶更新的函式。

您可能需要查看 ibPy 程式碼以確認“updatePortfolio”確實應該傳遞給 tws.register。

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