每个量化工的初恋,都是双均线
双均线策略,学名叫MA交叉:快线上穿慢线买入(金叉),下穿卖出(死叉)。逻辑特别性感——
趋势来了我上车,趋势走了我下车。
它是每个量化入门者写的第一个策略,就像程序员的hello world。也是大部分人
第一个被现实按在地上摩擦的策略。
我当年写完第一版回测,年化21%,激动得半夜截图发群里。第二个月实盘,亏了9%。后来我才明白问题出在哪——但今天先不说,咱们把10年的数据全跑一遍,你自己看。
实验设计:把参数空间扫一遍
这次不挑参数,直接暴力扫描。数据是沪深300指数2007年至2026年的日线(为什么用指数不用个股?
消除选股偏差,纯看择时本身):
快线:5、10、15、20、30
慢线:20、30、60、90、120
规则:金叉次日开盘买入,死叉次日开盘卖出,全仓进出
成本:双边千分之三(含滑点,已经算客气了)
5×5共25组参数,全部跑完。结果我做成一张大表,这里挑关键结论说。
结论一:参数差一点,收益差一个朝代
先看几组有代表性的:
| 快/慢线 | 年化收益 | 最大回撤 | 交易次数(年均) |
| 5 / 20 | 4.1% | -46% | 8.2 |
| 10 / 60 | 9.7% | -31% | 2.9 |
| 20 / 60 | 7.8% | -29% | 2.4 |
| 20 / 120 | 6.9% | -24% | 1.3 |
| 30 / 60 | 3.2% | -38% | 1.8 |
| 买入持有 | 5.6% | -72% | 0 |
看明白了吗?
5/20和10/60,就差了一档参数,年化差了5.6个百分点,回撤差了15个点。 而5/20比30/60多赚了,但前提是你能忍受一年8次进进出出的手续费鞭打。
这就是量化圈说的
参数敏感度。参数敏感度高的策略,你回测出的高收益大概率只是'恰好选对了参数'——历史拟合得漂亮,未来一跑就崩。我当年那版年化21%,就是用了5/10这种短线参数,恰好在2015年的疯牛里表现爆棚,换个年份就是废物。
结论二:双均线赚的钱,是有明确定义的
把25组参数的逐笔交易拉出来统计,发现一个稳定的规律:
双均线的利润几乎全部来自大级别单边行情,而在震荡市里是稳定失血的。
具体点:过去10年里,双均线策略约80%的利润,来自2014-2015、2019-2020、2024Q4-2025Q1这三段趋势行情。剩下的时间,它在震荡市里被金叉死叉反复打脸,小额亏损绵延不绝——这个有个专业名字,叫
whipsaw(鞭打效应),字面意思,很形象。
所以双均线的本质是一张
趋势保险单:行情不来,你年年交保费(震荡市的磨损);行情来了,保险公司赔你一大笔(单边市的利润)。理解了这一点,你就不会在震荡市里骂策略垃圾了——
它没坏,只是这个季节不该它出场。
结论三:参数不是玄学,有物理逻辑
那到底该选哪组参数?我的答案可能会让你失望:
没有最优参数,只有参数区域。
但这个区域不是瞎划的。把25组结果按参数画成热力图后,规律相当清楚:
快慢线比值在3倍左右的区域(10/30、10/60、20/60)整体表现最稳,几乎没有特别差的
比值太近(5/20这种)交易太频繁,磨损吃光利润
比值太远(30/120这种)反应太慢,趋势走完它才反应过来
为什么是3倍左右?我的理解是它恰好匹配了A股的行情节奏——
一波像样的趋势通常持续两到三个月,20/60日线大约对应一个月到一个半月的滞后确认,刚好能吃到趋势的中段,又不至于吃太深的回撤。
再往深说一层:这也是我判断一个策略'是不是过拟合'的土办法——
把参数邻域全扫一遍,如果周边参数也赚钱,说明抓到的是规律;如果只有孤零零一个参数赚钱,那是背答案。
最后说点实话
双均线10年回测最好的参数组年化也就9.7%,还不如很多人随便拿的一只基金。它跑赢买入持有的地方不在收益,在
回撤从-72%砍到-30%以内——这意味着你可以加杠杆、可以拿得住、可以在熊市里还有子弹。
所以我的真实用法是:双均线从来不当主策略,只当
大盘的'季节开关'——趋势在,策略组合正常满仓跑;趋势没了,全体收缩仓位过冬。就这一条规则,2022年帮整个组合少亏了十几个点。
策略和人一样,不在于多聪明,在于知道自己什么季节该干活。
回测里最危险的不是亏钱的参数,而是那个让你笑出声的参数——它八成是历史专门出给你看的考题答案。
我是小Q,一个把参数空间扫秃了的量化交易员 💤