
作 者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:做了多年量化,踩过无数坑。今天我把均线交叉策略最核心的东西掏出来:SMA、EMA、WMA这三种算法怎么选?短期和长期参数到底怎么配?信号准确率怎么算?这篇文章不讲虚的,代码直接给,逻辑掰开揉碎讲清楚。很多人第一次接触技术分析,学的第一个工具就是均线。说实话,均线是所有技术指标里最不起眼的那个:它既没有MACD那么花哨,也没有RSI那样自带超买超卖的神秘光环。但就是这个看起来"平平无奇"的东西,支撑了我多年量化策略里至少一半的信号逻辑。今天这篇文章,我想把均线交叉策略这件事从头到尾说清楚:不同的均线方法有什么区别?短周期和长周期怎么搭配才靠谱?信号出来的准确率到底怎么算?代码全部附上,你看完就能跑。① 均线交叉信号,到底在说什么?我先不急着上代码,而是想把这个信号背后的逻辑聊透。假设你手里有一只标的,你想知道它最近是偏强还是偏弱。一个很本能的做法就是:看看最近一段时间的平均价格,跟更长时间的平均价格比一比。如果近期的均价跑到长期均价上面去了,说明最近的市场情绪偏积极;反过来,如果近期均价掉到长期均价下面,说明市场情绪在转冷。这就是均线交叉最基本的思想:用两条不同时间窗口的平均价格曲线的相对位置,来判断趋势的方向性变化。在量化圈子里,我们通常把这种交叉分成两种场景:短期均线上穿长期均线:短期价格走势强于长期趋势,通常被视为一个趋势转强的信号。如果你看到"Golden Cross"这个词,指的就是这个。我们在国内语境下叫它"交叉转强信号"。短期均线下穿长期均线:短期价格走势弱于长期趋势,通常被视为趋势转弱的信号。对应的英文叫"Death Cross",我们叫"交叉转弱信号"。【图1】交叉转强信号与交叉转弱信号在价格走势中的可视化示意道理很简单,但真正的问题是:你用什么方法算均线?不同的算法,得到的交叉点可能完全不一样。下面我们就来拆开讲。② 三种均线方法各有千秋很多人一上来就把SMA、EMA、WMA这些词混在一起,觉得反正都是"平均",差不多就行。这个想法会害死人的。三种方法背后是完全不同的数学逻辑,搞不清楚区别,策略回测出来的结果就毫无意义。1. 简单移动平均(SMA)SMA是最老实的算法:把过去N天的价格加起来,除以N。每一天的权重完全一样,不论它是昨天还是三个月前。公式如下:SMA = \frac{P_1 + P_2 + \dots + P_n}{n}SMA的优点是稳定,缺点也很明显——它对最近发生的事情和很久以前发生的事情一视同仁,导致信号反应偏慢。在趋势明确的行情中这不是问题,但在快速变化的波动行情里,SMA可能会让你慢半拍。2. 指数移动平均(EMA)EMA跟SMA最大的不同是:它给近期的价格更大的权重。算法上,EMA采用递推方式计算,今天的EMA值等于昨天EMA加上今日价格与昨日EMA差值的一个比例。这不是简单平均,而是一种衰减加权——越久远的数据,影响力越低。EMA对价格变化更敏感,信号出得比SMA快,适合那些对时效性要求比较高的策略场景。但敏感也意味着噪音多,虚假信号的概率会上升。3. 加权移动平均(WMA)WMA也是给不同时间点赋不同权重,但它的做法跟EMA不一样:WMA直接给每天的收盘价乘以一个线性递减的系数,最近一天乘最大,倒数第二天乘次大,以此类推。公式如下:WMA = \frac{n \cdot P_1 + (n-1) \cdot P_2 + \dots + 1 \cdot P_n}{n + (n-1) + \dots + 1}WMA更像是一个折中方案,比SMA灵敏,但没有EMA那么激进。它最大的价值在于突出关键价格区间,特别是当你在某个特定的时间窗口内有明确的关注重点时。下面这张表帮你快速对比三者的差异:特性SMAEMAWMA权重分配等权指数衰减线性递减响应速度慢快中等信号噪音低较高中等适用场景中长期趋势短中期波动关键区间分析计算复杂度低中等中等/