趋势跟踪与突破策略:
把「看法」写成可验证的规则
趋势跟踪不是预测每一个转折,突破也不是看到一根长阳就追价。本篇把市场环境、信号定义、订单执行、波动度仓位、退出规则、假突破处理、回测与复盘写成一份可检查的 Playbook。所有案例都是可重算的教学假设,不提供即时信号或个性化进出场建议。
先掌握五个核心判断
- 趋势跟踪的核心是「规则有延迟但可重复」,不是每次都在最低点买入或最高点卖出。
- 突破信号必须先定义观察窗、收盘确认、成交时点与滑价假设;只看盘中穿越会产生不同策略。
- 趋势系统常用较小的多次亏损换取少数大波段,因此不能只用胜率判断优劣,还要检查平均盈亏、成本、连续亏损与最大回撤。
- ATR 或其他波动度尺度可以协助统一单笔风险,但它不会消除跳空、流动性、合约乘数或保证金风险。
- 回测中的信号、成交、成本与资料截止日都要可重建;若使用未来资料或把收盘信号当成同一收盘成交,结果会被高估。
一、先分清楚:趋势追踪、突破与动能不是同义词
1.1 趋势追踪是在反应,不是在预言
趋势跟踪(trend following)通常在价格已经呈现某种方向性后才提高敞口。它接受信号存在延迟,以换取规则易于描述、易于测试,也不必事前猜中转折。最常见的代价是在盘整市场中的反复进出、信号滞后,以及在趋势末段才退出。这种「小亏损很多次、少数大波段支付成本」的收益形态,与高胜率的均值回归策略不同。
学术研究常把跨资产、按自身过去报酬判断方向的 time-series momentum 放在趋势追踪脉络中。Moskowitz、Ooi 与 Pedersen 的研究在股价指数、货币、商品与债券期货的 58 个流动工具上,观察到一至十二个月的报酬延续性;研究也指出更长期间可能出现部分反转。[1] AQR 的长期历史研究则把 time-series momentum 的资料回溯至 1880,用来检验趋势追踪是否只是在近几十年偶然有效。[2] 这些都是历史研究,不等于任何个人策略未来一定有利。
1.2 突破是信号形式,策略仍要补齐上下文
突破(breakout)通常把当前价格与一段回看区间的高点、低点、通道或结构比较。价格穿越区间上缘可以产生多头候选信号,穿越下缘可以产生空头候选信号;但「穿越」本身并没有告诉你要用盘中价格还是收盘、在哪一根成交、止损放在哪里、遇到跳空怎么办,以及何时停止交易。因此突破只是规则的入口,不是完整策略。
1.3 先写策略的收益形状
| 问题 | 趋势跟踪/突破常见回答 | 要實際驗證的項目 |
|---|---|---|
| 胜率 | 可能不高,因为盘整会反复触发失效。 | 胜率、平均获利、平均亏损与尾端分布。 |
| 获利来源 | 少数持有较久的趋势段。 | 移除最佳几笔后是否仍能维持合理结果。 |
| 主要风险 | 假突破、反转、滑点与连续小亏损。 | 连亏长度、MDD、回撤恢复时间与成本敏感度。 |
| 执行特征 | 可能追价,且成交价格不确定。 | 訊號與成交延遲、價差、深度、未成交與跳空。 |
在这种收益形态下,也要计算损益两平胜率:平均亏损绝对值 ÷(平均获利+平均亏损绝对值)。如果策略依赖少数大获利,损益两平胜率只是理论门槛,仍要观察实际交易的成本、滑点、连续亏损与最大回撤。
二、先判断市场环境:同一条规则不会在所有市场都一样
2.1 趋势与盘整要用可观测条件区分
「现在有趋势」不能只写成主观感觉。可以用移动平均的相对位置、斜率、通道宽度、波动率状态或近期高低点结构定义环境。例如教育用的环境条件可以写成:SMA50 高于 SMA200 且 SMA200 近几期没有下降;这不是普遍最佳参数,而是一个可被回测、被推翻、也可以做敏感度分析的明确假设。若参数只在 49、203 之类的单一组合有效,应怀疑过度拟合。
2.2 市场选择要把执行成本放在前面
选择标的时,日成交量只是起点。要同时记录买卖价差、深度、交易时段、事件时段、止损触发时的可成交性、做空限制、合约乘数与报价币别。小型股票、冷门期货或周末流动性薄弱的加密市场,平静时的历史曲线可能掩盖压力时段的滑价。要把市场分组,而不是把不同产品的结果混成一个平均值。
2.3 趋势追踪适合多市场观察,但分散不等于无风险
跨股票指数、利率、外汇与商品的规则可以降低对单一市场失效的依赖,但在流动性收缩或宏观冲击时,相关性可能上升。不同市场也有不同交易时段、跳空、保证金与转仓规则。正确的分散做法是列出每个市场的风险单位、共同因子与最坏情形,而不是仅仅增加标的数量。
在执行前,可以用交易前规则检查器确认环境、事件、成本、仓位与不交易条件都已书面化;这个完成度只代表流程完整,并不代表信号有效。
三、建立突破规则:把「穿越」拆成观察、确认与成交
3.1 Donchian 通道的可重算定义
以 N 根 K线的 Donchian 通道为例,为了避免把当期资料偷放进阈值,先用前 N 根已完成 K线计算上下界:
若 N=20,`Upper20(t)` 就是当期收盘前 20 根已完成 K 线的最高价,不包含当期正在形成的 K 线。这个细节决定回测是否使用了未来信息。你可以再加上波动性滤网或长期均线条件,但每一个滤网都要在数据契约中固定,并分别检查增益是否只是参数挖掘。
3.2 收盘确认与盘中穿越是两个不同系统
若规则写「当期收盘高于前 20 根最高价」,信号最早在收盘时才知道;若用下一根开盘成交,至少要记录一根 K 线的信息延迟。若规则写「盘中价格穿越通道上沿就挂止损买单」,则成交可能更早,但价格、跳空、未成交与滑点模型也完全不同。不能先用收盘确认的信号,再用当期最低价或收盘价假设完美成交。
| 模型 | 訊號成立時點 | 常见成交假设 | 主要偏误 |
|---|---|---|---|
| 收盘确认/下一根成交 | 收盘后才确认 Close 超过门槛。 | 下一根开盘或可证实的延迟价格。 | 若偷用当期收盘成交,会低估延迟与滑点。 |
| 盘中止损单 | 价格触及突破门槛。 | 止损单触发后转市价;成交价不保证。 | 忽略跳空、价差与部分成交。 |
| 收盘价筛选后限价 | 收盘后决定。 | 只在指定价或更好价格成交。 | 若未成交仍当作持仓,会高估成交率。 |
Investor.gov 说明市价单通常保证执行但不保证成交价格,限价单有价格边界但可能不成交,停损单达到 stop price 后会转成市价单。[3] FINRA 也提醒报价延迟、执行时间与波动会造成实际成交价与看到的报价不同。[4] 因此突破交易的“信号正确”与“能以理想价格成交”必须分开。
3.3 突破缓冲不是免费的改进
为了降低刚好碰到通道就反转的情况,可以把门槛提高为 `Upper_N + buffer`,或要求收盘高于通道一定比例。缓冲越大,可能减少噪声,也可能导致进场更晚、放弃部分趋势、增加追价距离。缓冲设置应以参数敏感度表呈现,而不是只挑一组最好看的结果。
四、订单与执行:突破策略最容易在成交假设上自欺
4.1 信号、送单、成交要有三个时间戳
交易日志至少保存信号形成时间、送单时间与成交时间。若信号在 10:00:00 形成、10:00:02 送单、10:00:03 成交,这三个时间点才能让你知道策略延迟、平台延迟与市场滑价各自发生在哪里。只有一个“进场价”栏位,无法区分规则失效与执行偏差。
4.2 滑价与成本要按方向建模
多头突破通常是在上涨时买入,进场不利滑价代表买得更贵;多头停损出场在下跌时卖出,代表卖得更便宜。空头突破则是开仓卖出较便宜,回补时买得更贵。手续费应按实际成交金额计算,固定费、税费、借券费与转仓成本另外列示,不能用一个模糊的「预估成本」代替所有摩擦。
可先用交易期望值计算器做成本敏感度,再把实际完成交易的 R 结果粘贴入交易日志分析器。前者测试计划假设,后者分析已发生结果,不能相互替代。
4.3 不交易规则是执行设计的一部分
突破策略可以预先写出不交易条件:价差超过上限、突破发生在流动性薄弱时段、距离止损太远导致仓位低于可操作最小量、重要事件前后没有可接受的跳空处理方式、当日已达到损失上限,或信号与交易所/券商规则不相容。这些条件不是用来事后挑掉亏损交易,而是要在发单前固定。
五、波动度与仓位大小:让风险预算先于“我有多看好”
5.1 ATR 是尺度,不是预测器
True Range 可以写成当期最高与最低、跳空与前收之间最不利的距离,常见定义为:
ATR 反映近期价格活动范围,适合用来把止损距离或仓位风险标准化;它不是方向预测,也不保证下一期一定在 ATR 范围内波动。高波动时同一仓位数量的货币风险会变大,若不调整仓位,策略的风险敞口会随市场状态膨胀。
5.2 可重算仓位案例
若再假设每单位变动成本合计为 NT$0.20,简化后每单位风险变成 8.20,最大整数仓位变为 floor(1,000÷8.20)=121 单位,预估风险为 NT$992.20。这个差异说明「先算价格距离再忽略成本」会让仓位略微超过真实风险预算。使用实战交易计划与头寸检查器时,仍要自行核对实际乘数、费率、税费、最小跳动与跳空风险。
5.3 乘数、最小交易单位与总敞口
期货、差价合约、期权与加密衍生品不应直接套用现货每股模型。每点乘数、保证金、到期、强平、借券、币别与最小下单单位都会改变最坏损失。即使每笔交易都只使用账户 1% 风险,多个同向市场仍可能在同一个宏观事件中同时触发退出;仓位检查必须延伸到组合层级。
CME Group 的教育内容将仓位与风险管理放在交易前流程,强调先考虑可承受损失与适当仓位,而不是先决定想买多少。[5] 这里的风险预算是研究模型,不是对个人可承受损失的诊断。
六、退出、止损与持仓管理:不要把成功交易的尾端剪掉
6.1 固定目标与趋势退出的取舍
固定目标容易计算,但可能提前结束长趋势;以 N 日低点、ATR 追踪止损或均线跌破退出,可能保留更长的获利尾端,却会回吐部分浮盈。两者不是谁一定更好,而是两种不同收益形态。若原本研究的是趋势追踪,后来加上很近的固定目标,实际上可能已变成另一套策略,不能用原本的命名掩盖规则改变。
6.2 止损必须是失效定义,不是情绪开关
止损可以基于价格结构、通道反向突破、ATR 距离或时间条件,但必须在进场前写下。把止损越移越远,会改变原来的风险预算;把止损移到保本,也可能增加短期噪音洗出。每次移动止损都要在历史规则中预先定义,并在交易日志中标记“规则内”或“临时修改”。
6.3 加码与部分出场要重新计算总风险
趋势变好后加码不是免费的。新的 Entry、Stop、数量与原有持仓应合并计算最坏情形;部分出场后的平均盈利与剩余敞口也会改变。如果只记录最后一个平均价格,复盘就无法知道每段风险如何累积。可以把每个 fill 拆成一笔事件,并以组合层级检查总风险与最大回撤。
6.4 交易与风险停机条件
- 连续亏损达到预先设定的研究警戒线,先停下来检查执行与数据,而不是立即放大或缩小所有参数。
- 权益曲线回撤超过策略历史可接受区间,启动人工复核与环境检查。
- 市场流动性、交易时段、合约规格或券商规则改变时,暂停套用旧回测。
- 若事件或跳空导致无法证明的成交假设,将该笔标记为模型外,而不是假装精确成交。
七、假突破与失效模式:把「没有赚钱」拆成可改善的原因
7.1 假突破的结构
假突破不是单纯“突破后下跌”四个字。至少要先定义观察期:突破后若在 M 根 K线内重新收回通道,或触发原本的结构止损,才算该规则的失败。不同的 M、收盘确认与退出方式会得到不同失效率。若一看到突破后回落就主观标记假突破,研究结果会混入事后信息。
| 失效来源 | 可观测迹象 | Playbook 对策 |
|---|---|---|
| 盘整噪音 | 通道反复被穿越,方向延续短。 | 检查环境滤网、提高确认条件,并测试成本敏感度。 |
| 事件跳空 | 开盘直接越过门槛或止损。 | 事前规定事件持仓、最大滑价与不交易时段。 |
| 流动性收缩 | 价差扩大、深度下降、部分成交。 | 記錄可成交數量,將未成交與不利成交分開。 |
| 参数过度拟合 | 只有一组 N、buffer 或 ATR 倍数有效。 | 做邻近参数、跨市场、样本外与 walk-forward 测试。 |
| 規則漂移 | 交易者临时移停损、追价或跳过信号。 | 交易前检查与交易后日志分开标记,不用结果合理化。 |
7.2 突破失败不等于立刻反向
原本的多头突破失效,只代表多头假设未被支持;它不自动证明空头策略已成立。若要反向交易,必须另写空头的信号、成交、仓位、止损与成本契约。否则把多头出场和空头进场绑在一起,会无意间增加交易频率与滑价。
7.3 研究日志要记录“规则错”还是“执行错”
一笔亏损可能是策略在盘整环境自然付出的成本,也可能是信号计算错误、下单迟了、仓位过大或止损没有按原规则执行。交易日志至少要有策略标签、环境标签、计划/实际成交、滑价、规则遵守、结果 R、持有期与退出原因。用交易日志分析器查看总体统计后,再按环境与规则遵守程度分组。
八、回测验证:先建立数据契约,再看绩效曲线
8.1 最小回测合约
- 数据按从旧到新排列,标注交易所、时区、调整方式、缺值与 corporate action。
- Upper/Lower/ATR/均线只使用信号形成前已知资料。
- 明确写出信号与成交的时间间隔,不能把收盘信号当成同一收盘成交。
- 加入手续费、点差、方向性滑价、税费、未成交、部分成交与跳空处理。
- 按时间切出研究期、验证期、样本外期;参数不能用到后段资料。
- 同时报告交易笔数、胜率、平均盈亏、期望值、Profit Factor、MDD、连亏与水下时间。
- 在不同市场、不同波动环境与邻近参数下重做,避免单一曲线决定结论。
8.2 趋势策略要看分布,不只看 CAGR
如果全部累积报酬来自两笔极端大获利,策略的实际持有体验可能长期不稳。要查看月度或交易层级分布、最差连亏、最大单笔损失、尾端获利占比、回撤持续时间与恢复速度。把最佳交易移除或把成本加倍,是辨识策略是否依赖偶然事件的简单压力测试。
8.3 样本外与 walk-forward
可把数据分成固定研究窗与后续测试窗:在研究窗决定 N、buffer、ATR 倍数或环境滤网,再完全不修改地执行下一段测试;窗格向前移动后重复。若每次看完测试结果又回头调参,下一段就不再是干净的样本外。回测最重要的输出不是「最好参数」,而是规则在不同时间与环境的脆弱处。
若要把信号与特征串成可审计流程,可延伸阅读量化研究工作台、回测与过度拟合文章與技术指标边界文章。本文不把任何回测结果包装成实时交易信号。
8.4 权益曲线与回撤要与交易日志互相核对
交易层级的 R 序列、资金权益曲线与资产价格曲线是三个不同层次。价格上涨不代表策略一定获利,策略获利也不代表回撤可承受。可用风险报酬与最大回撤分析工具分析粘贴的权益或收益序列,再回到日志核对最大回撤是由哪些交易、环境与执行偏差造成。
九、可直接复制的趋势追踪与突破 Playbook 表
下表不是推荐参数,而是一个要求自己填满的研究模板。若其中任何栏位只能写「看盘决定」或「视情况」,就代表规则尚未达到可验证程度。
| 模块 | 必填规则 | 可重算字段 | 失效/停机条件 |
|---|---|---|---|
| 市场与标的 | 市场、交易时段、币别、流动性与合约规格。 | 价差、深度、乘数、最小单位、费率。 | 規格改變、流動性低於門檻、事件風險無法處理。 |
| 环境滤网 | 趋势/盘整判定与参数,明确资料截止。 | MA 位置、斜率、ATR、通道宽度。 | 只在单一参数或单一市场有效。 |
| 突破信号 | 觀察窗 N、Close/盤中、突破緩衝。 | Upper、Lower、信号时间。 | 信息泄露、重复信号、数据缺口。 |
| 成交执行 | 訂單類型、延遲、允許滑價、未成交處理。 | 送单/成交时间、预期/实际价格。 | 跳空、部分成交、止损成交价无法证明。 |
| 仓位与风控 | 单笔风险预算、ATR 止损、总曝险。 | 每单位风险、整数头寸、使用率。 | 总风险超限、保证金不足、同向暴露过高。 |
| 退出与复盘 | 固定目标或追踪退出、时间退出、规则遵守。 | 实现 R、持有期、MDD、连亏。 | 規則外修改、環境轉換、回撤超出研究區間。 |
把规则写下来,再决定是否值得测试
第 13 类的工具不是替你选标的,而是把成本、仓位、已完成交易与回撤拆成可核对的数据。
来源与数据边界
趋势跟踪的研究背景采用公开学术与研究机构资料;订单执行与交易前风险采用 Investor.gov、FINRA 与 CME Group 教育资料。来源用于定义概念、研究背景与执行风险,不支持针对特定标的、参数、方向或回报预测。本文所有价格、ATR、仓位与成本案例均为可重算的教学假设,不是即时行情。