无法访问 IBKR contractdetails.contract 变量

IBKR contractdetails.contract variables not accessible

我目前正在使用 IBKR api 来请求有关合约的详细信息,我对 conid 特别感兴趣,根据文档 (IBKR Api Class Contract),它是对象合约的一个属性

作为测试,我实现了一个简单的请求合同详细信息以打印出合同的全部详细信息

def contractDetails(self, reqId, ctx):
    super().contractDetails(reqId, ctx)
    print(ctx.contract)

以上代码段打印如下:

432280833,SOS,STK,,0.0,,,SMART,NYSE,USD,SOS,SOS,False,,combo:

def contractDetails(self, reqId, ctx):
    super().contractDetails(reqId, ctx)
    print(ctx.contract.symbol)

以上代码打印出搜索到的合约代码,符合预期。

SOS

def contractDetails(self, reqId, ctx):
    super().contractDetails(reqId, ctx)
    print(ctx.contract.conid)

但是上面的代码return一个attributeError:

AttributeError: 'Contract' object has no attribute 'conid'

根据我对文档的理解,该属性应该存在,并且根据初始打印输出,它的值为 432280833。

我的问题是,有人试图获取此信息并成功了吗?

你可以查看源码,看看有哪些字段和方法。

class Contract(Object):
    def __init__(self):
        self.conId = 0
        self.symbol = ""
.....

注意拼写。