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. 失效条件能够触发减仓或退出。
最后不做行情预测。只给出系统边界。
趋势跟踪不保证捕捉每次上涨或下跌。均值回归不保证每次偏离都会修复。回测结果不构成未来收益承诺。参数越多,过拟合风险越高。杠杆越高,结构性错误越快转化为实际损失。
可执行的量化策略,不是最复杂的策略。是统计假设清晰、数据处理可复现、执行路径可验证、失效方式已经写进系统的策略。
相关阅读: 量化策略失效的归因逻辑:明日排查数据与算法偏差的实操指南.
