交易所组成映射
一档行情请求可能通过 tickReqParams() 返回 bboExchange。这个字段用于后续查询 SMART BBO 的交易所组成映射。
如果 bboExchange 是空字符串,说明这次请求没有给出可查询的组成交易所代码。
def tickReqParams(self, tickerId, minTick, bboExchange, snapshotPermissions): print("请求参数", tickerId, minTick, bboExchange, snapshotPermissions)字段含义:
| 字段 | 中文说明 |
|---|---|
tickerId | 对应 reqMktData() 的请求编号。 |
minTick | 最小价格变动。 |
bboExchange | BBO 交易所映射代码,可能为空。 |
snapshotPermissions | 快照权限位。 |
参考边界样例
Section titled “参考边界样例”请求 AAPL 一档行情时,收到:
TICK_REQ_PARAMS=tickerId=97701;name=streaming;minTick=0.01;bboExchange=EMPTY;snapshotPermissions=0minTick=0.01 说明最小价格变动为 0.01 美元;bboExchange=EMPTY 说明这次请求没有可用于 reqSmartComponents() 的非空代码。
和 reqSmartComponents 的关系
Section titled “和 reqSmartComponents 的关系”正确流程是:
- 先请求一档行情。
- 在
tickReqParams()中拿到非空bboExchange。 - 再调用
reqSmartComponents(reqId, bboExchange)。 - 在
smartComponents()中接收映射。
不要猜测 bboExchange。前面已经参考样本确认,直接猜测代码可能返回:
ERROR=reqId=97302;code=321;msg=确认请求时出错。:-'V':导致- Invalid BBO exchange/security type code大多数基础行情页面并不需要交易所组成映射。只有在你要解释 SMART BBO 来源、做交易所级别归因或对行情质量做分析时,才需要继续处理 bboExchange。