Jikipedia
第 15 篇

股指期货跨期套利策略

同一指数的远月与近月期货合约,价差被拉过头后常常会自己缩回去。这篇用协整给两只合约的对数价格建长期均衡,把偏离标准化成 |resid3|,在 1~2 之间开仓、回到 0 平仓、超过 2 认亏——比传统「持有成本定价」法能找到更多机会、风险也更可控。回测显示 2012 到 2015-09 政策收紧前有效(三年最大回撤 18%),但 2015-09-07 后限仓 + 平今仓手续费涨 100 倍,套利空间基本消失。本篇是量化课堂第 15 篇(postId=4296,作者 swlaw,编辑肖睿,难度进阶下,level-0)。素材见 raw/collections/jq-quant-classroom/15-15-股指期货跨期套利策略md.md。

量化跨期套利协整价差股指期货ADF高频

这是什么

本篇用两个案例级细节讲「跨期套利」:先讲为什么跨期套利是价差套利而不是无风险套利,再对比传统持有成本法与协整模型两条路子,然后用 IF1007/IF1008 的完整 ADF 检验数字演示建模型过程,最后给开平仓规则与 2010-05 至 2016-12 的分段回测。作者建议读者先掌握协整(post 1731)与线性回归(post 1786)——对应本系列 part 31/32(W7)。

核心要点

跨期套利是什么

  • 股指期货:以股票价格指数为标的物的期货合约。持有成本定价:F = S·e^{(r−q)(T−t)}。F 是期货价、S 是现货指数、r 是无风险利率(连续复利)、q 是股息收益率、T−t 是剩余期限(年)。
  • 同一指数往往同时有不同交割月的合约。跨期套利 = 利用同一指数两个不同交割月合约之间的价差
  • 严格讲它不是无风险套利,是价差套利:重点在判断价差将来会扩大还是缩小。
  • 三类判断:
    • 牛市(多头)跨期套利:判断远期相对近期被低估、价差将扩大 → 买远期、卖近期。
    • 熊市(空头)跨期套利:判断近期相对远期被低估、价差将缩小 → 买近期、卖远期。
  • 已有文献:N.Burgess 用协整对 FTSE100 指数套利效果好;Board 与 Sutcliffe 用协整研究大阪、新加坡、芝加哥的日经 225 合约价差,也发现存在套利空间。

传统持有成本法的缺陷

  • 由公式(1)可推:lnF₂ − lnF₁ = (r−q)(T₂−T₁)。无交易费时,(r−q)(T₂−T₁) 是两对数序列价差的平衡点。
  • 价差大于平衡点 → 价差将缩小 → 空头策略;反之 → 多头策略。
  • 两个缺陷:
    • 股息收益率 q 不易确定,限制应用。
    • 套利往往要等很久:价差可能长期偏高/偏低,只有合约临近到期才有回归压力。

协整模型(本篇主线)

  • 思路:把样本分两段。前段(较长)用来建模,后段用建好的模型交易
  • 第一段建模:
    1. 对两合约取对数 lnF₁、lnF₂;
    2. 先检验它们是否含单位根(非平稳);
    3. 都含单位根就检验协整:回归 lnF₂ = A + B·lnF₁ + resid1;若残差 resid1 平稳(不含单位根),两对数序列存在协整关系。
  • 第二段交易:
    • resid2 = lnF₂ − B·lnF₁ − A(沿用第一段系数);
    • resid3 = resid2 / std(resid1)(用第一段残差的样本标准差标准化)。
  • 为什么用协整:若第一段模型在第二段还成立,resid2 是均值 0 的白噪声,随时有向 0 回归的要求——不必像持有成本法那样等到期才回归,所以能找到更多套利机会。
  • 开平仓标准:
    • |resid3| 超过 1 且小于 2 → 开仓;
    • 开仓后 |resid3| 回落到 0 → 平仓(价差回归完成);
    • 开仓后 |resid3| 超过 2 → 认亏平仓。因为偏离两个标准差属于小概率事件,往往意味着协整关系已不成立。
  • 这保证价差在可控范围内——不像持有成本法那样可能向不利方向走太远、爆仓。

实例执行(2010-07-01 14:21)

  • 数据:每个分钟取过去 240 分钟 IF1007(近月)与 IF1008(远月)收盘,取对数。
  • ADF 检验:
    • lnF₁:t=−1.048804,p=0.735051 → 非平稳;
    • lnF₂:t=−0.858032,p=0.801479 → 非平稳。
  • 回归:lnF₂ = 0.49513029 + 0.93776831·lnF₁ + resid1;
  • 对 resid1 做 ADF:t=−4.318837,p=0.000412,远小于 0.01 → 残差平稳 → 协整关系成立。
  • 交易规则(每分钟):取上一分钟两合约对数收盘价,代入上式得 resid2,标准化为 resid3。
    • resid3∈(1,2):远期相对近期偏高 → 做多近期、做空远期;
    • resid3∈(−2,−1):反向建仓。
    • 建仓后 |resid3|<1 → 平仓(回到均值);|resid3|>2 → 判断出错、提前平仓止损。
    • 交易量限制在下一分钟两合约成交量的 1/10(过大的量会带来冲击成本)。
  • 2015-09-07 之后:交易数量最多 10 手(原文写作“10 日”,按中金所限仓规则应为“手”,见待验证),且平今仓手续费变为原来的 100 倍——策略严格按此限制操作。

回测结果(2010-05 至 2016-12)

  • 取中国金融期货交易所公布的手续费率、保证金比例与平今仓手续费率做贴近现实的回测。
  • 总体:策略有效,能利用价格偏离,把风险控制在较低水平。但 2015-09 政策收紧后套利空间基本不存在——尤其平今仓费过高,实际已接近 T+1。
  • 分段:2012-01 至 2012-06,市场更成熟、套利空间少,且高频产生大量手续费 → 出现一定回撤。
  • 2012 到 2015-09 政策收紧前:有效,三年最大回撤 18%,2015 年内仍有很大套利空间。
  • 作者点破:分钟级交易频率高,对手续费异常敏感——这也是监管调高平今仓费的原因之一。

机制 / 论证

  • 为什么远月近月会「同涨同跌到可以套利」:两个合约标的是同一个指数,长期受同样的持有成本与到期结构约束,所以存在协整的「基本面」——配对交易思想的前提。
  • 为什么协整比持有成本强:持有成本法只能靠「临近到期」逼价差回归,协整法里价差残差是均值 0 的白噪声、每时每刻都有回归压力。回归压力从「低频、迟到」变成「随时」,机会自然更多。
  • 为什么两段式建模:第一段只建模型、第二段才交易,避免用交易期数据拟合模型(防未来函数)。
  • 为什么 2σ 要认亏:偏离 1σ~2σ 是「可回归的噪声」;超过 2σ 属于小概率事件,更可能是均衡关系本身变了。继续扛 = 赌一个已经破掉的关系。
  • 为什么限制成交量:分钟级套利想赚的是价差回归的小钱,一旦下单量超过市场承接力,冲击成本会吃掉利润。1/10 成交量的限制是把「理想价差」兑现成「可成交价差」的工程细节。
  • 2015-09 之后为什么策略失效:政策把当日开平仓的摩擦成本抬到 100 倍、并大幅限制单账户开仓量(约 10 手)——高频价差策略赖以生存的「快进快出」被打掉,近似变成 T+1。这说明制度能消灭套利空间:策略的收益来自制度允许的摩擦窗口。

可操作

  • 模型与参数(保留原文):
    • 持有成本定价:F = S·e^{(r−q)(T−t)};对数价差平衡点 (r−q)(T₂−T₁)。
    • 协整建模:取对数 → ADF 检单位根 → 回归 lnF₂=A+B·lnF₁ → 残差 ADF 检平稳。
    • 标准化偏离:resid3 = (lnF₂−B·lnF₁−A) / std(resid1)。
    • 开平仓:1<|resid3|<2 开仓;回落至 0 平仓;|resid3|>2 认亏。
    • 实例系数:A=0.49513029、B=0.93776831;ADF p 值 0.000412(<0.01)。
    • 数据窗口:过去 240 分钟收盘;下单量 ≤ 下一分钟成交量的 1/10。
    • 制度参数:中金所手续费率/保证金/平今费率;2015-09-07 后 10 手限制 + 平今费 100 倍。
  • 平台实现:策略按分钟运行(run_daily / 分钟频率,见 run_daily 与任务节奏控制(定时任务)),期货下单与手续费设置以官方 API 为准;函数说明图在附图,raw 未贴完整代码 [需要验证]。
  • 落地提醒:这是分钟级高频,任何手续费假设错一点都可能把利润吃掉;政策收紧后该策略在当前环境基本不可行。

术语

  • 跨期套利:同指数不同交割月合约之间的价差交易。
  • 持有成本定价:期货价 = 现货按无风险利率滚动、扣股息(升水/贴水的理论依据,见 期货基差与持有成本定价(现货-期货、远近月价差))。
  • 价差 / 基差:远近月合约价差(spread);现货与期货的差称基差。
  • 协整:两个非平稳序列的某种线性组合却平稳,即它们有长期均衡关系。
  • 单位根 / ADF 检验:判断序列是否平稳(随机游走)的检验。
  • 白噪声:均值为 0、彼此无关的随机序列。
  • 冲击成本:下单量大导致成交价不利滑动的成本。
  • 平今仓手续费:当天开当天平的手续费(2015-09 后被大幅调高)。

不确定 / 待验证

  • 实例只展示了 2010-07-01 14:21 一个时点的建模;全样本里模型多久重估一次、参数(240 分钟窗口等)如何选,raw 未展开。
  • 回测只有分段定性与「三年最大回撤 18%」等少数数字;整体年化、净收益(扣全部费用后)没有给出 [需要验证]。
  • 2015-09-07 的制度变化对策略是致命打击,本篇只验证到 2016-12;此后股指期货限仓常态化,跨期套利在 2020s 是否还有空间需要另行验证。
  • 「|resid3|>2 即协整关系破坏」是启发式阈值(约 5% 双尾),raw 未做更严格的检验;协整方法本身的更多细节见 part 31(W7)。
  • 图 1/2/3 与函数说明图在附图,raw 只有图链,无法逐段核对曲线。
  • 高频策略对成交价、滑点、手续费假设极敏感;正文用「下一分钟成交量 1/10」近似现实冲击,实际可行性未在实盘验证。
  • raw 写「最多只能交易 10 日」,按 2015-09-07 中金所限仓规则(非套保日内开仓约 10 手)应为「10 手」,本页按后者理解、原文存疑 [需要验证]。

相关

更新 2026-09-06

检索知识库

按标题、类型或正文检索