115 浏览
0
0条评论

klines = api.get_kline_serial(“KQ.m@CZCE.TA”, 24*3600),如何知道其中每根K线对应的实际合约代码,而不是笼统的KQ.m@CZCE.TA?

chaos 已回答的问题 2天 前
0

可以分为历史映射和实时映射两种情况。

历史日 K 对应的实际主力合约,可调用 `query_his_cont_quotes()` 查询,参数为主连代码 `KQ.m@CZCE.TA`,`n` 按需指定。

返回结果中,`date` 是交易日,`KQ.m@CZCE.TA` 列就是当日对应的实际合约代码,例如 `CZCE.TA2601`。将日 K 线按交易日与该表对齐,即可知道每根历史日 K 对应的实际合约。

实时运行时,可通过 `get_quote()` 获取主连代码 `KQ.m@CZCE.TA` 的行情引用。

`quote.underlying_symbol` 是当前映射的实际主力合约代码

若需要当前实际合约的实时 K 线,可将 `quote.underlying_symbol` 传给 `get_kline_serial()` 订阅;主力切换时注意检测 `underlying_symbol` 的变化后重新订阅。

因此:历史逐日映射用 `query_his_cont_quotes()`;实时映射及实时行情使用 `underlying_symbol`

chaos 编辑答案 19小时 前

有其他问题欢迎加入官方Q群748265037一起交流