程式
如何使用 python IBPy 從盈透證券獲取您的投資組合頭寸?
我正在使用 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。