期货主力合约怎么除权,本质是主力合约换月时对历史K线做价格平滑,国内商品期货真实交易合约本身不除权,只有行情软件、量化平台构建的主力连续合约需要除权处理,你采用前复权方案时,取新旧主力切换前一交易日的收盘价差值,把切换日之前全部历史K线统一加减价差,成交量持仓保持原样;适用场景仅限回测、图表趋势分析,实盘交易下单使用真实合约价格,不可直接使用除权后的连续合约价格报单,股指类连续合约除权还需要叠加指数成分股分红带来的点位修正。
期货主力合约除权基础概念
国内四大期货交易所上市的商品期货,单个主力合约不会像股票一样分红送股,合约本身不存在权益变动,交易所不会对正在交易的合约执行除权操作。大家口中期货主力合约除权,是行情服务商把不同交割月合约拼接成主力连续序列,新旧主力切换瞬间存在跳空缺口,这个缺口不是行情涨跌,是合约月份差异带来的价差,除权就是消除这类跳空,方便你看长期趋势、做历史回测。股指期货连续合约会多一层处理,因为标的指数成分股分红会压低指数点位,构建连续K线时需要额外把分红的点位缺口补偿回去。
分两种主流除权方式。
| 除权类型 | 计算逻辑 | 适用场景 | 缺陷 |
|---|---|---|---|
| 前复权(价差修正) | 以换月当日为基准,向前调整所有历史K线价格,消除换月跳空 | 趋势看图、量化回测,使用最多 | 历史价格会随新换月不断变动,不能直接用来计算历史盈亏 |
| 后复权 | 保留原始最新价格,向后调整旧K线,基准锁定最早的价格 | 长期收益测算,对比多年价格涨幅 | 近期K线会保留换月跳空,看图判断趋势不方便 |
手动执行期货主力合约除权步骤
你先确认主力切换时间,以成交量、持仓量完成转移的那一个交易日作为换月T日,读取T-1日旧主力收盘价A,新主力收盘价B,计算修正差值D=B-A。执行前复权时,T日之前所有K线的开盘、最高、最低、收盘价格,全部加上D;如果B小于A,就统一减去D。成交量、持仓量、成交金额全部不改动,只修改价格序列。
举个实操例子,旧主力收盘价3000,新主力收盘价3050,差值D=50,那么换月之前每一根K线全部价格+50,拼接后的连续K线没有跳空缺口。如果新合约价格低于旧合约,差值为负数,历史K线统一向下平移。每次发生一次主力切换,就执行一次这样的价格平移,多次换月叠加多次修正。
量化平台会自动完成这套计算,你只需要在合约设置里勾选前复权主力连续,平台会自动识别换月节点,自动计算价差并平移历史K线,不需要手动重复运算。
除权数据的使用边界
实盘下单,一律不用除权连续合约价格。
除权修改后的价格只是虚拟平滑价格,不是真实市场成交价格。你回测策略时,如果用除权K线计算开平仓盈亏,必须同步做仓位等市值换月,只改价格不调整仓位手数,回测结果会出现明显偏差。当新旧主力价差过大,比如远期合约深度升水或者深度贴水,单次除权平移幅度大,会扭曲早期价格波动幅度,回测波动率指标时要额外校验原始合约数据。
中证商品指数系列的编制规则里,展期调整采用分5个交易日逐步迁移持仓权重的方案,和一次性价差平移的主力连续除权方法不同,二者不能混用,回测跨年度策略要区分这两类数据来源。
只做短期1到3个月交易,不做长周期回测,你完全可以不开启主力连续除权,直接切换真实合约查看K线,规避平滑带来的数据失真问题。