跳转到内容

接收二档行情交易所

mktDepthExchanges() 接收 reqMktDepthExchanges() 返回的列表。每一行描述一个支持深度行情的交易所和证券类型组合。

def mktDepthExchanges(self, depthMktDataDescriptions):
"""接收支持二档行情的交易所列表。"""
for item in depthMktDataDescriptions:
print(
item.exchange,
item.secType,
item.listingExch,
item.serviceDataType,
item.aggGroup,
)
字段中文解释示例使用建议
exchange交易所代码。ARCA可作为筛选条件和展示字段。
secType证券类型。STK和合约对象的 secType 对照。
listingExch上市交易所。可能为空空值不代表失败,保存原值即可。
serviceDataType深度数据服务类型。DeepDeep2DeepX保留官方原值,不建议翻译后入库。
aggGroup聚合组。2147483647这个大数常表示没有普通聚合组,不要当作异常。
CONNECTED=True
EXCHANGE_ROWS=20
EXCHANGE=exchange=DTB;secType=OPT;listingExch=;serviceDataType=Deep;aggGroup=2147483647
EXCHANGE=exchange=COMEX;secType=FOP;listingExch=;serviceDataType=Deep;aggGroup=2147483647
EXCHANGE=exchange=LSEETF;secType=STK;listingExch=;serviceDataType=Deep;aggGroup=2147483647
EXCHANGE=exchange=SGX;secType=FUT;listingExch=;serviceDataType=Deep;aggGroup=2147483647
EXCHANGE=exchange=IDEALPRO;secType=CASH;listingExch=;serviceDataType=Deep;aggGroup=4
EXCHANGE=exchange=ARCA;secType=STK;listingExch=;serviceDataType=Deep;aggGroup=2147483647
字段建议
exchange作为筛选或展示字段。
secType和合约证券类型对应。
listingExch原样保存,允许为空。
serviceDataType保留原始值,不要自行翻译入库。
aggGroup原样保存,用于排查 SMART 深度相关问题。

这张列表可以缓存,但不要把它当成账户权限清单。账户权限必须通过实际行情订阅和错误码判断。

mktDepthExchanges() 只返回“有哪些深度行情来源”。真正的盘口更新在后续 reqMktDepth() 成功后进入:

def updateMktDepth(self, reqId, position, operation, side, price, size):
"""接收不带做市商/交易所标识的盘口更新。"""
pass
def updateMktDepthL2(self, reqId, position, marketMaker, operation, side, price, size, isSmartDepth):
"""接收带做市商或交易所标识的二档盘口更新。"""
pass

如果交易所列表有返回,但这两个盘口回调都是 0,同时收到 2152,说明问题在深度行情许可,而不是 reqMktDepthExchanges()