3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在期货量化交易与策略回测中,**结算价(Settlement Price)和持仓量(Open Interest)**是进行每日盯市盈率计算、风险控制以及资金流向分析的关键指标。
聚宽(JoinQuant)平台提供了 get_extras 函数,可以方便地批量查询多只期货标的在指定时间段内的历史结算价与持仓量。
get_extras 获取期货数据get_extras 函数用于获取标的的额外数据(如基金净值、ST状态、期货结算价与持仓量等)。
get_extras(info, security_list, start_date='2015-01-01', end_date='2015-12-31', df=True, count=None)
'futures_sett_price': 期货结算价'futures_positions': 期货持仓量['RB1909.XSGE', 'CU1909.XSGE']。'YYYY-MM-DD'。end_date 前的交易日数量,与 start_date 二选一。True 返回 pandas.DataFrame,False 返回 dict。以下示例展示了如何在研究环境或策略中调取螺纹钢主力合约的历史结算价与持仓量数据:
from jqdata import *
import pandas as pd
# 定义查询的期货合约与日期范围
security_list = ['RB1909.XSGE', 'CU1909.XSGE']
end_dt = '2019-06-28'
# 1. 获取期货结算价 (futures_sett_price)
settle_price_df = get_extras('futures_sett_price', security_list, end_date=end_dt, count=5, df=True)
print("=== 期货历史结算价 ===")
print(settle_price_df)
# 2. 获取期货持仓量 (futures_positions)
positions_df = get_extras('futures_positions', security_list, end_date=end_dt, count=5, df=True)
print("\n=== 期货历史持仓量 ===")
print(positions_df)
除了 get_extras 之外,聚宽还支持通过以下 API 获取期货持仓量:
get_bars API:在获取 K 线数据时,fields 参数传入 'open_interest' 字段。df = get_bars('RB1909.XSGE', count=5, unit='1d', fields=['date', 'close', 'open_interest'])
get_ticks API:获取期货 Tick 数据时,返回结果中的 position 字段即为当前时刻的持仓量。get_extras 需要传入具体的期货合约代码(如 RB1909.XSGE),不可直接对主力连续合约(如 RB9999.XSGE)调用。