尧图精选

克莱诺趋势跟踪策略实战:双均线信号、ATR定仓与多市场分散

🕒 发布时间:2026/10/1 18:45:32 📁 来源:尧图网络
第一次真正把安德烈亚斯·克莱诺Andreas Clenow这套趋势跟踪策略落到实盘是好几年前的事了。当时一个做商品期货的朋友把回测报告拍在我面前资金曲线几乎是四十五度上扬然后他苦笑着说报告好看实盘拉胯。我们后来花了两个周末去逐行拆解最后发现问题根本不在信号本身——他把克莱诺策略里最要命的那一半给省掉了多市场分散和波动率定仓。外面很多人一提这套东西脑子里第一反应就是50均线上穿100均线就做多但信号只是表皮。真正决定一个趋势跟踪账户能不能活过十年的是仓位怎么算、风险怎么匀、组合怎么拼以及在被连续打脸的时候你还敢不敢继续下单。这篇东西我打算拆得细一点。适合三类人看一是读过《趋势跟踪》原文、想自己动手复现但卡在细节上的二是做量化、写过双均线回测、结果发现绩效和书上差一大截的三是纯小白、想搞明白趋势跟踪这四个字背后到底在干什么的。我不会给你一套包赚不赔的圣杯那东西不存在但我会把克莱诺这套逻辑里每一个数字是怎么来的、每个坑在哪里尽量讲透让你看完能自己搭出一个骨架能跑的版本。1. 趋势跟踪真正赚的是什么钱先搞懂这套策略的赌注很多人做趋势跟踪心里其实揣着一个错误前提以为自己是靠判断对方向赚钱。事实恰恰相反。趋势跟踪的胜率通常低于百分之四十也就是说你大部分交易是亏的。那它凭什么长期盈利答案藏在收益分布的形状里——它赌的是肥尾。你亏损的那几十笔每笔都被限制在一个很小的额度内而一旦抓住一波大趋势单笔盈利可能是单笔亏损的十倍、二十倍。少数几笔大的把多数小的亏损全部覆盖掉还剩下可观的正收益。1.1 它不是在预测方向而是在赌肥尾理解这一点比记住任何参数都重要。趋势跟踪系统本质上是一台截断亏损、让利润奔跑的机器。它的工作方式不是猜明天涨还是跌而是设定一个机械规则价格突破某个状态就进场状态反转就离场。至于这波行情能走多远交给市场。你能控制的只有两件事——每笔最多亏多少以及在一波趋势里能不能拿住仓位。前者靠仓位管理后者靠纪律。克莱诺整套系统其实就是围绕这两件事搭建的。这解释了一个让新手很困惑的现象为什么同样一套信号A跑出来赚钱B跑出来亏钱因为信号只决定了什么时候进而进多少、亏多少停决定了你最终能不能活下来。方向判断在趋势跟踪里权重很低风险控制的权重极高。你可以把信号想象成渔网的网眼大小把仓位管理想象成渔船的抗风等级。网眼再合适船一遇风浪就翻照样一无所获。1.2 克莱诺和普通双均线玩家的分水岭市面上讲双均线交易的内容一抓一大把但大多数只讲金叉买、死叉卖然后就没了。克莱诺的贡献不在于发明了什么神奇指标而在于他把三件本来分散的东西捏成了一个整体信号层50日和100日指数移动平均线的双重确认决定多空方向仓位层用ATR平均真实波幅把每个市场的单笔风险统一到一个固定的权益百分比组合层同时交易几十个低相关的市场用组合总风险上限和相关性调整来控制整体敞口。普通玩家只做了第一层所以他是在押单个市场克莱诺做的是三层叠加所以他是在经营一个风险的组合。这两者的区别就像一个人只买一只股票和构建一个投资组合的区别——长期结果完全是两个世界。我见过太多人卡在第一层回测一调参数漂亮得不行一上实盘就原形毕露本质上就是缺了后面两层。注意把趋势跟踪当成选品种的工具是南辕北辙。它是一套资金管理和组合构建的框架信号只是这个框架的入口。2. 50/100 双EMA信号入场、离场与翻转的完整规则信号这一层相对简单但魔鬼同样藏在细节里。克莱诺在《趋势跟踪》里给出的核心规则一句话能说完当收盘价同时高于50日和100日指数移动平均线时做多同时低于两者时做空其余情况持仓不动。听起来简单可从看懂到跑对中间有好几个必须明确的地方。下面一条条拆。2.1 入场为什么要求两根均线同时确认单根均线的问题在于太敏感。价格在均线上下反复穿越会产生大量假信号来回被割。加一根更慢的均线做第二层确认本质上是给信号加了一个趋势强度过滤器。当50日和100日两条均线都指向同一个方向、且价格站在同一侧时说明中短期和中期趋势方向一致噪音被过滤掉了大半。这里有个容易被忽略的点克莱诺要求的是价格同时站上两根均线而不是要求两根均线自己形成金叉。这两者差别很大。均线金叉是滞后信号等到50日均线爬上100日均线行情往往已经走了一大截而价格站上两根均线反应更快能在趋势早期就介入。我早期就是按金叉做的回测下来年度收益比按价格条件做低了将近三成白白让出了最肥的那一段。2.2 指数均线而非简单均线差在哪里简单移动平均SMA是等权重的100日均线意味着第100天的价格和第1天的价格权重一样大。指数移动平均EMA给近期价格更高的权重对最新变化反应更快。趋势跟踪最怕的就是迟钝——行情都反转了信号还赖着不动回撤就吃满了。EMA在这一点上比SMA平滑得更聪明。不过也别迷信EMA一定比SMA好。我的经验是在趋势特征明显、波动率相对稳定的市场EMA和SMA的差别不大但在趋势切换频繁、假突破多的市场EMA能帮你早一点离场省下的回撤是实打实的。克莱诺选EMA我理解是跟他追求快速响应、及时止损的整体哲学一致的。你要是嫌EMA参数太多容易过拟合用SMA也完全能跑只是心理上要接受信号晚一点点。2.3 反手做空的对称逻辑与心理门槛规则是对称的价格同时跌破两根均线就做空。但现实里大多数人做不到——下不去手做空或者做空之后行情稍微反弹就慌着平掉。这是人性不是策略问题。趋势跟踪的多头和空头逻辑完全一样凭什么只做一半从统计上讲很多市场下跌的速度比上涨还快做空段往往是收益效率最高的部分。我自己的应对办法是把多空仓位完全机械化处理信号触发就下单不给自己这里是不是已经跌太多了这种想法的机会。如果你实在过不了做空这道心理关那就老实承认这是一套只做多的系统然后去接受它收益更低、在某类行情下会长期空仓的结果——但别自欺欺人地说自己在跑克莱诺策略。3. 波动率定仓用ATR把每笔亏损锁死在同一个量级这一层是整套策略的心脏也是最容易被人跳过、或者做错的地方。核心思想只有一句话不要按买多少手来定仓位要按这笔最多亏多少来定仓位。波动大的市场少买波动小的市场多买最终让每个市场对账户的风险贡献尽量相等。3.1 从公式到一把算例手推一遍克莱诺用的仓位公式拆开看是这样几层单笔可承受风险金额 账户权益 × 单笔风险比例 每手对应的波动金额 ATR × 合约乘数 手数 单笔可承受风险金额 ÷ 每手对应的波动金额举个具体例子方便你对号入座。假设账户权益100万单笔风险比例取0.1%那么这笔交易最多能亏1000块。某个品种的ATR是50点合约乘数是10块钱一点那么每手对应的波动金额就是50 × 10 500块。手数 1000 ÷ 500 2手。就这么简单。这里的关键是ATR扮演了这个市场现在有多狂躁的度量。ATR越大说明它一天能晃动的幅度越大你就得少买点ATR越小就多买点。这样一来无论你交易的是铜、原油还是某个安静的农产品每笔交易对账户造成的潜在冲击都被拉平到同一个水平线上。组合里几十个市场谁也别想拖垮整个账户。提示ATR这里通常用较长周期比如100日来算目的是让波动率估计更稳定不至于因为某天一根大阳线就突然把仓位砍半。短周期ATR虽然反应快但会让仓位频繁跳动执行成本上升。3.2 风险因子取多少取决于你手里有多少个市场0.1%这个数字不是随便拍的它跟你同时持有多少个市场强相关。逻辑是这样的如果每个市场单笔风险都是权益的0.1%当你有50个市场同时在场且全部朝不利方向走极端情况总风险就是5%。这个数字在可接受范围内。但如果你只交易5个市场还用0.1%那组合总风险只有0.5%太低资金利用率上不去收益自然也就上不来。反过来你要是只交易5个市场却把单笔风险设到1%那理论总风险能到5%以上甚至更高因为小样本下所有仓位同时亏损的概率并不低。所以风险因子的选取本质是总风险预算 ÷ 市场数量的分配问题。克莱诺默认给的范围大致在0.1%到0.2%之间配合几十个市场。你市场少就得相应提高单笔比例市场多就该压低。别照搬数字要照搬逻辑。3.3 合约乘数、最小跳动与保证金占用新手最容易翻车的地方在这里。不同期货品种的合约乘数千差万别一点值多少钱完全不同。同样是ATR为1的波动有的品种代表10块钱有的代表1000块手数算错一个数量级都算轻的。算仓位之前一定要把三样东西查清楚要素含义踩坑点合约乘数每点对应的货币金额不同品种差异巨大算错就全错最小变动价位报价的最小跳动单位影响滑点估算和成交价精度保证金比例开仓需占用的资金比例保证金不足会被强平和风险定仓是两回事特别强调最后一行保证金占用和你按风险算出来的仓位是两套逻辑。风险定仓管的是我最多亏多少保证金管的是交易所要求我压多少钱。系统算出来的手数可能因为保证金不够而无法执行这时候必须降低手数或者缩减市场数量而不是硬上加杠杆。我见过有人为了凑够算出来的手数去提高杠杆结果一个反向跳空就爆了仓——这是拿风险预算开玩笑。4. 组合热度与相关性50个市场别做成一笔交易仓位算对了单个市场还不算完。真正决定账户生死的是所有这些仓位加在一起之后的总风险轮廓。克莱诺在这一层埋了两道保险组合总风险上限和相关性调整。4.1 组合总风险上限该怎么设原理很直白把组合里所有持仓的单笔可承受风险金额加起来不能超过权益的某个上限。这个上限就是所谓的组合热度portfolio heat。为什么要设它因为趋势跟踪在多空信号集中的时候会出现大量同向持仓。如果行情突然反转所有仓位一起亏累计亏损可能远超单笔风险。设一个总上限等于给账户装了一个总的断路器。实践中我建议把组合热度控制在一个你晚上睡得着的水平。克莱诺的做法通常是让组合风险处于一个相对保守的区间不追求满仓满风险。你可以这样理解单个市场管的是别在一棵树上吊死组合热度管的是别把鸡蛋放在一个篮子里还搂着篮子睡觉。当新信号进来但组合热度已满就得要么放弃这笔交易要么从现有持仓里挑风险贡献最大的减掉腾出额度。4.2 相关性叠加的隐性风险这是纸面上最不显眼、实盘里最要命的坑。你买了原油、买了燃料油、买了某种化工品以为自己分散了三个市场其实它们高度正相关本质上是同一个风险敞口重复了三遍。一旦能源板块整体反转你这三个分散的仓位会一起爆。相关性调整的意义就是把这种虚假的分散识别出来对高度相关的持仓进行合并或降低单笔风险。我的处理习惯是定期算一遍持仓之间的滚动相关系数把明显高相关的一组仓位按照组内数量去分摊风险预算。比如一组有五个高度相关的市场那这组的总风险不该是单市场的五倍而应该压缩到一个合理水平。不做这一步你的50个市场分散很可能在关键时刻缩水成7个板块集中押注。注意相关性不是恒定的。平时不相关的两类资产在极端行情里可能突然同涨同跌俗称相关性趋同。所以调整不能只依赖长期历史相关系数最好再叠加一个板块层面的敞口上限做一道硬约束。4.3 指数化的仓位缩放函数克莱诺还有一个细节处理值得拿出来说他没有对仓位做简单的线性缩放而是引入了一个略微非线性的缩放方式让账户权益在不同阶段下的风险暴露更平滑。简单讲就是账户亏得越多单笔风险压缩得越快账户赚了风险回升得又相对克制。这有点像给仓位管理装了一个缓震器避免在连续亏损期还维持高强度下注导致加速回撤。这东西用不用、怎么用可以自己权衡。核心目的只有一个让风险敞口随账户状态自适应而不是一根筋地按固定比例下注。我自己实盘里是保留了类似的缩放逻辑的尤其在回撤期它帮我把损失速度压了下来——虽然也因此错过了一部分快速反弹但趋势跟踪本来就不是靠抓反弹吃饭的先活下来才是第一位的。5. 从回测到实盘我在这套系统上踩过的坑前面讲的都是应该怎么做接下来讲实际做起来会怎么坑你。这一节可能是整篇里对你最有用的部分因为这些都是真金白银换来的教训书上不会写得这么直白。5.1 连续合约拼接最容易造假的地方趋势跟踪要在期货上做长周期回测绕不开一个问题单个合约有到期日你不能拿一个马上就要交割的合约一直回测下去。于是大家会拼接出一个连续合约。问题就出在这里——拼接方式不同回测结果能差出天壤之别。市面上常见的拼接方式有几种各有各的偏差。有的在换月时不做价格调整直接接上会造成价格跳空回测里凭空多出或消失一段收益有的做后向调整历史价格会被整体平移虽然连续了但绝对价位失真。我当年就是没注意这个回测里有一段特别漂亮的收益实盘死活复现不出来查了两周才发现是拼接方式造成的假信号。判断方法很简单把不同拼接方式的结果横向比一遍如果差距大得离谱那你的回测就有问题。稳健的系统不应该对拼接方式这么敏感。5.2 滑点、手续费和换月成本回测里最容易被低估的三块成本滑点、手续费、换月成本。滑点是指你按收盘价算信号、按次日开盘价成交时实际成交价和你假设价之间的差手续费是每次进出的固定支出换月成本是每次移仓时的价差损耗。这三块单看都不多但趋势跟踪是低频、多市场、长期反复进出的策略累积起来能吃掉相当一部分毛利。我的做法是把滑点按品种的流动性分层设置。流动性好的主力品种假设一两个最小跳动流动性差、买卖价差大的品种就得设得更保守。回测里宁可把成本设得比现实更悲观一点如果这样还能跑出正收益那实盘才有底气。反过来一个回测里零成本才赚钱的系统实盘基本没戏。5.3 参数过拟合的识别与防范双均线系统就俩参数50和100听着不太容易过拟合但危险在于挑品种和挑时间段。你要是拿着几十个品种、几段历史反复试参数组合最后挑出一组在历史上表现最好的那大概率是过拟合。识别方法有这么几条看参数敏感性把50/100换成45/95、55/105如果绩效断崖式下跌说明你调到了一条窄缝里看样本外表现留一段历史不参与调参最后拿它检验如果表现和样本内差太多就有问题看逻辑一致性参数背后要有道理。50和100大致对应两个多月和五个月的趋势周期这是有交易逻辑支撑的。如果你调出个37和113那就得问问自己为什么。我自己的原则是参数尽量取整数、取有逻辑意义的数宁可牺牲一点回测绩效也要换取参数的稳健性。回测曲线稍微平一点没关系实盘能不能扛住才是真的。6. 资金不多的人怎么落地这套策略克莱诺的原版系统是给能交易几十个期货市场的机构账户设计的小资金照着原样搬会处处碰壁——保证金不够、市场覆盖不了、分散度做不出来。但这不代表小资金就玩不了思路要变。6.1 用ETF和股票复制趋势逻辑期货门槛高但ETF和股票的门槛低得多。你可以把同样的双均线信号搬到一篮子跨市场、跨板块的ETF上宽基、行业、商品、债券、海外市场各来一点。信号规则完全一样——价格站上两条均线做多跌破做空如果你所在的账户支持做空。仓位依然用ATR来定只不过这里的ATR换成对应ETF的波动幅度合约乘数变成1因为股票和ETF按份额交易。这样做会损失一些东西股票和ETF大多只能做多做空渠道有限流动性好的品种数量没期货那么多分散度打折扣没有期货的杠杆效应收益弹性会低一些。但换来的是门槛低、操作简单、不用操心保证金和移仓。对绝大多数个人投资者来说这套ETF版趋势跟踪反而是更现实的选择。6.2 减少市场数量但保住分散度小资金最大的敌人是被迫集中。你钱少又想分散到几十个市场结果每个市场只能买一点点手续费占比反而高得离谱。这时候要在分散度和单位成本之间找平衡。我的经验是市场数量可以降到十到十五个但必须确保它们跨大类——比如股票、债券、商品、不同区域各覆盖一点而不是全挤在一个板块里。宁可十个真正低相关的市场也不要三十个高度相关的市场。分散的本质是降低组合整体的波动而不是凑数量。你手里品种少就把单笔风险比例相应调高一点让总风险预算回到合理水平但绝不能用多买几个相关的品种来假装分散。6.3 执行节奏与纪律比参数更重要最后说点软性的但我觉得比参数还重要。趋势跟踪的执行频率低意味着你大部分时间在等信号、拿仓位、忍回撤。它折磨人的地方不在于操作而在于什么都不做的时候心里发慌以及连续亏几笔之后开始怀疑系统。这时候最忌讳的就是临场改参数、提前平仓、或者跳过信号。我现在的做法是把所有规则提前写死信号触发就执行记录每笔交易的理由但不允许在持有期间因为情绪去干预。回撤期反而是我最无脑的时候——越简单越机械越不容易犯错。这套东西不需要你聪明需要你稳定。能把一个简单的规则不折不扣地重复几百次比不断优化出一个复杂系统要难得多也有用得多。我个人的体会是真正让这套系统跑出来的往往不是那个把参数调到最优的人而是那个能在连续亏损时依然按规则下单、在浮盈回吐时依然拿住仓位的人。克莱诺给的是一副骨架血肉得靠你自己在执行里一点点长出来。你把这套框架搭起来之后可以先拿小仓位跑几个月感受一下它的回撤节奏和自己的心理反应再决定要不要加大仓位——这一步没有捷径只能自己走。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →