量化交易

趋势跟踪与均值回归:两大主流算法策略的底层逻辑与适用边界

均值回归过程可以写成:…

趋势跟踪与均值回归:两大主流算法策略的底层逻辑与适用边界

dSₜ = α(μ − Sₜ)dt + σdBₜ

趋势跟踪的核心却不是价格回到某个中枢,而是价格变化本身在一段时间内具有持续性。两套模型的出发点相反。一个交易偏离后的修复。一个交易变化后的延续。

这不是术语差异。它直接决定信号生成方式、持仓周期、止损结构、收益分布和回测结果。趋势跟踪通常低胜率、高盈亏比。均值回归通常高胜率、低盈亏比。前者容易在震荡区间连续亏损。后者容易在单边行情或协整关系破裂后暴露尾部风险。

量化系统不能只回答策略过去赚不赚钱。还要回答:收益来自什么统计假设。假设在哪些市场状态下成立。失效时,损失如何被限制。

时间序列动量:趋势跟踪交易的是收益延续

趋势跟踪的数学根基是时间序列动量。

设某资产在时间区间内的收益为:

rₜ = ln(Pₜ / Pₜ₋₁)

最简单的趋势信号,可以由过去一段时间的累计收益决定:

signalₜ = sign(Σᵢ₌₁ⁿ rₜ₋ᵢ)

当过去一段时间收益为正,模型持有多头。当累计收益为负,模型持有空头。实际系统会加入均线交叉、突破通道、波动率调整、信号平滑和仓位限制。但核心没有变化:

过去的价格变化,为未来的持仓方向提供条件概率。

这不是预测下一个价格点。也不是寻找价格的理论价值。趋势模型只判断当前方向是否已经形成足够的持续性。

市场为什么会出现趋势

趋势跟踪依赖市场对新信息的吸收存在延迟。

这种延迟不需要被解释成主观行为。它可以来自多个可观测机制:

  • 不同资金的调仓周期不同,信息不会同时反映在所有资产上。
  • 期货账户受到保证金、风险预算和持仓上限约束,无法一次完成全部交易。
  • 机构组合往往按照月度或季度流程调整,不会对每个价格变化即时反应。
  • 波动率上升后,风险控制模型可能先降低仓位,再重新建立方向。
  • 资产本身存在趋势性供需变化,价格变化不会在一个交易日内完成。

这些机制共同增加了收益序列的短期相关性。2012年,莫斯科维茨、欧伊和佩德森对商品、国债、外汇和股指期货等58个资产进行研究,发现时间序列动量在1至12个月范围内具有持续性。

这里的重点不是某一个固定持有周期。重点是周期范围。趋势跟踪的信号窗口不能脱离标的、频率和交易成本单独讨论。日线期货、分钟级股票和跨资产组合使用相同窗口,统计含义不同。

趋势信号的三层结构

一个可运行的趋势策略,通常至少包含三层逻辑。

第一层是方向信号。

常见方法包括:

  • 短期均线向上穿越长期均线。
  • 价格突破过去一段时间的最高价或最低价。
  • 过去若干个月累计收益为正或为负。
  • 多个不同窗口的趋势信号加权合成。

第二层是风险调整。

同样的方向信号,在低波动资产和高波动资产上不能使用相同仓位。常见做法是使用历史波动率估计单位风险:

positionₜ ∝ signalₜ / volatilityₜ

波动率上升,仓位下降。波动率下降,仓位可以上升,但通常需要设置上限。否则,低波动阶段会积累过高杠杆,波动率回升时产生非线性损失。

第三层是组合层分配。

趋势策略不只对单个品种产生信号。还要处理资产之间的相关性。商品、利率、外汇和股指期货可能同时出现同方向信号。若直接按品种累加仓位,组合可能被某一类宏观风险集中占用。

所以,趋势跟踪系统的完整形式不是:

上涨就买,下跌就卖。

而是:

方向判断、波动率标准化、风险预算、相关性约束、执行成本共同构成最终持仓。

趋势跟踪为何经常低胜率

趋势策略通常不会在每次交易中获利。突破信号本身存在滞后。价格突破后,趋势可能延续,也可能迅速回到区间内部。

在震荡市场中,价格多次穿越均线或突破区间。模型不断切换方向。每次损失通常不大,但连续信号会消耗大量交易成本和小额止损。

因此,趋势策略的收益结构往往是:

  • 大量小亏损。
  • 少量中等盈利。
  • 极少数大幅盈利。
  • 盈利交易的持仓周期通常更长。
  • 收益分布右偏,不服从简单正态分布。

这也是趋势策略不能使用单次胜率判断的原因。一个胜率较低的系统,只要平均盈利足够大,仍然可能具有正期望。反过来,一个胜率很高的系统,如果偶发亏损远大于普通盈利,累计收益仍然可能在一次极端行情中被破坏。

均值回归:交易价格偏离后的统计修复

均值回归的假设不同。

价格或价差偏离历史中枢后,未来存在回到中枢附近的倾向。这个中枢可以是移动均值、长期均值、协整组合的理论价差,也可以是经过标准化处理后的统计中心。

最常见的标准化指标是:

Zₜ =(Xₜ − μₜ)/σₜ

其中,Xₜ是当前价格或价差,μₜ是滚动均值,σₜ是滚动标准差。

当Z值超过正阈值,模型可能建立空头。当Z值低于负阈值,模型可能建立多头。当Z值回到接近零的位置,模型平仓。

市场中常见的阈值是2倍标准差附近。但这个数字不是自然法则。它只是一个初始参数。样本长度、价格分布、波动率聚集和交易成本都会改变阈值的实际含义。

O-U过程表达的是什么

Ornstein-Uhlenbeck过程用随机微分方程描述均值回归:

dSₜ = α(μ − Sₜ)dt + σdBₜ

其中:

  • Sₜ表示当前状态。
  • μ表示长期均值。
  • α表示回归速度。
  • σ表示随机扰动强度。
  • Bₜ表示布朗运动。

当Sₜ低于μ,漂移项为正,模型倾向于向上修复。当Sₜ高于μ,漂移项为负,模型倾向于向下修复。α越大,理论上的回归速度越快。

但真实市场数据并不会自动满足这个过程。价格序列往往具有趋势、跳跃、波动率聚集和结构变化。将所有价格直接套入O-U模型,会产生严重的模型错配。

更合理的对象通常是价差,尤其是经过协整检验的价差。

单个股票价格长期保持平稳,并不是常见现象。两个价格序列可能各自非平稳,但某种线性组合可以平稳:

spreadₜ = ln(P₁ₜ) − βln(P₂ₜ)

如果spread序列具有稳定均值和有限方差,才具备进一步讨论均值回归的基础。

高胜率不是安全性证明

均值回归策略经常出现连续盈利。价格大多数时间没有发生极端偏离。只要阈值设置合理,模型可以频繁捕捉小幅修复。

问题在于,偏离不一定会修复。

价格突破历史区间后,可能进入新的均衡水平。价差扩大后,可能不是暂时偏离,而是构成关系发生变化。企业基本面、合约期限结构、政策约束、指数成分或流动性条件变化,都可能让原有统计关系失效。

这时,模型仍然会把新趋势解释为旧均值附近的异常值。每一次加仓都在增加错误方向的暴露。

均值回归最危险的时刻,不是第一次偏离,而是模型把结构变化误判成普通噪声。

均值回归的核心风险不是普通波动。是均值本身移动,或者均值不再存在。

胜率与盈亏比:两套策略的收益分布不同

趋势跟踪和均值回归经常被放在同一张收益曲线里比较。这种比较如果只看年化收益或夏普比率,信息不足。

必须拆解收益分布。

趋势跟踪依赖少数大趋势。策略可以在很多次假突破中亏损,再由一次持续行情收回损失。它的收益分布通常具有明显的右尾。

均值回归依赖大量小幅修复。策略可以连续多次获利,但在趋势突然增强、价差持续扩大或流动性快速下降时产生大额亏损。它的收益分布往往表现为高胜率、低盈亏比,同时存在左尾风险。

参数趋势跟踪均值回归
核心假设收益方向在一段时间内持续价格或价差偏离后回到中枢
主要信号动量、均线、突破、累计收益Z值、价差、布林区间、协整残差
常见胜率较低较高
单笔盈亏比较高较低
适合环境单边上涨或下跌、趋势持续震荡区间、价差关系稳定
主要亏损来源假突破、频繁反转、交易成本趋势延续、均值移动、关系破裂
持仓逻辑尽量保留盈利趋势接近均值后退出
尾部风险震荡期连续小亏单边期持续扩大亏损
组合作用提供趋势暴露和危机阿尔法可能性提供区间收益和相对价值暴露

这里的胜率和盈亏比只能作为典型特征。不能视为固定参数。具体数值取决于标的、时间窗口、杠杆、交易成本和回测周期。

趋势跟踪与危机阿尔法

趋势策略在危机环境中可能获得正收益,原因不是它提前知道危机发生,而是它对价格方向变化做出反应。

当市场出现快速下跌,趋势系统可能在一段时间后转为空头。反应速度取决于信号窗口和执行频率。它不会在第一个下跌日自动完成切换,也不能保证避开初始回撤。

但当下跌形成持续趋势时,趋势策略可能继续持有空头。这个特征被称为危机阿尔法。

它有明确边界:

  • 如果危机只表现为单日跳跌后快速反弹,趋势信号可能来不及完成切换。
  • 如果市场高频反转,模型可能在多空之间反复切换。
  • 如果交易成本和滑点较高,频繁调整会削弱收益。
  • 如果资产之间高度相关,组合仍可能在同一个风险因子上集中暴露。

所以,危机阿尔法不是保险合同。它是趋势延续在特定极端环境中的结果。

均值回归的尾部暴露

均值回归策略的收益曲线通常更平滑。平滑不等于低风险。

如果策略每天赚取小额收益,却在极端行情中一次损失多个平均盈利周期,那么收益曲线的平滑部分只是在延迟风险暴露。

这种结构可以用期望收益简单表达:

E[R] = pG −(1 − p)L

其中p是盈利概率,G是平均盈利,L是平均亏损。

均值回归的p可能较高,但L也可能显著高于G。趋势策略则可能具有较低的p,但G远高于L。最终结果取决于参数、成本与风险控制,而不是单独取决于胜率。

对于均值回归,重点不是把开仓阈值从1.8倍标准差调到2.1倍标准差。重点是识别异常偏离是否仍属于同一统计过程。

协整关系与阈值控制:配对交易不是简单的价差交易

配对交易是均值回归策略的经典应用。

基本逻辑是寻找两只或多只资产的相对价格关系。先估计对数价格之间的线性关系,再对残差进行平稳性检验。常见方法包括恩格尔—格兰杰两步法和增广迪基—富勒检验。

流程可以拆成四步。

第一步:构造价格组合

设两个资产价格分别为P₁和P₂。使用对数价格建立回归关系:

ln(P₁ₜ) = a + βln(P₂ₜ) + εₜ

其中εₜ是残差。交易对象不是P₁或P₂本身,而是残差εₜ,或者由两个价格构造出的价差。

如果只观察两条价格曲线是否同步上涨,并不能证明存在协整关系。相关性描述的是同时变化。协整关系描述的是长期线性组合是否稳定。二者不是同一个统计概念。

第二步:检验残差是否平稳

平稳残差应当具备相对稳定的均值和波动范围。若残差存在单位根,当前价差扩大后可能继续扩大。此时,均值回归逻辑缺乏统计基础。

增广迪基—富勒检验可以用于判断残差序列是否具有平稳性。但检验结果本身也受到样本区间影响。

在过去一段时间内平稳,不代表未来仍然平稳。结构关系可能随着行业竞争、公司经营、指数规则和资本结构变化而改变。

第三步:建立开平仓阈值

常见做法是计算残差的Z值:

Zₜ =(εₜ − μₑ)/σₑ

当Z值超过正阈值时,做空价差。当Z值低于负阈值时,做多价差。当Z值返回零附近,平仓。

但阈值不是越宽越好。

阈值过窄,会出现以下问题:

  • 交易频率过高。
  • 小幅噪声被识别为信号。
  • 手续费、滑点和买卖价差侵蚀收益。
  • 样本内交易次数看似充足,样本外收益迅速下降。

阈值过宽,则会出现另一组问题:

  • 信号数量减少。
  • 资金占用时间变长。
  • 偏离可能在回归前继续扩大。
  • 单次交易的尾部风险上升。

第四步:处理对冲比例和执行误差

回归得到的β不一定稳定。滚动估计可以适应变化,但也会引入估计噪声。

如果β变化很快,频繁再平衡会增加交易成本。如果β长期不变却使用过短窗口,系统会把随机扰动当作结构变化。

配对交易还面临同步成交问题。两条腿没有在同一时刻完成,策略就会短暂暴露于单边价格风险。尤其在快速行情中,先成交的一腿可能已经产生不利方向,另一腿却无法获得足够流动性。

因此,理论价差和实际组合之间存在多个偏差:

  • 回归系数估计偏差。
  • 交易时间不同步。
  • 买卖价差扩大。
  • 借券或融资成本变化。
  • 期货合约换月造成价格跳变。
  • 交易限制导致无法及时平仓。

均值回归策略的回测必须把这些因素加入执行层。否则,回测收益属于统计序列,不属于可交易策略。

两种模型的回测方式不能相同

趋势跟踪和均值回归虽然都可以使用历史价格,但回测重点不同。

趋势跟踪要观察持续性与回撤恢复

趋势跟踪回测不能只看最终净值。需要检查:

1. 大部分收益是否集中在少数交易区间。

2. 震荡阶段是否出现连续反复止损。

3. 不同信号窗口是否具有相似方向。

4. 波动率调整是否导致仓位在极端阶段异常放大。

5. 交易成本增加后,策略是否仍然保持正期望。

6. 多资产组合是否只是重复暴露于同一趋势因子。

如果策略只有一个窗口,例如只使用20日突破,那么参数敏感性很高。将窗口改为19日或21日后,收益显著变化,通常意味着模型正在拟合历史路径。

更稳定的做法是使用多个时间窗口。让短期、中期和长期信号共同决定方向。但这也会降低反应速度,并增加模型复杂度。复杂度不是免费变量。

均值回归要观察关系稳定性与极端损失

均值回归回测则需要重点分析:

1. 价差均值是否随着时间移动。

2. 残差是否在不同阶段保持平稳。

3. 回归速度是否稳定。

4. 极端偏离后,价格是否真的回到原均值。

5. 交易是否集中在少数高波动时期。

6. 最大亏损是否来自协整关系破裂。

7. 交易成本是否改变单笔交易的期望值。

尤其要拆分样本内和样本外。

如果先用全样本数据选择配对对象,再用同一段数据检验收益,结果会产生前视偏差。正确流程应当是:使用历史窗口选择关系,在后续时间段交易,再滚动更新参数。

不能用未来数据确定过去是否存在协整关系。不能用最终样本均值标准化早期信号。不能在回测结束后删除亏损最大的几笔交易,再宣称风险得到控制。

这类处理不是优化。是数据泄漏。

回测不是把历史价格重新播放一遍。回测是重建当时可获得的信息集合。

策略失效的结构性风险

趋势跟踪和均值回归都可能失效。失效形式不同。

趋势跟踪的失效:震荡与假突破

趋势跟踪最典型的失效环境是无方向震荡。

价格在区间内来回波动。每次突破都缺乏后续收益。模型根据已有信息建立方向,价格随后反向移动。系统再次平仓或反向开仓。整个过程形成连续小亏损。

可以通过更长窗口减少信号噪声。但更长窗口会增加信号滞后。也可以使用趋势强度过滤器,例如要求突破伴随波动扩张或多周期方向一致。但过滤器本身可能减少有效交易,并引入新的参数。

没有一个过滤器可以在不牺牲任何收益的情况下消除所有假突破。

趋势跟踪还存在跳跃风险。价格跳空时,实际成交价可能远离理论止损价。止损只是下单逻辑,不是成交保证。对于期货和杠杆产品,这个差异必须写入风险模型。

均值回归的失效:趋势与均值移动

均值回归最典型的失效环境是持续单边行情。

假设策略在Z值达到2时开仓,价格继续向原方向运行,Z值达到3、4甚至更高。若模型按照固定倍数加仓,风险会快速累积。每次加仓都降低理论平均成本,但没有降低实际尾部风险。

如果价差关系发生结构性变化,原有均值不再有效。此时,等待回归不是纪律,而是错误。

均值回归系统必须明确退出条件:

  • 价差突破最大容忍阈值。
  • 持仓超过最大时间仍未回归。
  • 滚动协整检验失效。
  • 回归速度显著下降。
  • 波动率达到模型不适用范围。
  • 组合中某个资产发生停牌、换约或交易限制。

这些规则会降低部分高胜率交易的收益。但没有它们,策略可能把有限亏损转化为无限等待。

机器学习不能消除统计假设

机器学习模型可以用于趋势分类、波动率预测、信号过滤和参数选择。但它不能替代策略假设。

如果输入变量只包含过去价格,模型仍然受到样本稳定性的约束。如果训练数据中包含某一阶段的特殊趋势,模型可能把阶段性结构识别成普遍规律。

常见问题包括:

  • 特征数量过多。
  • 参数搜索次数过多。
  • 训练集和测试集分布不同。
  • 交叉验证破坏时间顺序。
  • 忽略交易成本和成交延迟。
  • 只优化收益,不约束尾部风险。
  • 使用未来可知的成分股名单或指数权重。

在量化交易中,过拟合不是模型太复杂的同义词。它是模型对样本内噪声的解释能力超过了对真实机制的解释能力。

简单模型也会过拟合。只要调参流程不受约束,均线、阈值和止损一样可以被优化到失去样本外意义。

如何组合两类策略

趋势跟踪和均值回归不是二选一。

它们对市场状态的暴露不同,理论上具有互补性。趋势跟踪在单边行情中更有优势。均值回归在稳定区间和相对价值环境中更有优势。组合两者,可以降低单一收益来源失效时的集中风险。

但组合前要先处理信号相关性。

如果趋势策略和均值回归策略都交易同一品种、同一频率、同一方向,名义上是两个模型,实际可能只是在重复计算同一风险。策略名称不同,不代表收益来源不同。

可以从以下维度拆分:

  • 标的不同:趋势策略覆盖多资产,均值回归只覆盖流动性稳定的配对。
  • 周期不同:趋势策略使用中长期窗口,均值回归使用短中期价差。
  • 风险预算不同:对尾部风险高的均值回归设置独立限额。
  • 交易方向不同:趋势策略承担方向风险,配对交易尽量控制市场中性。
  • 退出逻辑不同:趋势策略让盈利奔跑,均值回归强调时间止损和结构止损。
  • 组合层控制:根据波动率和相关性动态调整资金分配。

一个简单的组合框架可以将总风险拆成两部分:

总风险预算 = 趋势风险预算 + 均值回归风险预算

但风险预算不能只按照资金比例分配。均值回归的名义仓位可能接近市场中性,实际尾部风险却很高。趋势策略的日常波动可能较大,但在长期趋势中具备更好的损失恢复能力。

因此需要分别估计:

  • 日收益波动率。
  • 最大回撤。
  • 回撤持续时间。
  • 极端日损失。
  • 收益偏度。
  • 峰度。
  • 策略间相关性。
  • 在压力场景下的共同损失。

正态分布假设在这里不够用。均值回归的左尾和趋势策略的右尾,都可能被正态分布低估。

参数优化:先控制自由度,再追求收益

趋势跟踪的参数优化,优先处理窗口稳定性。

可以测试一组相邻窗口,而不是寻找单一最优点。例如,把短期、中期和长期窗口分别设置为多个相近范围,观察参数变化后收益曲线是否仍然存在。

如果只有一个参数组合盈利,周围参数全部失效,模型大概率依赖历史噪声。

均值回归的参数优化,优先处理阈值和持仓时间。

阈值决定开仓频率。持仓时间决定资金占用和尾部暴露。两者需要联合评估。不能只把开仓阈值调高,再忽略价差可能持续扩大的问题。

建议至少进行以下测试:

  • 不同滚动窗口。
  • 不同开仓阈值。
  • 不同平仓阈值。
  • 不同最大持仓时间。
  • 不同交易成本假设。
  • 不同滑点假设。
  • 不同样本内外切分方式。
  • 不同市场阶段。

参数优化的目标不应只是最大化收益。更合理的目标包括:

  • 收益在参数邻域内保持稳定。
  • 最大回撤不依赖单次特殊交易。
  • 交易成本上升后仍有一定余量。
  • 样本外收益来源与样本内一致。
  • 模型在失效阶段可以停止扩大风险。

趋势跟踪需要防止过度过滤。过滤器过多,会把策略变成历史行情的条件判断器。

均值回归需要防止过度加仓。加仓可以改善成本线,但不能创造回归概率。回归概率下降时,仓位越大,结果越差。

结论:先识别收益来源,再讨论策略优劣

趋势跟踪交易时间序列动量。它依赖方向持续和市场反应滞后。典型特征是低胜率、高盈亏比。主要风险是震荡、假突破和交易成本。

均值回归交易偏离修复。它依赖价格中枢、价差平稳和协整关系。典型特征是高胜率、低盈亏比。主要风险是均值移动、趋势延续和结构性破裂。

两者没有抽象意义上的优劣。只有与特定市场状态、交易频率、执行条件和风险预算是否匹配。

趋势策略的核心问题是:趋势是否足够长,能够覆盖入场滞后和连续假突破成本。

均值回归的核心问题是:当前偏离是否仍属于原有统计过程,而不是新均衡的开始。

模型上线前,至少需要确认四件事:

1. 信号只使用当时可获得的数据。

2. 交易成本、滑点和成交延迟已经进入回测。

3. 参数在邻近范围内保持稳定。

4. 失效条件能够触发减仓或退出。

最后不做行情预测。只给出系统边界。

趋势跟踪不保证捕捉每次上涨或下跌。均值回归不保证每次偏离都会修复。回测结果不构成未来收益承诺。参数越多,过拟合风险越高。杠杆越高,结构性错误越快转化为实际损失。

可执行的量化策略,不是最复杂的策略。是统计假设清晰、数据处理可复现、执行路径可验证、失效方式已经写进系统的策略。

相关阅读: 量化策略失效的归因逻辑:明日排查数据与算法偏差的实操指南.

常见问题

趋势跟踪和均值回归的核心区别是什么?
趋势跟踪交易价格变化的持续性,均值回归交易价格或价差偏离中枢后的修复。前者依赖方向延续,后者依赖统计关系保持稳定。
趋势跟踪策略为什么经常低胜率?
趋势信号通常存在滞后,价格突破后可能迅速回到区间内部。在震荡市场中,模型会频繁切换方向,形成连续的小额亏损。
均值回归策略最大的风险是什么?
最大的风险是偏离不再修复,或者均值本身发生移动。企业基本面、政策约束、合约期限结构、指数成分或流动性条件变化,都可能使原有统计关系失效。
配对交易如何判断是否具备均值回归基础?
通常需要先建立对数价格之间的线性关系,再对残差进行平稳性检验。只有当价差或残差具有相对稳定的均值和波动范围时,才具备进一步讨论均值回归的基础。
回测趋势跟踪和均值回归策略时分别要关注什么?
趋势跟踪需要关注收益是否集中在少数趋势阶段、震荡期的连续亏损以及参数和交易成本的影响。均值回归需要关注均值和回归速度是否稳定、极端偏离后的表现,以及最大亏损是否来自关系破裂。