You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IB Python API获取德国股票历史数据权限报错问题咨询

报错原因

你当前使用的SMART智能路由机制会自动将行情请求转发到对应股票流动性最优的交易场所,你报错中提到的BATEDE、CHIXDE等都是德国地区的另类交易系统,你仅订阅了Xetra/法兰克福交易所的权限,请求被路由到未订阅的交易场所就会触发权限不足的提示,和股票本身是否在你订阅的交易所上市无关。

解决方案

你需要主动指定你已经订阅权限的交易场所,不要使用SMART路由,对应配置规则如下:

  • 若你订阅的是Xetra板块的行情:contract.exchange字段填写IBIS(Interactive Brokers对Xetra的内部标识)
  • 若你订阅的是法兰克福证券交易所主板的行情:contract.exchange字段填写FWB

除了交易所配置之外,你原有代码还存在几处错误需要同步修正:

  • contract.symbol = "DAI缺少闭合引号,修改为contract.symbol = "DAI"
  • reqHistoricalData方法中传入的第二个参数是未定义的fx,需要替换为你定义的contract对象
  • 可以删除contract.primaryExchange = "SMART"这行冗余配置
修正后的核心代码片段
def start(self):
    queryTime = ""

    contract = Contract()
    contract.symbol = "DAI"
    contract.secType = 'STK'
    contract.exchange = 'IBIS' # 若使用法兰克福主板行情则替换为FWB
    contract.currency = "EUR"

    app.reqHistoricalData(1, contract, queryTime, "1 D", "1 min", "MIDPOINT", 0, 1, True, [])

内容的提问来源于stack exchange,提问作者micastik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:36:02