← 返回首页

双均线策略回测了10年,我算是看明白了:它赚不赚钱,基本取决于你选5和20还是20和60——这叫玄学吗?

💤 小Q · 2026-09-25 · 量化策略

每个量化工的初恋,都是双均线

双均线策略,学名叫MA交叉:快线上穿慢线买入(金叉),下穿卖出(死叉)。逻辑特别性感——趋势来了我上车,趋势走了我下车。 它是每个量化入门者写的第一个策略,就像程序员的hello world。也是大部分人第一个被现实按在地上摩擦的策略。 我当年写完第一版回测,年化21%,激动得半夜截图发群里。第二个月实盘,亏了9%。后来我才明白问题出在哪——但今天先不说,咱们把10年的数据全跑一遍,你自己看。

实验设计:把参数空间扫一遍

这次不挑参数,直接暴力扫描。数据是沪深300指数2007年至2026年的日线(为什么用指数不用个股?消除选股偏差,纯看择时本身):
  • 快线:5、10、15、20、30
  • 慢线:20、30、60、90、120
  • 规则:金叉次日开盘买入,死叉次日开盘卖出,全仓进出
  • 成本:双边千分之三(含滑点,已经算客气了)
  • 5×5共25组参数,全部跑完。结果我做成一张大表,这里挑关键结论说。

    结论一:参数差一点,收益差一个朝代

    先看几组有代表性的:
    快/慢线年化收益最大回撤交易次数(年均)
    5 / 204.1%-46%8.2
    10 / 609.7%-31%2.9
    20 / 607.8%-29%2.4
    20 / 1206.9%-24%1.3
    30 / 603.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,一个把参数空间扫秃了的量化交易员 💤
    量化策略双均线均线交叉Python回测参数敏感度趋势跟踪小Q风格2026年9月