# 期货行情数据说明
可获取期货合约的日行情、分钟行情、tick 行情数据,具体调用方式请参考 API-get_price.
# 连续合约
需要注意,由于期货合约存续的特殊性,针对每一品种的期货合约,系统中都增加了主力、次主力连续合约以及指数连续合约两个人工合成的合约来满足使用需求。
主力连续合约:合约首次上市时,以当日收盘同品种持仓量最大者作为从第二个交易日开始的主力合约。当同品种其他合约持仓量在收盘后超过当前主力合约 1.1 倍时,从第二个交易日开始进行主力合约的切换。
日内不会进行主力合约的切换。主力连续合约是由该品种期货不同时期主力合约接续而成,代码以 88、888、889 结尾。- 例如 IF88、IF888、IF889:
- IF88 为合约量价数据的简单拼接,未做平滑处理
- IF888 为对价格进行了"前复权平滑"处理,处理规则如下:以主力合约切换前一天(T-1 日)新、旧两个主力合约收盘价做差,之后将 T-1 日及以前的主力连续合约的所有价格水平整体加上或减去该价差,以"整体抬升"或"整体下降"主力合约的价格水平,成交量、持仓量均不作调整,成交额统一设置为 0.
- IF889 为对价格进行“后复权平滑”处理,处理规则如下:以主力合约切换当天(T 日)旧、新两个主力合约开盘价做差, 之后将 T 日及以后的主力连续合约的所有价格水平整体加上或减去该价差,成交量、持仓量均不作调整,成交额统一设置为 0
- 例如 IF88、IF888、IF889:
次主力连续合约:比当前主力合约远月,未做过主力合约,也未做过次主力的合约中以累计持仓量最大者作为次主力连续合约,代码以 88A2 结尾,例如 AU88A2。
指数连续合约:由当前品种全部可交易合约以累计持仓量为权重加权平均得到,代码以 99 结尾,例如 IF99。
# futures.get_dominant - 获取主力合约列表
futures.get_dominant(underlying_symbol, start_date=None, end_date=None,rule=0)
获取某一期货品种一段时间的主力合约列表。合约首次上市时,以当日收盘同品种持仓量最大者作为从第二个交易日开始的主力合约。当同品种其他合约持仓量在收盘后超过当前主力合约 1.1 倍时,从第二个交易日开始进行主力合约的切换。日内不会进行主力合约的切换。
# 参数
参数 | 类型 | 说明 |
---|---|---|
underlying_symbol | str | 期货合约品种,例如沪深 300 股指期货为'IF' |
start_date | str, datetime.date, datetime.datetime, pandasTimestamp | 开始日期,默认为期货品种最早上市日期后一交易日 |
end_date | str, datetime.date, datetime.datetime, pandasTimestamp | 结束日期,默认为当前日期 |
rule | int | 主力合约选取规则。 默认 rule=0。采用最大昨仓为当日主力/次主力。每个合约只能做一次主力/次主力合约,不会重复出现。针对股指期货,只在当月和次月选择主力合约。 当 rule=1 时,主力/次主力合约的选取只考虑最大/第二大昨仓这个条件。 当 rule=2 时,采用昨日成交量与持仓量同为最大的合约为当日主力。 |
rank | int | 默认 rank=1。1-主力合约,2-次主力合约,3-次次主力合约。 针对股指期货,'2','3'仅在 rule=1 和 2 时生效。 |
# 返回
Pandas.Series - 主力合约代码列表
# 范例
- 获取某一天的主力合约代码
[In]
futures.get_dominant('IF', '20160801')
[Out]
date
20160801 IF1608
- 获取从上市到某天之间的主力合约代码
[In]
futures.get_dominant('IC', end_date='20150501')
[Out]
date
20150417 IC1505
20150420 IC1505
20150421 IC1505
20150422 IC1505
20150423 IC1505
20150424 IC1505
20150427 IC1505
20150428 IC1505
20150429 IC1505
20150430 IC1505
20150501 IC1505
# futures.get_contracts - 获取期货可交易合约列表
futures.get_contracts(underlying_symbol, date=None)
获取某一期货品种在策略当前日期的可交易合约 order_book_id 列表。按照到期月份,下标从小到大排列,返回列表中第一个合约对应的就是该品种的近月合约。
# 参数
参数 | 类型 | 说明 |
---|---|---|
underlying_symbol | str | 期货合约品种,例如沪深 300 股指期货为'IF' |
date | str, datetime.date, datetime.datetime, pandasTimestamp | 查询日期,默认为当日 |
# 返回
str list - 可交易的 order_book_id list
# 范例
[In]
futures.get_contracts('IF', '20160801')
[Out]
['IF1608', 'IF1609', 'IF1612', 'IF1703']
# futures.get_dominant_price - 获取期货主力连续合约行情数据
futures.get_dominant_price(underlying_symbols,start_date=None,end_date=None,frequency='1d',fields=None,adjust_type='pre', adjust_method='prev_close_spread')
主力连续合约是由不同时期的主力合约拼接而成,在主力合约发生切换时,前后两个合约会存在价差,因而未经平滑处理的主力连续合约有着明显的价格跳空现象。为避免策略出现虚假信号,造成信号失真。米筐提供了价差和比例复权两种方法平滑处理后的主力连续合约的行情数据,避免虚假信号造成影响。
获取期货主力连续合约行情数据参数如下:
# 参数
参数 | 类型 | 说明 |
---|---|---|
underlying_symbols | str or str list | 期货合约品种,可传入 underlying_symbol, underlying_symbol list |
start_date | str, datetime.date, datetime.datetime, pandasTimestamp | 开始日期 |
end_date | str, datetime.date, datetime.datetime, pandasTimestamp | 结束日期 不传入 start_date ,end_date 则 默认返回最近三个月的数据 |
frequency | str | 历史数据的频率。 支持/日/分钟/tick 级别的历史数据,默认为'1d'。1m- 分钟线,1d-日线,分钟可选取不同频率,例如'5m'代表 5 分钟线 |
fields | str or str list | 字段名称 |
adjust_type | str | 复权方式,'pre',不复权 - none,前复权 - pre,后复权 - post, |
adjust_method | str | 复权方法 ’prev_close_spread':基于主力合约切换前一个交易日收盘价价差进行复权 ‘open_spread':基于主力合约切换当日开盘价价差进行复权 ‘prev_close_ratio’:基于主力合约切换前一个交易日收盘价比例进行复权 ‘open_ratio':基于主力合约切换当日开盘价比例进行复权’ 默认为‘prev_close_spread'; adjust_type 为 None 时,adjust_method 复权方法设置无效 |
rule | int | 主力合约选取规则。 默认 rule=0。采用最大昨仓为当日主力。每个合约只能做一次主力合约,不会重复出现。针对股指期货,只在当月和次月选择主力合约。 当 rule=1 时,主力合约的选取只考虑最大昨仓这个条件。 当 rule=2 时,采用昨日成交量与持仓量同为最大的合约为当日主力。 |
# 返回
- bar 数据
字段 | 类型 | 说明 |
---|---|---|
open | float | 开盘价 |
close | float | 收盘价 |
high | float | 最高价 |
low | float | 最低价 |
limit_up | float | 涨停价(仅限日线数据) |
limit_down | float | 跌停价(仅限日线数据) |
total_turnover | float | 成交额 |
volume | float | 成交量 |
settlement | float | 结算价 (仅限日线数据) |
prev_settlement | float | 昨日结算价(仅限日线数据) |
open_interest | float | 累计持仓量 |
trading_date | pandasTimeStamp | 交易日期(仅限分钟线数据),对应期货夜盘的情况 |
dominant_id | str | 主力合约 |
- tick 数据
字段 | 类型 | 说明 |
---|---|---|
open | float | 当日开盘价 |
high | float | 当日最高价 |
low | float | 当日最低价 |
last | float | 最新价 |
prev_close | float | 昨日收盘价 |
total_turnover | float | 成交额 |
volume | float | 成交量 |
limit_up | float | 涨停价 |
limit_down | float | 跌停价 |
open_interest | float | 累计持仓量 |
datetime | datetime.datetime | 交易所时间戳 |
a1~a5 | float | 卖一至五档报盘价格 |
a1_v~a5_v | float | 卖一至五档报盘量 |
b1~b5 | float | 买一至五档报盘价 |
b1_v~b5_v | float | 买一至五档报盘量 |
change_rate | float | 涨跌幅 |
trading_date | pandasTimeStamp | 交易日期,对应期货夜盘的情况 |
prev_settlement | float | 昨日结算价 |
dominant_id | str | 主力合约 |
# 范例
获取期货主力连续合约前复权日线行情
[In]
rqdatac.futures.get_dominant_price(underlying_symbols='IF',start_date=20210901,end_date=20210902,frequency='1d',fields=None,adjust_type='pre', adjust_method='prev_close_spread')
[Out]
settlement volume limit_down open open_interest total_turnover limit_up close low prev_settlement high
underlying_symbol date
IF 2021-09-01 4855.0 130017.0 4290.2 4767.2 143730.0 0 5243.4 4856.4 4737.2 4766.8 4898.6
2021-09-02 4854.0 73853.0 4369.6 4855.0 128436.0 0 5340.4 4854.2 4830.2 4855.0 4879.0
获取期货主力连续合约不复权分钟线行情
[In]
rqdatac.futures.get_dominant_price(underlying_symbols='IF',start_date=20210901,end_date=20210901,frequency='1m',fields=None,adjust_type='none', adjust_method='prev_close_spread')
[Out]
trading_date volume open open_interest total_turnover close low high
underlying_symbol datetime
IF 2021-09-01 09:31:00 2021-09-01 2087.0 4767.2 140180.0 2.990109e+09 4779.0 4767.0 4781.8
2021-09-01 09:32:00 2021-09-01 1044.0 4779.6 139408.0 1.496143e+09 4773.2 4772.0 4780.6
2021-09-01 09:33:00 2021-09-01 964.0 4773.2 138709.0 1.379020e+09 4763.4 4763.0 4773.2
2021-09-01 09:34:00 2021-09-01 1239.0 4763.4 137894.0 1.768014e+09 4751.4 4750.8 4763.4
2021-09-01 09:35:00 2021-09-01 1126.0 4750.8 137099.0 1.605260e+09 4755.2 4748.0 4755.6
···
2021-09-01 14:58:00 2021-09-01 589.0 4854.4 143113.0 8.574656e+08 4855.2 4851.0 4855.4
2021-09-01 14:59:00 2021-09-01 445.0 4855.0 143410.0 6.483443e+08 4856.8 4853.8 4858.2
2021-09-01 15:00:00 2021-09-01 611.0 4857.4 143730.0 8.907135e+08 4856.4 4855.8 4861.0
# futures.get_ex_factor - 获取期货主力连续合约复权因子
futures.get_ex_factor(underlying_symbols, start_date=None, end_date=None,adjust_method=None, market='cn')
获取期货主力连续合约复权因子数据的参数如下:
# 参数
参数 | 类型 | 说明 |
---|---|---|
underlying_symbols | str or list | 品种代码 |
start_date | str, datetime.date, datetime.datetime, pandasTimestamp | 开始日期 |
end_date | str, datetime.date, datetime.datetime, pandasTimestamp | 结束日期 ,不传入是返回全部 |
adjust_method | str | 复权方法 ’prev_close_spread' ,‘open_spread' , ‘prev_close_ratio’,‘open_ratio,默认为‘prev_close_spread' |
rule | int | 主力合约选取规则。 默认 rule=0。采用最大昨仓为当日主力。每个合约只能做一次主力合约,不会重复出现。针对股指期货,只在当月和次月选择主力合约。 当 rule=1 时,主力合约的选取只考虑最大昨仓这个条件。 当 rule=2 时,采用昨日成交量与持仓量同为最大的合约为当日主力。 |
market | str | 默认是中国内地市场('cn') 。可选'cn' - 中国内地市场 |
# 返回
- 返回 pandas dataframe - 包含了复权因子的日期和对应的各项数值
参数 | 类型 | 说明 |
---|---|---|
ex_date | str | 除权除息日( 主力合约切换日) |
underlying_symbol | str | 品种代码 |
ex_factor | float | 复权因子 |
ex_cum_factor | float | 累计复权因子 |
ex_end_date | str | 复权因子所在期的截止日期 |
# 范例
[In]
rqdatac.futures.get_ex_factor(underlying_symbols='IF', start_date=20210601, end_date=20210902,adjust_method='prev_close_spread', market='cn')
[Out]
underlying_symbol ex_factor ex_end_date ex_cum_factor
ex_date
2021-06-18 IF 32.8 2021-07-15 1165.8
2021-07-16 IF 16.8 2021-08-12 1182.6
2021-08-13 IF 29.0 NaT 1211.6
# futures.get_contract_multiplier - 获取期货品种合约乘数
futures.get_contract_multiplier(underlying_symbols, start_date=None, end_date=None, market='cn')
获取期货品种的合约乘数
# 参数
参数 | 类型 | 说明 |
---|---|---|
underlying_symbols | str or str list | 期货合约品种 |
start_date | str | 开始日期 |
end_date | str | 结束日期 |
market | str | 目前只支持中国市场 ('cn') |
# 返回
-pandas DataFrame
字段 | 类型 | 说明 |
---|---|---|
exchange | str | 期货品种对应交易所 |
contract_multiplier | str | 合约乘数 |
# 范例
In [4]: futures.get_contract_multiplier(['FB','I'], start_date='20191128', end_date='20191203', market='cn')
Out[4]:
exchange contract_multiplier
underlying_symbol date
FB 2019-11-28 DCE 500.0
2019-11-29 DCE 500.0
2019-12-02 DCE 10.0
2019-12-03 DCE 10.0
I 2019-11-28 DCE 100.0
2019-11-29 DCE 100.0
2019-12-02 DCE 100.0
2019-12-03 DCE 100.0
# futures.get_exchange_daily - 获取期货交易所日线数据
futures.get_exchange_daily(order_book_ids, start_date=None, end_date=None, fields=None, market='cn')
获取期货交易所日线数据
# 参数
参数 | 类型 | 说明 |
---|---|---|
order_book_ids | str or str list | 可输入 order_book_id, order_book_id list |
start_date | str, datetime.date, datetime.datetime, pandasTimestamp | 开始日期 |
end_date | str, datetime.date, datetime.datetime, pandasTimestamp | 结束日期 |
fields | str OR str list | 字段名称 |
market | str | 默认是中国内地市场('cn') 。可选'cn' - 中国内地市场 |
# 返回
pandas DataFrame
字段 | 类型 | 说明 |
---|---|---|
open | float | 开盘价 |
close | float | 收盘价 |
high | float | 最高价 |
low | float | 最低价 |
total_turnover | float | 成交额 |
volume | float | 成交量 |
settlement | float | 结算价 |
prev_settlement | float | 昨日结算价 |
open_interest | float | 累计持仓量 |
# 范例
In [4]: futures.get_exchange_daily('A2409', start_date='20240801', end_date='20240816', market='cn')
Out[4]:
open close high low total_turnover volume settlement prev_settlement open_interest
order_book_id date
A2409 2024-08-01 4549.0 4576.0 4581.0 4530.0 5.480035e+09 120316.0 4554.0 4543.0 102030.0
2024-08-02 4580.0 4614.0 4634.0 4573.0 6.643340e+09 144204.0 4606.0 4554.0 104363.0
2024-08-05 4617.0 4590.0 4628.0 4582.0 4.818868e+09 104612.0 4606.0 4606.0 100831.0
2024-08-06 4584.0 4586.0 4602.0 4560.0 4.223373e+09 92163.0 4582.0 4606.0 90101.0
2024-08-07 4586.0 4582.0 4601.0 4569.0 3.611244e+09 78789.0 4583.0 4582.0 85198.0
2024-08-08 4572.0 4585.0 4593.0 4569.0 2.368785e+09 51666.0 4584.0 4583.0 79301.0
2024-08-09 4584.0 4575.0 4598.0 4553.0 4.023708e+09 87879.0 4578.0 4584.0 73742.0
2024-08-12 4575.0 4559.0 4578.0 4553.0 2.552710e+09 55909.0 4565.0 4578.0 67254.0
2024-08-13 4559.0 4540.0 4565.0 4536.0 2.781623e+09 61125.0 4550.0 4565.0 62705.0
2024-08-14 4538.0 4513.0 4551.0 4500.0 3.146009e+09 69587.0 4520.0 4550.0 54827.0
2024-08-15 4520.0 4487.0 4536.0 4482.0 2.088194e+05 46333.0 4506.0 4520.0 49281.0
2024-08-16 4488.0 4464.0 4507.0 4449.0 1.966178e+05 43952.0 4473.0 4506.0 38939.0
# 期货其他数据
# futures.get_member_rank - 获取期货会员持仓等排名情况
futures.get_member_rank(obj, trading_date, rank_by)
获取期货某合约或品种的会员排名数据
# 参数
参数 | 类型 | 说明 |
---|---|---|
obj | str | 可以是期货的具体合约或者品种 |
trading_date | str | 查询日期,默认为当日 |
start_date | str | 开始日期。需要传入该参数时,必须打上‘start_date='字样 |
end_date | str | 结束日期。需要传入该参数时,必须打上‘end_date='字样 |
rank_by | 排名依据,默认为 volume 即根据交易量统计排名,另外可选'long'和'short',分别对应持买仓量统计和持卖仓量统计。 |
# 返回
-pandas DataFrame
字段 | 类型 | 说明 |
---|---|---|
commodity_id | str | 期货品种代码或期货合约代码 |
member_name | str | 期货商名称 |
rank | int | 排名 |
volume | int | 交易量或持仓量视乎参数 rank_by 的设定 |
volume_change | int | 交易量或持仓量较之前的变动 |
上期所、中金所的品种排名是米筐通过交易所的合约层级数据加总计算得到的。
由于交易所的合约数据并不涵盖交易不活跃合约,因而品种层级的排名数据仅供参考。
# 范例
- 获取期货合约为标的的会员排名:
[In]
futures.get_member_rank('A1901',trading_date=20180910,rank_by='short')
[Out]
commodity_id member_name rank volume volume_change
trading_date
2018-09-10 A1901 国投安信 1 20143 5065
2018-09-10 A1901 五矿经易 2 14909 4465
2018-09-10 A1901 华安期货 3 9360 3464
2018-09-10 A1901 国泰君安 4 7915 -26
2018-09-10 A1901 永安期货 5 6683 998
2018-09-10 A1901 中信期货 6 6587 -583
2018-09-10 A1901 华泰期货 7 5918 -430
2018-09-10 A1901 东证期货 8 5075 1837
2018-09-10 A1901 中国国际 9 4792 2169
2018-09-10 A1901 国富期货 10 4632 -213
2018-09-10 A1901 浙商期货 11 4160 -513
2018-09-10 A1901 新湖期货 12 3960 119
2018-09-10 A1901 中金期货 13 3868 -25
2018-09-10 A1901 光大期货 14 3694 2566
2018-09-10 A1901 摩根大通 15 3644 0
2018-09-10 A1901 银河期货 16 3173 559
2018-09-10 A1901 兴证期货 17 3151 -251
2018-09-10 A1901 方正中期 18 2206 146
2018-09-10 A1901 一德期货 19 2017 838
2018-09-10 A1901 南华期货 20 1949 -190
- 获取期货品种为标的的会员排名:
[In]
futures.get_member_rank('CU',trading_date=20180910,rank_by='short')
[Out]
commodity_id member_name rank volume volume_change
trading_date
2018-09-10 CU 五矿经易 1 29160 302
2018-09-10 CU 中信期货 2 27136 -535
2018-09-10 CU 永安期货 3 16521 753
2018-09-10 CU 海通期货 4 15994 -161
2018-09-10 CU 中粮期货 5 14572 -614
2018-09-10 CU 国泰君安 6 8852 245
2018-09-10 CU 金瑞期货 7 8668 -703
2018-09-10 CU 迈科期货 8 8320 94
2018-09-10 CU 建信期货 9 6688 -57
2018-09-10 CU 广发期货 10 5847 -34
2018-09-10 CU 华安期货 11 5451 -289
2018-09-10 CU 格林大华 12 5330 -217
2018-09-10 CU 中银国际 13 5190 487
2018-09-10 CU 铜冠金源 14 4896 139
2018-09-10 CU 兴证期货 15 4636 -459
2018-09-10 CU 方正中期 16 4587 -92
2018-09-10 CU 国投安信 17 4567 79
2018-09-10 CU 东方财富 18 4551 127
2018-09-10 CU 新湖期货 19 4269 -60
2018-09-10 CU 国贸期货 20 3396 -522
- 获取期货品种为标的的指定时间段会员排名
单个合约的指定时间段会员排名获取方式雷同
[In] :
futures.get_member_rank('RB',start_date='20180910',end_date='20180915').tail(5)
[Out]:
commodity_id member_name rank volume volume_change
trading_date
2018-09-14 RB 中辉期货 16 53761 -5682
2018-09-14 RB 宏源期货 17 51777 -9398
2018-09-14 RB 广发期货 18 51279 -2157
2018-09-14 RB 国贸期货 19 51145 -23497
2018-09-14 RB 上海中期 20 47731 -4862
# futures.get_warehouse_stocks - 获取期货仓单数据
futures.get_warehouse_stocks(underlying_symbols, start_date=None, end_date=None, market='cn')
获取期货某品种的注册仓单数据
# 参数
参数 | 类型 | 说明 |
---|---|---|
underlying_symbols | str | 期货合约品种 |
start_date | str | 开始日期,用户必须指定 |
end_date | str | 结束日期,默认为策略当天日期的前一天 |
market | str | 目前只支持中国市场 ('cn') |
# 返回
-pandas DataFrame
字段 | 类型 | 说明 |
---|---|---|
on_warrant | int | 注册仓单量 |
exchange | str | 期货品种对应交易所 |
effective_forecast | str | 有效预报。仅支持郑商所(CZCE)合约 |
warrant_units | str | 仓单单位。仅支持郑商所(CZCE)合约 |
deliverable | str | 符合交割品质的货物数量。仅支持上期所(SHFE)合约 |
# 范例
In [4]: rq.futures.get_warehouse_stocks('CF',start_date=20191201,end_date=20191205)
Out[4]:
on_warrant exchange effective_forecast warrant_units deliverable
date underlying_symbol
20191202 CF 19425 CZCE 4753 8 NaN
20191203 CF 19921 CZCE 4696 8 NaN
20191204 CF 19997 CZCE 5005 8 NaN
20191205 CF 20603 CZCE 4752 8 NaN
# futures.get_basis - 获取股指期货每日升贴水数据
futures.get_basis(order_book_ids, start_date=None, end_date=None,fields=None,frequency='1d')
股指期货贴水指的是股指期货比股指现货低的情况,而当股指期货高于现货时,则称之升水。在股票中性策略中,股指期货一直以来都是最重要的对冲伙伴,而对冲存在对冲成本,因此在开发股票市场中性策略过程中,研究对冲成本——股指期货贴水 ,就显得尤为必要了。
如下图通过获取股指期货升贴水数据,可以发现自从 2015 年中证 500 期货(IC)推出以来,大部分时间都处于贴水状态(指数期货-指数为负),通过做多贴水,以期获得超额收益。
获取股指期货每日升贴水数据的参数如下:
# 参数
参数 | 类型 | 说明 |
---|---|---|
order_book_ids | str_or_str_list | 合约代码,可传入 order_book_id, order_book_id list |
start_date | str, datetime.date, datetime.datetime, pandasTimestamp | 开始日期 |
end_date | str, datetime.date, datetime.datetime, pandasTimestamp | 结束日期,start_date ,end_date 不传参数时默认返回最近三个月的数据 |
fields | str_or_str_list | 字段名称 |
frequency | str | 频率,支持/日/分钟/tick 级别的历史数据,默认为'1d'。 1d - 日线 1m - 分钟线 tick |
# 返回
pandas multi-index DataFrame
字段 | 类型 | 说明 |
---|---|---|
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
close | float | 收盘价 |
index | str | 指数合约 |
close_index | float | 指数收盘价 |
basis | float | 升贴水,等于期货合约收盘价- 对应指数收盘价 |
basis_rate | float | 升贴水率(%),(期货合约收盘价- 对应指数收盘价)*100/对应指数收盘价 |
basis_annual_rate | float | 年化升贴水率(%), basis_rate *(250/合约到期剩余交易日) |
settlement | float | 结算价 |
settle_basis | float | 升贴水,等于期货合约结算价- 对应指数收盘价 |
settle_basis_rate | float | 升贴水率(%),(期货合约结算价- 对应指数收盘价)*100/对应指数收盘价 |
settle_basis_annual_rate | float | 年化升贴水率(%), settle_basis_rate*(250/合约到期剩余交易日) |
注意: 接近到期日的年化升贴水率仅供参考,原因是在离到期日只有几天,分母特别小的情况下,计算出的年化升贴水率数值会失真,这时候看绝对升贴水更好。
# 范例
- 获取 IF2106 和 IH2106 的升贴水数据
[In]
futures.get_basis(['IF2106','IH2106'],'20210412','20210413')
[Out]
low open high basis basis_rate index close basis_annual_rate close_index
order_book_id date
IH2106 2021-04-12 3395.0 3438.0 3446.4 -64.2654 -1.848265 000016.XSHG 3412.8 -10.268142 3477.0654
2021-04-13 3384.2 3430.2 3432.6 -61.4592 -1.775529 000016.XSHG 3400.0 -10.088231 3461.4592
IF2106 2021-04-12 4854.0 4938.2 4956.0 -81.7459 -1.652185 000300.XSHG 4866.0 -9.178804 4947.7459
2021-04-13 4844.0 4891.2 4905.2 -74.2438 -1.503019 000300.XSHG 4865.4 -8.539882 4939.6438
# futures.get_current_basis - 获取股指期货实时升贴水数据
rqdatac.futures.get_current_basis(order_book_ids,market='cn')
实时升贴水基于 current_snapshot 计算,计算逻辑同 get_basis。
备注:每日 15 点 30 分过后股指期货结算价更新之后,实时升贴水用结算价计算
获取股指期货每日升贴水数据的参数如下:
# 参数
参数 | 类型 | 说明 |
---|---|---|
order_book_ids | str_or_str_list | 合约代码,可传入 order_book_id, order_book_id list |
market | str | 默认是中国内地市场('cn') 。可选'cn' - 中国内地市场; |
# 返回
pandas multi-index DataFrame
字段 | 类型 | 说明 |
---|---|---|
order_book_id | str | 合约代码 |
datetime | datetime | 最新一行 tick 的时间戳 |
index | str | 指数合约 |
index_px | float | 指数最新价格 |
future_px | float | 期货最新价格 |
basis | float | 升贴水,等于期货合约收盘价- 对应指数收盘价 |
basis_rate | float | 升贴水率(%),(期货合约收盘价- 对应指数收盘价)*100/对应指数收盘价 |
basis_annual_rate | float | 年化升贴水率(%), basis_rate *(250/合约到期剩余交易日) |
# 范例
- 获取 IF2403 的实时升贴水数据
[In]
rqdatac.futures.get_current_basis('IF2403')
[Out]
index datetime index_px future_px basis basis_rate basis_annual_rate
order_book_id
IF2403 000300.XSHG 2024-02-26 15:23:08.200 3453.3585 3445.4 -7.9585 -0.230457 -4.1153
# futures.get_trading_parameters - 获取期货交易参数信息
rqdatac.futures.get_trading_parameters(order_book_ids, start_date=None, end_date=None, fields=None, market='cn')
获取期货保证金、手续费等交易参数信息
# 参数
参数 | 类型 | 说明 |
---|---|---|
order_book_ids | str or list | 合约代码 |
start_date | str, datetime.date, datetime.datetime, pandasTimestamp | 开始日期,若不指定日期,则默认为当前交易日期 |
end_date | str, datetime.date, datetime.datetime, pandasTimestamp | 结束日期 ,若不指定日期,则默认为当前交易日期 |
fields | str OR str list | 可选字段见下方返回,若不指定,则默认获取所有字段 |
market | str | 默认是中国内地市场('cn') 。可选'cn' - 中国内地市场 |
说明:
1、start_date 和 end_date 需同时传入或同时不传入。当不传入 start_date , end_date 参数时,查询时间在交易日 T 日 8.40 pm 之前,返回 T 日的数据;查询时点在 8.40pm 之后,返回交易日 T+1 日的数据。
2、保证金、手续费数据提供范围为 2010.04 月至今;限仓数据各交易所提供范围见下方表格
交易所 | 时间范围 |
---|---|
中金所 | 2010-04-16 至今 |
上期所 | 2013-10-08 至今 |
大商所 | 2018-12-21 至今 |
郑商所 | 2021-04-12 至今 |
上能源 | 2021-06-11 至今 |
广期所 | 2022-12-23 至今 |
# 返回
- 返回 multi-index DataFrame
参数 | 类型 | 说明 |
---|---|---|
order_book_ids | str | 合约代码 |
trading_date | pandasTimeStamp | 交易日期 |
long_margin_ratio | float | 多头保证金率 |
short_margin_ratio | float | 空头保证金率 |
commission_type | str | 手续费类型(按成交量/按成交额) |
open_commission | float | 开仓手续费 |
close_commission | float | 平仓手续费 |
discount_rate | float | 平今折扣率 |
close_commission_today | float | 平今仓手续费/率 |
non_member_limit_rate | float | 非期货会员持仓限额比例 |
client_limit_rate | float | 客户持仓限额比例 |
non_member_limit | float | 非期货会员持仓限额(手) |
client_limit | float | 客户持仓限额(手) |
min_order_quantity | float | 最小开仓下单量(手) |
max_order_quantity | float | 最大开仓下单量(手) |
min_margin_ratio | float | 最低交易保证金 |
# 范例
[In]
rqdatac.futures.get_trading_parameters('IF2312')
[Out]
long_margin_ratio short_margin_ratio commission_type open_commission close_commission discount_rate close_commission_today non_member_limit_rate client_limit_rate non_member_limit client_limit
order_book_id trading_date
IF2312 2023-12-05 0.12 0.12 by_money 0.000023 0.000023 10.0 0.00023 NaN NaN NaN 5000.0