IB_insync为需要float或适当缩放的int的共享返回小整数(1=100,0=50?)



使用IB_insync API。

加载股票行情时。Domticks并收到ticks列表,美元金额似乎是正确的,但股票显示为0,1,3,6等的小整数。当它们最有可能按比例缩放100倍时。。。对于不到100股的股票来说,零是最有可能的。因为它不是浮点,所以无法缩放。有人知道为什么它会错误地返回股票号码吗?我最近确实订阅了澳大利亚证券交易所的股票,注意到股票数量回到了数千股,所以这可能是正确的。contract=股票('AAPL',"ISLAND","USD"(>contract=股市('CBA',"ASX","AUD"(

def runner(ticker):
global elements
# print(ticker.domTicks)
for i in range(100):
if i < len(ticker.domTicks):
grab = ticker.domTicks[i]
elements.append(grab)

if __name__ == "__main__":
depth = 120
time_samples = 260

ib = IB()
ib.connect('127.0.0.1', 7497, clientId=2)
list_of_exchanges = ib.reqMktDepthExchanges()
for items in list_of_exchanges:
print(items)
print(list_of_exchanges)
contract = Stock('AAPL', "ISLAND","USD")
last_bid_book = np.zeros((0,depth))
print(last_bid_book)
last_ask_book = np.zeros((0,depth))
elements = []
ticker = ib.reqMktDepth(contract)

ib.sleep(1)


ticker.updateEvent += runner

由于NBBO(国家最佳出价/最佳报价(规则仅适用于整批订单,因此通常只返回整批(而不是奇数批(和账面顶部市场数据馈送。

什么是股票中的"奇数"?

  • 奇数批次订单不会发布到交易所的买卖数据中

因此,投标/询价数据会返回一个乘数,该乘数可以在IBApi的mdSizeMultiplier字段中找到。ContractDetails类。

最新更新