GugoPro Academy← 返回投资专题目录
第13类 · 趋势与突破策略手册

趋势跟踪与突破策略:
把「看法」写成可验证的规则

趋势跟踪不是预测每一个转折,突破也不是看到一根长阳就追价。本篇把市场环境、信号定义、订单执行、波动度仓位、退出规则、假突破处理、回测与复盘写成一份可检查的 Playbook。所有案例都是可重算的教学假设,不提供即时信号或个性化进出场建议。

9 个实质章节Donchian/均线(MA)/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线计算上下界:

Upper_N(t) = max(High[t−N], …, High[t−1]) Lower_N(t) = min(Low[t−N], …, Low[t−1]) 多頭候選訊號:Close[t] > Upper_N(t) 空頭候選訊號:Close[t] < Lower_N(t)

若 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 滑价与成本要按方向建模

多头突破通常是在上涨时买入,进场不利滑价代表买得更贵;多头停损出场在下跌时卖出,代表卖得更便宜。空头突破则是开仓卖出较便宜,回补时买得更贵。手续费应按实际成交金额计算,固定费、税费、借券费与转仓成本另外列示,不能用一个模糊的「预估成本」代替所有摩擦。

多頭不利滑價:Entry_fill = Entry_signal × (1 + entry_slip) 多頭停損:Stop_fill = Stop_signal × (1 − exit_slip) 空頭不利滑價:Entry_fill = Entry_signal × (1 − entry_slip) 空頭回補:Stop_fill = Stop_signal × (1 + exit_slip) 淨期望值 = 勝率 × 平均淨獲利 + 失敗率 × 平均淨虧損

可先用交易期望值计算器做成本敏感度,再把实际完成交易的 R 结果粘贴入交易日志分析器。前者测试计划假设,后者分析已发生结果,不能相互替代。

4.3 不交易规则是执行设计的一部分

突破策略可以预先写出不交易条件:价差超过上限、突破发生在流动性薄弱时段、距离止损太远导致仓位低于可操作最小量、重要事件前后没有可接受的跳空处理方式、当日已达到损失上限,或信号与交易所/券商规则不相容。这些条件不是用来事后挑掉亏损交易,而是要在发单前固定。

五、波动度与仓位大小:让风险预算先于“我有多看好”

5.1 ATR 是尺度,不是预测器

True Range 可以写成当期最高与最低、跳空与前收之间最不利的距离,常见定义为:

TR_t = max( High_t − Low_t, |High_t − Close_{t−1}|, |Low_t − Close_{t−1}| ) ATR_N = N 期 TR 的平均或指定平滑值

ATR 反映近期价格活动范围,适合用来把止损距离或仓位风险标准化;它不是方向预测,也不保证下一期一定在 ATR 范围内波动。高波动时同一仓位数量的货币风险会变大,若不调整仓位,策略的风险敞口会随市场状态膨胀。

5.2 可重算仓位案例

虛構教育案例:前 20 根 K 线最高价是 100,当期收盘突破至 101;ATR20=4,规则设定止损为进场价下方 2×ATR,因此 Stop=93。账户风险预算设为 NT$1,000,乘数为 1,先不计成本时,每单位风险为 101−93=8,最大整数部位为 floor(1,000÷8)=125 单位。这不是任何市场的即时资料,也不表示 2×ATR 是普遍适合的距离。

若再假设每单位变动成本合计为 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 最小回测合约

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、仓位与成本案例均为可重算的教学假设,不是即时行情。

参考文献

  1. Moskowitz, Ooi & Pedersen, “Time series momentum,” Journal of Financial Economics, 2012.
  2. Hurst, Ooi & Pedersen, “A Century of Evidence on Trend-Following Investing,” AQR.
  3. Investor.gov,“Types of Orders.”
  4. FINRA,《Order Types》
  5. CME Group,《Position and Risk Management》

投资风险免责声明

本页内容、计算器与示例仅供教育、研究与情境估算,不构成投资、交易、投注、税务、法律或其他个性化金融建议。金融市场与个别制度可能快速变化,请核对最新官方资料并承担决策责任。过去表现、模型输出或模拟结果不代表未来结果。