迅投xtquant获取当前全部的期货主力合约
官方文档请参考:https://dict.thinktrader.net/dictionary/future.html?id=S7b19l#%E8%8E%B7%E5%8F%96%E5%90%88%E7%BA%A6%E5%9F%BA%E7%A1%80%E4%BF%A1%E6%81%AF
- 获取全部连续合约:
xtdata.get_stock_list_in_sector('连续合约') - 获取当前主力合约:
xtdata.get_main_contract("'AP00.ZF'"),其中AP00.ZF是苹果期货合约 - 获取合约信息:
xtdata.get_instrument_detail("'AP601.ZF'"),获取苹果2601合约的信息
这里迅投的后缀是.ZF,交易所代码与迅投代码的转换关系如下:

参考:https://dict.thinktrader.net/dictionary/future.html?id=S7b19l#%E5%B8%82%E5%9C%BA%E7%AE%80%E7%A7%B0%E4%BB%A3%E7%A0%81
示例代码
from xtquant import xtdata
from tqdm import tqdm
import pandas as pd# xtdata.download_sector_data() # 下载板块分类信息
all_contract_info = []
all_sector_name = xtdata.get_stock_list_in_sector('连续合约') # 获取全部连续合约
for _sector_name in tqdm(all_sector_name):_main_contract = xtdata.get_main_contract(_sector_name) # 获取当前主力合约_contract_info = xtdata.get_instrument_detail(_main_contract) # 获取主力合约的全部信息all_contract_info.append(_contract_info)print(f"获取连续合约 {_sector_name} 对应的主力合约 {_main_contract} 合约名称:{_contract_info['InstrumentName']}")contract_info_df = pd.DataFrame(all_contract_info) # 全部的主力合约信息
