【问题标题】:No security definition has been found for the request, Future Option Python未找到请求的安全定义,Future Option Python
【发布时间】:2019-11-11 04:06:39
【问题描述】:

我正在使用 Python 和 ib_insync 来使用 Interactive brokers API,我正在尝试获取未来期权合约的 Bid、Ask、AskSize 等市场数据,但是当在股票代码上转换此合约时,我得到“否已为请求找到安全定义”,即使我之前分配了此属性。

# using Future from ib_insync has the same problem
# contract = Future('ES',"20190315",'GLOBEX')

contract = Contract()
contract.symbol = "ES"
contract.secType = "FOP"
contract.exchange = "GLOBEX"
contract.currency = "USD"
contract.lastTradeDateOrContractMonth = "20190315"
contract.strike = 2900
contract.right = "C"
contract.multiplier = "50"

result =[]
result.append(contract)


ib.reqMarketDataType(3)
ib.qualifyContracts(*result)
ticker = ib.reqMktData(contract,"",False,False)
ib.sleep(3)
ticker

输出:

Error 200, reqId 26: No security definition has been found for the request, contract: Contract(secType='FOP', symbol='ES', lastTradeDateOrContractMonth='20190315', strike=2900, right='C', multiplier='50', exchange='GLOBEX', currency='USD')
Unknown contract: Contract(secType='FOP', symbol='ES', lastTradeDateOrContractMonth='20190315', strike=2900, right='C', multiplier='50', exchange='GLOBEX', currency='USD')

【问题讨论】:

    标签: python interactive-brokers ib-api


    【解决方案1】:

    如果不测试您的代码,我猜测文档中的这句话适用。

    bool IncludeExpired [get, set] 如果设置为true,合约详情 可以执行有关的请求和历史数据查询 到期的期货合约。过期期权或其他工具类型 不可用。

    link to docs

    所以,如果它只是一份期货合约,你可以这样做 contract.includeExpired = True如果你想要历史数据。

    对于 reqMarketData,显然您需要使用当前合约,对于 ES,将 201909 作为前月。请注意,您不必输入日期(15 日),除非它不明确或用于选项。

    在 github 上有一个测试列表合约的程序。 https://github.com/tradewright/ibapi-tools/blob/master/ContractInspector/readme.md

    【讨论】:

    • 谢谢你说的,我输入了一个无效的日期,正确的sectype是FUT!
    【解决方案2】:

    一旦未来期权(或股票期权)到期,其历史数据将从盈透证券的数据库中删除并且不再可用。因此,您必须为尚未到期的期货期权请求数据。 TWS API Historical Data Limitations(对于 TWS 图表也是如此,而不仅仅是 TWS API)。

    布尔值“IncludeExpired”仅适用于期货合约,不适用于期货期权。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-03
      • 2013-12-31
      • 2016-11-08
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2020-01-19
      相关资源
      最近更新 更多