TqSdk 不同合约类型的数据差异
TqSdk 不同合约类型的数据差异
2024-09-17
合约类型
根据 query_symbol_info 得知,Tqsdk 里的合约类型可能的值有:
FUTURE
期货CONT
主连COMBINE
组合INDEX
指数OPTION
期权STOCK
股票
这里常用的就是 FUTURE
和 CONT
。
通常使用 FUTURE
就可以了,但是在做一些长周期的回测时,需要考虑到主力合约变更的情况。官方文档对这个问题的描述 是使用主连合约,然后使用 quote.underlying_symbol
获取回测当时的标的合约。
在实际应用时,发现 FUTURE
和 CONT
不同合约类型,在订阅 kline
、quote
、tick
等数据时还是有一些细微区别的,在这里整理并做记录。
测试代码
以下是测试时使用的代码,测试时 CZCE.AP501
是当前主力,且持空仓 13 手。
from tqsdk import TqApi,TqAuth,TqKq
api = TqApi(account = TqKq(),auth=TqAuth("信易账户","信易密码"))
FUTURE = 'CZCE.AP501'
CONT = 'KQ.m@CZCE.AP'
print('========== quote ==========')
print(api.get_quote(FUTURE))
print(api.get_quote(CONT))
print('========== kline ==========')
print(api.get_kline_serial(FUTURE,86400).iloc[0])
print(api.get_kline_serial(CONT,86400).iloc[0])
print('========== tick ==========')
print(api.get_tick_serial(FUTURE).iloc[0])
print(api.get_tick_serial(CONT).iloc[0])
print('========== position ==========')
print(api.get_position(FUTURE))
print(api.get_position(CONT))
print('========== symbol_info ==========')
print(api.query_symbol_info(FUTURE).iloc[0])
print(api.query_symbol_info(CONT).iloc[0])
api.close()
数据差异
图片中左侧是
FUTURE
,右侧是CONT
get_quote 差异
get_kline_serial 差异
get_tick_serial 差异
get_position 差异
query_symbol_info 差异
最后更新于