
一句话结论:均线金叉是最适合入门的第一个策略,规则简单、几分钟就能写完并回测。但它本身不是一个能赚钱的策略:全 A 股 10 年 29.8 万笔交易,扣成本后平均每笔赚 0.30%,扣掉同期大盘后反而跑输 0.86%;换了四组参数,全部跑输。
前面七课讲了概念、装好了软件、试过了条件选股。这一课写出第一个完整的策略:有买、有卖,然后跑一次回测,读懂结果。

一、策略规则:三句话写完
第 3 课说过,一个策略由入场、出场、仓位组成。均线金叉策略是这样的:
| 组成 | 规则 |
|---|---|
| 入场 | MA5 上穿 MA20(金叉),收盘确认,第二天开盘买入 |
| 出场 | MA5 下穿 MA20(死叉),收盘确认,第二天开盘卖出 |
| 仓位 | 每次用固定比例的资金 |
MA5 是最近 5 天收盘价的平均,MA20 是最近 20 天的平均。短均线反应快,长均线反应慢。短的从下往上穿过长的,说明最近几天的价格明显高于过去一个月的平均水平,被看作上涨开始;反过来就是下跌开始。
为什么用它做第一个策略?因为规则清楚、没有主观判断,而且几乎所有量化教程都从它开始,你可以拿结果和别人对照。
二、青柠数据实验 1:全 A 股 10 年回测
把这条规则放到 2016 年 1 月至 2026 年 10 月的全部 A 股上(排除 ST 和北交所):
- – 第二天一字涨停买不进的剔除;
- – A 股 T+1,买入当天不能卖;
- – 每笔来回扣 0.15% 成本;
- – 同一只股票持仓期间不重复买入。
| 指标 | 结果 |
|---|---|
| 交易笔数 | 298,028 |
| 胜率 | 32.5% |
| 平均盈利 | +11.88% |
| 平均亏损 | −5.28% |
| 盈亏比 | 2.25 |
| 平均每笔(扣成本) | +0.30% |
| 平均持有 | 15.4 个交易日 |
| 平均每笔超额 | −0.86% |
用第 5 课的方法读这份报告:
- 1. 胜率 32.5%,盈亏比 2.25。保本胜率 = 1 ÷ (1 + 2.25) = 30.8%,实际胜率略高于保本线,所以扣成本后每笔还有 0.30%。这是典型的趋势策略:十笔亏七笔,靠少数大赚的弥补。
- 2. 超额是负的。超额 = 这笔交易的收益 − 同一时间段全市场股票的平均收益。金叉出现时,往往大盘也在涨;持有这段时间,随便买一只股票平均也能赚,而且赚得比金叉选出来的还多。+0.30% 不是策略的功劳,是大盘的。
换参数会好吗
很多人第一反应是:5 和 20 不行,换一组试试。
| 参数 | 交易笔数 | 胜率 | 盈亏比 | 平均每笔(扣成本) | 平均持有 | 平均超额 |
|---|---|---|---|---|---|---|
| 5 / 10 | 541,309 | 35.1% | 1.87 | +0.02% | 8.6 天 | −0.47% |
| 5 / 20 | 298,028 | 32.5% | 2.25 | +0.30% | 15.4 天 | −0.86% |
| 10 / 30 | 185,483 | 32.7% | 2.16 | +0.23% | 24.4 天 | −0.96% |
| 20 / 60 | 95,806 | 29.4% | 2.14 | −0.71% | 44.1 天 | −1.65% |
均线越短,交叉越频繁,交易次数翻倍,成本吃掉了大部分收益;均线越长,信号越滞后,买得越晚。四组超额全部是负的。 这说明问题不在参数,而在规则本身:单靠均线交叉,在 A 股个股上选不出比大盘更好的股票。
分年份
| 年份 | 交易笔数 | 胜率 | 平均每笔 | 超额 |
|---|---|---|---|---|
| 2016 | 17,093 | 34.6% | −0.52% | −1.58% |
| 2017 | 19,494 | 29.7% | −0.96% | −0.79% |
| 2018 | 22,266 | 22.8% | −2.49% | −1.23% |
| 2019 | 23,980 | 37.1% | +2.05% | −1.32% |
| 2020 | 25,485 | 30.1% | +0.42% | −0.33% |
| 2021 | 29,418 | 34.4% | +0.92% | −0.20% |
| 2022 | 30,180 | 31.6% | −0.55% | −0.91% |
| 2023 | 34,228 | 32.1% | −0.47% | −0.68% |
| 2024 | 33,875 | 30.6% | +0.89% | −1.41% |
| 2025 | 37,051 | 42.1% | +3.09% | −0.32% |
| 2026 | 24,958 | 27.9% | −1.11% | −1.25% |
绝对收益随大盘起落:2018 年熊市每笔亏 2.49%,2025 年每笔赚 3.09%。但超额每一年都是负的。
三、青柠数据实验 2:用在沪深 300 指数上
个股上选不出超额,那用金叉判断大盘、决定什么时候持有指数呢?同一时间段,在沪深 300 指数上:收盘 MA5 在 MA20 上方就第二天持有,否则空仓,每次换仓扣 0.075%。
| 总收益 | 年化 | 最大回撤 | 交易次数 | 胜率 | |
|---|---|---|---|---|---|
| 买入持有 | +14.84% | +1.29% | −45.60% | 1 | — |
| 5/20 金叉择时 | −6.61% | −0.63% | −35.32% | 87 | 33.3% |

金叉择时把最大回撤从 45.6% 降到 35.3%,但 10 年下来是亏的。87 次交易里赚钱的只有三分之一,反复进出的成本和来回打脸吃掉了收益。
海外也有类似结论:标普 500 上用 50 日和 200 日均线金叉,56 年年化 7.49%,略低于买入持有的 8.41%,但最大回撤从 56.8% 降到 33.9%(Trader Markus)。均线择时的价值主要在少亏,而不是多赚。
四、那为什么还要学它
结果不好,不代表这一课白学。均线金叉的价值在于:
- 1. 它是一个完整的模板。入场、出场、仓位都有,以后换成任何指标,结构都一样。
- 2. 它让你学会读回测。胜率、盈亏比、超额、分年度,这一课全用上了。
- 3. 它是改进的起点。后面的课程会在它上面加东西:第 13 课加多头排列,第 19 课加趋势强度过滤,第 53 课加大盘择时,第 51 课改出场方式。每加一样,都可以和这一课的结果对比。
五、常见误区
「金叉就买,死叉就卖,一定赚钱」
全 A 股 10 年 30 万笔交易,扣掉大盘后是跑输的。
「换个参数就好了」
四组参数全部跑输。参数调到某一组刚好好看,多半是过拟合,第 56 课会专门讲。
「当天收盘就买」
金叉要收盘才确认,现实中只能第二天开盘买。回测里用当天收盘价成交,结果会偏好。
「只看绝对收益」
2025 年每笔平均赚 3.09%,看起来很好,但同期大盘涨得更多,超额是负的。
在青柠中实操
- 1. 打开左侧 量化策略,点 + 新建策略。
- 2. 从组件库的 指标 拖入两个 MA,周期分别填 5 和 20。
- 3. 从 条件 拖入 金叉/上穿,快线选 MA5、慢线选 MA20;再拖入一个 死叉/下穿,同样设置。
- 4. 从 信号 拖入 入场信号 接金叉条件,离场信号 接死叉条件。
- 5. 从 仓位 拖入 固定仓位,保存策略。
- 6. 在策略卡片上点 回测,选择 单账户回测 或 批量回测。默认初始资金 100000、佣金费率 0.0003,成交方式保持 下一根 K 开盘,选择回测区间后运行。
- 7. 在报告里找到总收益率、年化收益率、最大回撤、夏普比率、胜率,再打开 交易明细。
不想自己拖组件,也可以在 青柠 Agent 里输入「MA5 上穿 MA20 买入,下穿卖出」,让 AI 生成同样的策略。
跑完之后,可以去青柠策略市场看看别人在均线上加了什么条件:
下一课(第 9 课)把这次回测的每一笔交易画到 K 线上,逐笔看清楚钱是怎么赚和怎么亏的。
常见问题
为什么用 5 和 20?
5 天约等于一周,20 天约等于一个月,是国内行情软件最常见的默认值。本课也对比了 5/10、10/30、20/60。
海外常说的「黄金交叉」是哪两条线?
通常是 50 日和 200 日均线。原理一样,只是周期更长、信号更少。
超额为负,是不是说明反着做就能赚?
不能。反着做要承担完全不同的风险,而且扣成本后未必赚钱。超额为负只说明这条规则选出的股票不比市场平均好。
为什么第 9 课里全 A 的金叉次数和这里不同?
本课同一只股票持仓期间不重复买入,统计的是实际交易;第 9 课统计的是所有金叉信号,所以次数略多。
口径说明
个股实验股票池为全 A 股,排除 ST(按当前名称)和北交所,剔除未复权收盘价低于 3 元的股票,价格后复权;区间 2016-01-04 至 2026-10-12。金叉、死叉均以收盘价计算的均线判断,次日开盘成交;次日一字涨停(最高价等于最低价且开盘高于信号日收盘 4% 以上)视为买不进;同一股票持仓期间的重复金叉不计入;样本末尚未死叉的持仓不计入。每笔来回扣 0.15%。超额收益 = 该笔开盘到开盘收益(未扣成本)− 同信号日全市场等权、相近持有期的开盘到开盘平均收益(持有期按 1–3、4–7、8–15、16–25、26–40、41–55、56 天以上分组近似)。沪深 300 使用指数日线(000300.SH,价格指数,不含分红),收盘 MA5 高于 MA20 则次日持有,换仓每次扣 0.075%。2026 年为不完整年度。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。
读到这里,不如自己验证一次
文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。