- Published on
Synthetic VX3! & VX4! continuous /VX futures
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
合成远期波动率期货:从VX3到VX4的连续合约重构思路
在波动率交易和期权研究领域,VIX 指数早已不是一个陌生词。但很多读者真正开始接触它,往往是透过 CBOE 推出的 VIX 期货(代码 VX)。当我们打开行情软件看 VX 期货时,通常能找到当月和次月合约,但第三个月、第四个月合约的完整历史数据却常常是断断续续的。一位来自公开交易社区的作者“djayjp”做了一件很实在的事:他尝试用公开的 VIX 现货数据,合成出一条连续且可回测的“第三个月期货”与“第四个月期货”价格序列。这篇文章将带你拆解这个合成思路背后的逻辑、价值与局限。
策略解读
这段说明虽短,却点出了波动率衍生品研究与数据基础设施之间的一个真实痛点:近月合约往往被市场聚焦,远月合约的历史数据却支离破碎。VIX 期货自上市以来,交易量主要集中在前两个月,第三、第四个月合约的流动性相对较低,许多数据服务商在归档历史行情时,也往往只保留近月或者主力合约的连续序列。对于只做日内或短线的交易者来说,近月数据可能足够;但对于研究中长期波动率溢价、期限结构斜率、展期收益以及“滚动 - 持有”策略的人来说,缺少可比的远月连续序列,几乎等于少了半块拼图。
作者的思路很直接:既然没有现成的连续第三月/第四月期货价格,那就自己造一条。他用 VIX 现货作为基础数据源,结合可获得的不同到期月份 VX 期货价格,尝试按到期顺序拼接出一条连续曲线。这条曲线并非真实存在的唯一合约,而是一种“合成合约”——它模拟的是“如果始终持有距离现在第三个月到期的 VX 期货,每天的价格会是多少”。这种思想在商品期货的世界里由来已久,比如我们常见的“主力连续”“指数连续”,本质上都是用不同到期合约拼接而成的代理人序列。但作者把这种手法用在了 VX 期货的远月结构上,并且放在波动率这个特殊资产类别中,显然更有针对性。
名词解释
- VIX 指数:芝加哥期权交易所波动率指数,基于标普500指数期权的隐含波动率加权计算而来,用于衡量市场对未来30天标普500期权隐含波动的预期。俗称“恐慌指数”,是美股期权市场最核心的情绪温度计。
- VX 期货:以 VIX 指数为标的的期货合约,交易所代码为 VX。它代表市场对未来特定时间点 VIX 水平的具体报价,采用现金交割,交割结算价为到期日当日 VIX 的特殊开盘价。
- 连续合约:将不同到期月份的期货合约按某种规则(如主力合约、固定月份、固定日剩余天数)首尾拼接形成的一条价格序列,用于消除单一合约到期带来的数据断裂,便于回测和趋势分析。
- 合成合约:在真实市场不存在或数据缺失的情况下,通过数学方法将多个相关产品组合或拼接而成的“虚拟合约”。本文中的合成 VX3、VX4 即属此类。
- CBOE 数据包:芝加哥期权交易所提供的官方行情数据服务,包含 VIX 指数、VX 期货实时价格等数据,通常为收费订阅。若未订阅,只能获得延迟数据,例如 15 分钟延迟。
- 期限结构:不同到期月份的期货价格所组成的曲线形态。对 VX 期货而言,通常分为贴水(近月高于远月,即现货升水)和升水(远月高于近月)两种状态,反映了市场对远期波动率的预期差异。
- 展期收益:当期货到期被迫“换月”时,由于新旧合约价格不同,在滚动持有过程中产生的额外收益或损耗。正展期收益(即期货升水且滚动卖出近月买入远月)是期货交易中常见的策略回报来源。
策略思路讲解
这个“策略”本身不是一个出入场规则,而是一套数据重构方法。它的核心目标,是生成两个连续序列:VX3 连续(第三个月期货) 和 VX4 连续(第四个月期货)。为什么是第三和第四个月?因为 VIX 期货有每个月都到期的月度合约,但第三、第四个月正好是许多中期波动率策略关注的区间——它们既不像近月那样容易被短期事件扰动,又不像半年后的合约那样流动性枯竭。用它们进行回测,可以观察“中期波动率多头”在历史上的表现。
具体构造逻辑可以这样理解:假设今天是 2025 年 1 月 10 日。那么第三个月合约指的是到期日在 2025 年 3 月的 VX 合约,第四个月合约则指到期日在 2025 年 4 月的 VX 合约。到了 1 月 15 日,随着时间推移,3 月合约变成“第二个月”了吗?不一定。作者所说的“连续第三个月”应当是固定期限的滑动窗口:无论当月日期如何变化,永远选择距离当前日期还有约 90 天的那个合约;当它到期日太近时,则换成下一个月份合约。这里就涉及换月规则——是到期前多少天换?还是固定每月某个交易日换?不同规则会产生不同的连续序列。
作者的实现可能更简单:直接按“合约月份序号”滚动,比如始终持有 VX 期货中排序为第三到期的那个合约,到期后自动切换到下一个第三到期的合约。这种做法的好处是规则清晰,但也会引入一个问题:换月当天,新旧合约价格可能有跳空,因为市场对两个不同到期日的波动率预期不同。如果不做任何调整,连续序列会出现虚假的“断面跃迁”,回测收益会被这种跳空严重误导。因此,优秀的连续合约构造通常会在拼接时进行“比例调整”或“价差调整”,将历史价格统一到最新合约的绝对值下。作者虽然没有在描述中详细说明调整方式,但提到“模拟连续到期期货的样子”,暗示他可能采用了某种平滑或拼接处理。
另一个值得注意的细节:作者将 VIX 现货数据作为输入之一。VIX 指数本身不可直接交易,但 VX 期货与 VIX 现货之间有着紧密的基差关系。通过 VIX 现货的实时或延迟价格,可以帮助校准合成序列的“近月贴水/升水状态”,甚至可以在某些月份期货数据缺失时,用 VIX 现货结合远近期权隐含波动率差值来推算远月 VX 的近似值。这也解释了为什么说“拉取 VIX 现货作为实际不可交易的对标” —— 现货是所有期货定价的锚。
优点
- 填补数据空白:使第三、第四个月 VX 期货有了完整的可回测历史序列,解决了一直困扰波动率研究者的远月数据缺失问题。
- 支持更科学的回测:交易者可以对比“持有近月连续”和“持有第三月连续”的历史表现,量化展期结构对策略净值的影响,从而更真实地评估中期波动率策略。
- 揭示期限结构信息:通过同时观察 VX1、VX2、VX3、VX4 四条连续曲线,可以直观看出期限结构的形态变化和陡峭程度,为波动率套利、期限结构交易提供研究基础。
- 数据更新及时:在订阅实时数据的情况下,合成序列能够跟随最新行情变动,可用于盘中监控和即时分析,而不仅仅是静态的历史回测工具。
- 思路可扩展:不局限于第三/第四月,可以推广到第五、第六月,甚至任意固定剩余到期天数的连续合约,具有很好的通用性。
缺点
- 合成序列并非真实成交价:无论如何拼接,它都不可能完全等同于“历史上某天真正交易某个远月合约”的价格,因为远月合约当时的流动性、买卖价差、极端行情下的滑点等都无法还原。
- 换月规则的任意性:选取何时换月、如何调整跳空,都会直接影响序列的数值和收益曲线。不同研究者可能得到不同的“VX3连续”,造成结论难以复制。
- 依赖数据源质量:如果数据源本身有缺漏、延迟或错误,合成序列就会以讹传讹。特别是作者提到未订阅 CBOE 实时数据时只能使用 15 分钟延迟数据,这对高频测试来说显然不够精确。
- 忽视了流动性陷阱:远月 VX 合约实际交易量较低,买卖价差通常远大于近月。回测时若按合成价格成交,会高估策略的真实可行性;在实盘中,你所看到的价格未必能以该价格成交。
- 缺乏统一的基准确认:市面上没有标准的“官方连续第三月 VX”可用来对比验证,因此很难评判作者合成的序列是否比其他人的更准确。这种“盲人摸象”状态是社区类数据工具的通病。
起源年份考证
需要说明的是,这里的考证针对的是“合成连续期货合约”这一类方法,而非特指该作者的脚本。按时间线大致如下:
- 2004 年:CBOE 正式推出 VIX 期货,市场开始拥有基于 VIX 的标准化衍生工具。早期交易集中在近月,远月合约几乎无人问津。
- 2006 年-2008 年:随着波动率交易所基金的兴起,研究者开始关注 VIX 期货的期限结构。为了回测波动率策略,部分学术论文开始使用手动拼接的期货序列,并讨论展期收益的问题。这一时期,“连续期货指数”的构造方法已在商品期货领域被广泛运用,但专门针对 VX 远月的合成工具仍不多见。
- 2012 年前后:一些量化交易社区开始出现“主连合约”自动构造脚本,但多为商品期货(原油、金属等),VIX 连续合约通常只包含近月。
- 2015 年-2018 年:波动率交易盛行,越来越多交易者发现 VX 远月数据缺失的问题。公开社区中陆续出现用户自制的 VX2、VX3 连续序列,方法多为“按到期日滚动拼接”。这类思路的流行时点大致在此阶段。
- 2020 年至今:随着数据平台开放更多接口,以及人们对于波动率曲线陡峭度、W 形期限结构的兴趣激增,合成远月连续成为波动率量化研究中的常见预处理步骤。
回顾历史,合成连续合约的思想本身可追溯至 20 世纪 80 年代的期货技术分析(如滚动主连),但“专门为 VIX 第三/第四月定制合成序列”的做法,大概率出现在 2015 年之后,无法考证到某一个精确到年的发明者。因此,本文只能说:该类方法在 2004 年 VIX 期货上市后逐渐萌芽,于 2010 年代中期在公开社区中流行起来。
改进建议
- 引入成交量加权换月:不要简单按“合约到期排序”换月,而是结合各月份合约的未平仓量和成交量,选择“成交量加权后最接近第三月剩余天数的合约”,这样既能保持远月特征,又能兼顾流动性。
- 用价差调整消除跳空:在拼接两个合约时,使用当日两个合约同时存在时的价差作为调整基准,将历史价格统一到最新合约的绝对值上。例如,若换月时旧合约比新合约高 0.5,则旧合约历史价格全部加 0.5,从而保持序列连续性,避免虚假收益断裂。
- 利用期权隐含波动率做平滑:如果某些日期远月 VX 期货数据缺失,可以使用相同期限的场外掉期或期权隐含波动率曲线进行线性插值,使合成序列更平滑、更真实。
- 提供多种展期日历:至少提供“固定每月的第 X 个交易日换月”和“距到期只剩 Y 天换月”两种选项,让使用者根据自身策略频率选择,并能够横向对比不同换月规则带来的差异。
- 输出展期收益分解报告:在连续价格序列之外,单独输出每次换月时新旧合约的价差和展期收益,让用户能够直观看到“连续序列的上涨有多少来自真实价格变动,有多少来自展期调整”。这有助于避免回测结果被换月跳空污染。
- 进行真实数据验证:选取一段有真实交易记录的远月合约数据(例如某一天第三个月合约实际有成交),用合成序列与真实合约的日线进行比较,计算均方根误差,并在文章或指标中展示误差范围,增加可信度。
- 加入流动性过滤:当远月合约成交量过低时,发出提示,或自动切换到成交量更接近的相邻合约,防止合成价格在低流动性状态下失真。
总结
“Synthetic VX3! & VX4! continuous /VX futures”这个项目,表面上是填补了一个数据空白,但实际上它触及了量化回测中最基础也最容易被忽视的问题:我们用什么样的历史价格来测试策略? 对于波动率品种而言,远月合约的真实成交稀疏,价格发现功能较弱,简单地拼接现有报价很容易得到一条漂亮的、但完全不可交易的曲线。作者用合成方法给出了一种解决思路,并且为了更真实,还特意把 VIX 现货数据拉进来作为参照,这种对数据质量的执着值得肯定。
当然,合成数据永远只是代理。任何基于 VX3、VX4 连续序列的回测结论,都必须经过“换月规则敏感性测试”和“真实流动性压力测试”的双重检验。使用者在借鉴这个思路时,应当把它当作一个起点,而不是终点。若能配合成交量过滤、价差调整和展期收益分解,原本粗糙的合成合约,就能变成研究中长期波动率溢价的一把趁手工具。
波动率市场的魅力,在于它既受情绪驱动,又有严密的数学结构。而一个准确、透明的连续远月序列,就像是给这头情绪的猛兽套上了一条可测量的缰绳。希望这篇文章,能帮助你理解这条“缰绳”是怎么织出来的,也让你在下次看到 VX4 连续数据时,多了几分审视的敏锐。