2. 趋势跟踪基础

趋势跟踪听起来简单——“顺势而为”,但真正落地时,第一步不是选指标,而是把“趋势”本身定义清楚。如果定义模糊,后续的入场、止损、加仓和分散化都会失去统一标准。本节从趋势的本质出发,逐步过渡到识别方法与策略底层逻辑,为多市场组合打下概念地基。

一、趋势的定义:不是预测,而是对价格路径的结构化描述

在量化语境中,趋势不是“未来会涨”的判断,而是对已发生价格路径的一种统计描述。一个可操作的定义是:趋势是价格在某一时间窗口内,沿特定方向持续偏离其均衡位置,并伴随回调但不断创出方向性新高/新低的过程。

这个定义包含三个关键要素:

  • 方向性:价格序列存在可度量的斜率或方向偏移,而非纯随机游走。
  • 持续性:方向在时间上延续,而非单根K线的脉冲。
  • 结构性:回调不破坏主要方向,形成“高点抬高、低点抬高”或反之的序列。

因此,趋势跟踪策略本质上是在赌“路径延续性”,而不是赌某个价格目标。它接受低胜率,依靠少数大趋势覆盖大量小亏损。

二、趋势的类型:按时间尺度与形态划分

趋势并非单一维度,可以从两个角度分类:

分类维度 类型 特征 策略含义
时间尺度 长期趋势 持续数月到数年,由宏观基本面驱动 适合周线/月线跟踪,换手低
中期趋势 持续数周到数月,常为长期趋势的子浪 日线级别主力跟踪区间
短期趋势 数天到数周,噪声占比高 用于择时入场,不宜单独作为方向依据
形态结构 上升趋势 高点抬高、低点抬高 只做多或偏多配置
下降趋势 高点降低、低点降低 只做空或降低暴露
震荡/无趋势 高低点交错,无方向序列 趋势策略的“成本区”,需靠分散化与过滤控制
实战中,同一品种在不同时间尺度上可能同时存在相反趋势。多市场趋势跟踪组合的核心之一,就是利用不同市场、不同周期的趋势错位来分散风险。

三、趋势识别方法:从主观画线到可计算规则

识别趋势的方法可分为主观与客观两类。课程强调可复现的客观规则,因为只有可计算,才能回测、组合与风控。

  1. 结构法(高低点序列):用滚动窗口判断是否形成“更高高点+更高低点”。优点是直观,缺点是对窗口参数敏感。
  2. 均线法:价格在均线上方且均线向上,视为上升趋势。常见如20日、60日、200日均线。
  3. 通道法:布林带、唐奇安通道等,价格突破通道上轨视为趋势启动。
  4. 动量/斜率法:对价格做线性回归,斜率显著为正且R²较高,视为趋势有效。
  5. 波动率调整法:用ATR归一化价格变化,避免不同市场波动差异导致误判。

下面是一个用Python计算简单趋势状态的示例,结合均线方向与ATR归一化斜率:

import numpy as np
import pandas as pd

def trend_state(price: pd.Series, window=60, atr_window=14):
    ma = price.rolling(window).mean()
    slope = (ma - ma.shift(5)) / ma.shift(5)          # 均线5期变化率
    tr = pd.concat([
        price.diff().abs(),
        (price - price.shift()).abs(),
        (price.shift() - price).abs()
    ], axis=1).max(axis=1)
    atr = tr.rolling(atr_window).mean()
    norm_slope = slope / (atr / price)                # 波动率调整
    state = np.where((price > ma) & (norm_slope > 0.1), 1,
             np.where((price < ma) & (norm_slope < -0.1), -1, 0))
    return pd.Series(state, index=price.index)

# 输出:1=上升趋势,-1=下降趋势,0=震荡/无趋势

该函数输出的状态序列可直接作为趋势跟踪策略的方向过滤器:只在状态为1时做多,为-1时做空,为0时空仓或降低仓位。

四、经典指标与趋势跟踪策略的底层逻辑

经典趋势指标众多,但底层逻辑可归纳为三类:

  • 突破类:唐奇安通道、海龟法则。逻辑是“价格创N日新高/新低,说明趋势可能启动”。
  • 均线类:双均线、MACD。逻辑是“短期均线穿越长期均线,代表方向确认”。
  • 动量类:ROC、RSI趋势版。逻辑是“过去一段时间涨幅/跌幅具有延续性”。

无论哪种指标,趋势跟踪策略的底层逻辑都遵循同一链条:

  1. 信号生成:由指标产生方向性入场信号。
  2. 仓位管理:根据波动率(如ATR)决定头寸大小,实现风险平价。
  3. 止损/退出:趋势反转或触发移动止损时离场。
  4. 分散化:在多个低相关市场同时运行,降低单一市场震荡带来的回撤。
趋势跟踪的盈利来源不是“预测准确”,而是“截断亏损、让利润奔跑”的收益分布结构。少数大趋势贡献绝大部分收益,因此组合分散化是生存关键。

五、案例与场景:同一逻辑在不同市场的表现

假设我们在股指、国债、黄金、原油四个市场运行同一套唐奇安突破策略(20日突破入场,10日反向突破离场,ATR止损)。在2020—2023年期间,股指与原油出现多次假突破,产生连续小亏;而黄金与国债在特定阶段走出流畅趋势,单笔盈利覆盖多笔亏损。若只交易单一市场,可能因连续亏损而放弃;但四市场组合后,资金曲线明显平滑。

这说明:趋势跟踪策略的“圣杯”不在指标参数,而在多市场、多周期的分散化配置。

六、常见误区与复盘要点

误区1:把趋势跟踪当预测工具。趋势跟踪是反应式系统,不预测顶底,只跟随已发生的方向。

误区2:过度优化指标参数。在历史数据上追求高胜率,往往导致过拟合,实盘失效。

误区3:忽略波动率差异。不同市场波动差异巨大,不进行ATR归一化,会导致风险集中在高波动品种。

误区4:在震荡市中频繁交易。趋势策略在无趋势阶段必然亏损,需靠过滤规则与分散化控制回撤。

复盘时应重点关注:信号是否可复现、仓位是否按波动率调整、退出是否一致、组合层面相关性是否稳定。只有把这些基础打牢,后续的多市场趋势跟踪组合分散化实战才有可靠的前提。

趋势跟踪策略底层逻辑链条 信号生成 突破/均线/动量 仓位管理 ATR风险平价 止损/退出 移动止损/反转 分散化 多市场/多周期 收益分布结构:截断亏损,让利润奔跑 多次小亏损 少数大盈利