Tushare接口文档:期货合约信息表(fut_basic)
官方文档:https://tushare.pro/document/2?doc_id=135
功能描述:获取期货合约的代码、名称、乘数、交易单位、上市日期、最后交易日等关键信息
返回限量:单次请求最大返回10000行
接口权限:2000积分200次/分钟,5000积分500次/分钟
说明:
本接口需要通过交易所代码循环遍历来获取所有合约信息,无法在一次请求内完成(示例1有较为详尽的演示);
输入参数:
名称 | 类型 | 必选 | 描述 |
exchange | str | N | 交易所代码 |
fut_type | str | N | 合约类型 |
ts_code | str | N | 合约代码 |
fut_code | str | N | 标准合约代码 |
list_date | str | N | 上市开始日期 |
交易所代码取值有:CFFEX-中金所、DCE-大商所、CZCE-郑商所、SHFE-上期所、INE-上海国际能源交易中心、GFEX-广州期货交易所;
合约类型取值有:1-普通合约、2-主力与连续合约。默认取全部;
标准合约代码即为期货品种的代码,如:AG-白银、AP-鲜苹果;
输入参数中的
list_date为上市开始日期,即该日期及以后上市的合约均会获取到,与输出数据中的同名字段有差异,输出数据中的同名字段数据表示该合约上市日期(示例4有较为详尽的演示);
输出参数:
名称 | 类型 | 默认显示 | 描述 |
ts_code | str | Y | 合约代码 |
symbol | str | Y | 交易标识 |
exchange | str | Y | 交易市场 |
name | str | Y | 中文简称 |
fut_code | str | Y | 合约产品代码 |
multiplier | float | Y | 合约乘数(只适用于国债期货、指数期货) |
trade_unit | str | Y | 交易计量单位 |
per_unit | float | Y | 交易单位(每手) |
quote_unit | str | Y | 报价单位 |
quote_unit_desc | str | Y | 最小报价单位说明 |
d_mode_desc | str | Y | 交割方式说明 |
list_date | str | Y | 上市日期 |
delist_date | str | Y | 最后交易日期 |
d_month | str | Y | 交割月份 |
last_ddate | str | Y | 最后交割日 |
trade_time_desc | str | N | 交易时间说明 |
示例:
示例1:获取所有合约所有默认显示的数据
虽然所有的输入参数都不是必选的,但由于输出行数的限制,在想要获取所有合约的场景下,本文作者建议还是按照交易所代码(exchange)获取单个交易所的所有期货合约进行循环遍历。
import tushare as ts import pandas as pd pro = ts.pro_api() lst_dfs = [] exchanges = ['CFFEX', 'DCE', 'CZCE', 'SHFE', 'INE', 'GFEX'] for e in exchanges: df = pro.fut_basic(exchange=e) lst_dfs.append(df) df_all = pd.concat(lst_dfs, ignore_index=True) df_all输出结果:
ts_code symbol exchange name fut_code multiplier trade_unit per_unit quote_unit quote_unit_desc d_mode_desc list_date delist_date d_month last_ddate 0 T1906.CFX T1906 CFFEX T1906 T 10000.0 张 1.0 人民币元 0.005人民币元 实物交割 20180917 20190614 201906 20190619 1 TF1906.CFX TF1906 CFFEX TF1906 TF 10000.0 张 1.0 人民币元 0.005人民币元 实物交割 20180917 20190614 201906 20190619 2 IF1507.CFX IF1507 CFFEX IF1507 IF 300.0 张 1.0 指数点 0.2指数点 现金交割 20150518 20150717 201507 20150717 3 T1703.CFX T1703 CFFEX T1703 T 10000.0 张 1.0 人民币元 0.005人民币元 实物交割 20160614 20170310 201703 20170315 4 IM2505.CFX IM2505 CFFEX IM2505 IM 200.0 张 1.0 指数点 0.2指数点 现金交割 20250324 20250516 202505 20250516 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11114 PT2706.GFE PT2706 GFEX 粤铂2706 PT NaN 克 1000.0 人民币元/克 0.05人民币元/克 实物交割 20260615 20270615 202706 20270618 11115 SI2706.GFE SI2706 GFEX 粤工业硅2706 SI NaN 吨 5.0 人民币元/吨 5人民币元/吨 实物交割 20260615 20270615 202706 20270618 11116 LC2707.GFE LC2707 GFEX 粤碳酸锂2707 LC NaN 吨 1.0 人民币元/吨 20人民币元/吨 实物交割 20260715 20270714 202707 20270719 11117 PS2707.GFE PS2707 GFEX 粤多晶硅2707 PS NaN 吨 3.0 人民币元/吨 5人民币元/吨 实物交割 20260715 20270714 202707 20270719 11118 SI2707.GFE SI2707 GFEX 粤工业硅2707 SI NaN 吨 5.0 人民币元/吨 5人民币元/吨 实物交割 20260715 20270714 202707 20270719 11119 rows × 15 columns示例2: 筛选当前正在交易的活跃合约
本示例在示例1的基础上通过delist_date(最后交易日)大于等于当前日期的条件,筛选出尚未到期的活跃合约。
from datetime import datetime today = datetime.today().strftime('%Y%m%d') df_active = df_all[df_all['delist_date'] >= today] df_active输出结果:
ts_code symbol exchange name fut_code multiplier trade_unit per_unit quote_unit quote_unit_desc d_mode_desc list_date delist_date d_month last_ddate 48 IF2609.CFX IF2609 CFFEX IF2609 IF 300.0 张 1.0 指数点 0.2指数点 现金交割 20260119 20260918 202609 20260918 107 IF2612.CFX IF2612 CFFEX IF2612 IF 300.0 张 1.0 指数点 0.2指数点 现金交割 20260420 20261218 202612 20261218 118 TF2609.CFX TF2609 CFFEX TF2609 TF 10000.0 张 1.0 人民币元 0.005人民币元 实物交割 20251215 20260911 202609 20260916 204 TL2612.CFX TL2612 CFFEX TL2612 TL 10000.0 张 1.0 人民币元 0.01人民币元 实物交割 20260316 20261211 202612 20261216 250 IM2609.CFX IM2609 CFFEX IM2609 IM 200.0 张 1.0 指数点 0.2指数点 现金交割 20260119 20260918 202609 20260918 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11114 PT2706.GFE PT2706 GFEX 粤铂2706 PT NaN 克 1000.0 人民币元/克 0.05人民币元/克 实物交割 20260615 20270615 202706 20270618 11115 SI2706.GFE SI2706 GFEX 粤工业硅2706 SI NaN 吨 5.0 人民币元/吨 5人民币元/吨 实物交割 20260615 20270615 202706 20270618 11116 LC2707.GFE LC2707 GFEX 粤碳酸锂2707 LC NaN 吨 1.0 人民币元/吨 20人民币元/吨 实物交割 20260715 20270714 202707 20270719 11117 PS2707.GFE PS2707 GFEX 粤多晶硅2707 PS NaN 吨 3.0 人民币元/吨 5人民币元/吨 实物交割 20260715 20270714 202707 20270719 11118 SI2707.GFE SI2707 GFEX 粤工业硅2707 SI NaN 吨 5.0 人民币元/吨 5人民币元/吨 实物交割 20260715 20270714 202707 20270719 871 rows × 15 columns示例3:获取所有主力与连续合约
通过传递fut_type参数可指定合约类型,从而仅获取“普通合约”或“主力与连续合约”。
df = pro.fut_basic(fut_type='2') df.head()输出结果:
ts_code symbol exchange name fut_code multiplier trade_unit per_unit quote_unit quote_unit_desc d_mode_desc list_date delist_date d_month last_ddate 0 SS.SHF SS SHFE 不锈钢主力 SS None None None None None None None None None None 1 PG.DCE PG DCE LPG主力 PG None None None None None None None None None None 2 PGL.DCE PGL DCE LPG连续 PG None None None None None None None None None None 3 BCL.INE BCL INE 国际铜连续 BC None None None None None None None None None None 4 SH.ZCE SH CZCE 烧碱主力 SH None None None None None None None None None None示例4:获取某日以来上市的某个品种期货的合约
通过传递list_date可获取该日及以后上市的期货合约,传递fut_code(标准合约代码)可指定特定期货品种,传递fields参数可获取指定的字段。本示例演示获取截至目前(2026/07/26)自2026/01/01以来上市的所有棕榈油(品种代码为:P)的期货合约,返回所有字段(包括默认不返回的trade_time_desc(交易时间说明))。
主力与连续合约没有上市日期;
fields = 'ts_code,symbol,exchange,name,fut_code,multiplier,trade_unit,per_unit,quote_unit,quote_unit_desc,d_mode_desc,list_date,delist_date,d_month,last_ddate,trade_time_desc' df = pro.fut_basic(list_date='20260101', fut_code='P', fields=fields) df输出结果:
ts_code symbol exchange name fut_code multiplier trade_unit per_unit quote_unit quote_unit_desc d_mode_desc list_date delist_date d_month last_ddate trade_time_desc 0 P2701.DCE P2701 DCE 棕榈油2701 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260119 20270115 202701 20270120 上午9:00-11:30,下午13:30-15:00,下午21:00-23:00(夜盘) 1 P2702.DCE P2702 DCE 棕榈油2702 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260224 20270212 202702 20270226 上午9:00-11:30,下午13:30-15:00,下午21:00-23:00(夜盘) 2 P2703.DCE P2703 DCE 棕榈油2703 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260316 20270312 202703 20270317 上午9:00-11:30,下午13:30-15:00,下午21:00-23:00(夜盘) 3 P2704.DCE P2704 DCE 棕榈油2704 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260416 20270416 202704 20270421 上午9:00-11:30,下午13:30-15:00,下午21:00-23:00(夜盘) 4 P2705.DCE P2705 DCE 棕榈油2705 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260520 20270519 202705 20270524 上午9:00-11:30,下午13:30-15:00,下午21:00-23:00(夜盘) 5 P2706.DCE P2706 DCE 连棕油2706 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260615 20270615 202706 20270618 日盘交易:每周一至周五9:00~11:30,13:30~15:00;夜盘交易:前一自然日21... 6 P2707.DCE P2707 DCE 连棕油2707 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260715 20270714 202707 20270719 日盘交易:每周一至周五9:00~11:30,13:30~15:00;夜盘交易:前一自然日21...示例5:获取单个合约的基础信息
传递参数ts_code可获取单个合约的基础信息。
df = pro.fut_basic(ts_code='P2707.DCE') df输出结果:
ts_code symbol exchange name fut_code multiplier trade_unit per_unit quote_unit quote_unit_desc d_mode_desc list_date delist_date d_month last_ddate 0 P2707.DCE P2707 DCE 连棕油2707 P None 吨 10.0 人民币元/吨 1人民币元/吨 实物交割 20260715 20270714 202707 20270719说明:
本文说明
本文旨在对Tushare的期货合约信息表fut_basic数据接口进行介绍,提供更多参考示例和使用说明。
本接口用于查询期货合约基础信息的元数据。它提供了期货合约的代码、名称、乘数、交易单位、上市日期、最后交易日等关键信息,是进行期货数据分析和交易前必须了解的基础工具。本文介绍了如何获取所有合约信息,如何筛选当前正在交易的活跃合约,获取某日以来上市的某个品种期货的合约等。
本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。
