Python 3.x 如何使用Python通过IBAPI从TWS导入基础数据
我想使用Eclient类的reqFundamentalData()方法从TWS请求股票基础数据(如财务报表),但未成功 我是IBAPI新手,一直在尝试使用Python从TWS导入股票基础数据。我确信连接成功,因为我可以从应用程序请求合同详细信息。但是不知何故,reqfundamentaldata()方法就是不起作用Python 3.x 如何使用Python通过IBAPI从TWS导入基础数据,python-3.x,Python 3.x,我想使用Eclient类的reqFundamentalData()方法从TWS请求股票基础数据(如财务报表),但未成功 我是IBAPI新手,一直在尝试使用Python从TWS导入股票基础数据。我确信连接成功,因为我可以从应用程序请求合同详细信息。但是不知何故,reqfundamentaldata()方法就是不起作用 from ibapi.client import EClient from ibapi.wrapper import EWrapper class MyWrapper(EWrap
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
class MyWrapper(EWrapper):
def nextValidId(self, orderId:int):
print("setting nextValidOrderId: %d", orderId)
self.nextValidOrderId = orderId
# start program here or use threading
app.reqContractDetails(4444, contract)
app.reqFundamentalData(4444, contract, "ReportsFinSummary", [])
def contractDetails(self, reqId, contractDetails):
print(reqId, contractDetails.contract)# my version doesnt use summary
def contractDetailsEnd(self, reqId):
print("ContractDetailsEnd. ", reqId)
# this is the logical end of your program
app.disconnect()
def error(self, reqId, errorCode, errorString):
print("Error. Id: " , reqId, " Code: " , errorCode , " Msg: " ,
errorString)
wrapper = MyWrapper()
app = EClient(wrapper)
app.connect("127.0.0.1", 7496, clientId=123)
print("serverVersion:%s connectionTime:%s" % (app.serverVersion(),
app.twsConnectionTime()))
from ibapi.contract import Contract
contract = Contract()
contract.symbol = "IBKR"
contract.secType = "STK"
contract.currency = "USD"
contract.exchange = "ISLAND"
app.run()
结果:
服务器版本:148连接时间:b'20190203 09:03:21 HKT'
正在设置nextValidOrderId:%d 1
错误。Id:-1代码:2104消息:市场数据场连接正常:usfarm.nj
错误。Id:-1代码:2104消息:市场数据场连接正常:hfarm
错误。Id:-1代码:2104消息:市场数据场连接正常:usfarm
错误。Id:-1代码:2106消息:HMDS数据场连接正常:hkhmds
错误。Id:-1代码:2106消息:HMDS数据场连接正常:fundfarm
错误。Id:-1代码:2106消息:HMDS数据场连接正常:ushmds
444443645865,IBKR,STK,,0.0,,,岛,IEX,美元,IBKR,IBKR,假,组合:
合同细节发送。4444
进程已完成,退出代码为0