qmt编程之获取期货数据
qmt更加详细的教程方法,会持续慢慢梳理。
也可找寻博主的历史文章,搜索关键词查看解决方案 !
感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系!
获取历史主力合约
原生python
提示
- 获取该数据前,需要通过
download_history_data
接口下载数据,下载时period
参数需指定为historymaincontract
- 该数据通过get_market_data_ex函数进行获取
- 该数据为VIP数据
python
period = "historymaincontract" # 通过指定period参数 从gmd_ex接口获取历史主力合约信息
symbol = "IF00.IF" # 示例合约
xtdata.get_market_data_ex([], [symbol], period=period, start_time='', end_time='', count=-1,dividend_type='none', fill_data=False)
参数
- period参数需填写为
"historymaincontract"
- stock_list里的合约需为主力连续合约,如
IF00.IF
其余参数与get_market_data_ex
一致
返回值
dict
类型数据,其中:
- key为symbol
- values为pandas.DataFrame
- values.index为自增行,columns为[time,合约在交易所的代码]
示例
python
from xtquant import xtdatasymbol = 'IF00.IF' # 合约需要是主连合约
period = "historymaincontract" # period需指定为 "historymaincontract"
# 下载历史主力合约
xtdata.download_history_data(symbol, period, '', '') # 获取之前需要先下载到本地his_main_contract = xtdata.get_market_data_ex([],[symbol],period) # 获取数据查看print(his_main_contract)
返回值
{'IF00.IF': time 合约在交易所的代码0 1366128000000 IF13041 1366300800000 IF13052 1368633600000 IF13063 1371657600000 IF13074 1374163200000 IF1308.. ... ...130 1694966400000 IF2310131 1697731200000 IF2311132 1700064000000 IF2312133 1702828800000 IF2401134 1705593600000 IF2402[135 rows x 2 columns]}