我正在使用以下代码尝试在常规交易时间内拉动 SPX 的当前价格,但它给我的是昨天的收盘价。 这是利用 TWS API。
我订阅了以下市场数据:
CBOE 一个附加捆绑包(NP、L1)
美国股票和期权附加流媒体捆绑包
美国证券快照和期货价值组合(NP、L1)
### SPX Variables ###
und_symbol = 'SPX'
und_exchange = 'CBOE'
### Establishing the specific contract to get options ###
idx_con = Index(und_symbol, und_exchange)
ib.qualifyContracts(idx_con)
### Select market data type: 1 = Live 2 = Frozen 3 = Delayed 4 = Delayed frozen
ib.reqMarketDataType(1)
### Then get the ticker. Requesting a ticker can take up to 11 seconds.
[ticker] = ib.reqTickers(idx_con)
### Take the current market value of the ticker:
current_price = ticker.marketPrice()
print(current_price)
问题解决了。 切换到 IB 网关 API,而不是使用 TWS API。