写出你的第一个策略:均线金叉,并跑一次回测

青 青柠量化
2026-10-12
均线金叉四组参数:扣成本后平均每笔收益有正有负,扣掉大盘后的超额全部为负。

一句话结论:均线金叉是最适合入门的第一个策略,规则简单、几分钟就能写完并回测。但它本身不是一个能赚钱的策略:全 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. 1. 胜率 32.5%,盈亏比 2.25。保本胜率 = 1 ÷ (1 + 2.25) = 30.8%,实际胜率略高于保本线,所以扣成本后每笔还有 0.30%。这是典型的趋势策略:十笔亏七笔,靠少数大赚的弥补。
  2. 2. 超额是负的。超额 = 这笔交易的收益 − 同一时间段全市场股票的平均收益。金叉出现时,往往大盘也在涨;持有这段时间,随便买一只股票平均也能赚,而且赚得比金叉选出来的还多。+0.30% 不是策略的功劳,是大盘的。

换参数会好吗

很多人第一反应是:5 和 20 不行,换一组试试。

参数交易笔数胜率盈亏比平均每笔(扣成本)平均持有平均超额
5 / 10541,30935.1%1.87+0.02%8.6 天−0.47%
5 / 20298,02832.5%2.25+0.30%15.4 天−0.86%
10 / 30185,48332.7%2.16+0.23%24.4 天−0.96%
20 / 6095,80629.4%2.14−0.71%44.1 天−1.65%

均线越短,交叉越频繁,交易次数翻倍,成本吃掉了大部分收益;均线越长,信号越滞后,买得越晚。四组超额全部是负的。 这说明问题不在参数,而在规则本身:单靠均线交叉,在 A 股个股上选不出比大盘更好的股票。

分年份

年份交易笔数胜率平均每笔超额
201617,09334.6%−0.52%−1.58%
201719,49429.7%−0.96%−0.79%
201822,26622.8%−2.49%−1.23%
201923,98037.1%+2.05%−1.32%
202025,48530.1%+0.42%−0.33%
202129,41834.4%+0.92%−0.20%
202230,18031.6%−0.55%−0.91%
202334,22832.1%−0.47%−0.68%
202433,87530.6%+0.89%−1.41%
202537,05142.1%+3.09%−0.32%
202624,95827.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%8733.3%
沪深300上5/20金叉择时10年总收益-6.6%,买入持有+14.8%,择时回撤更小但收益更差。
沪深300上5/20金叉择时10年总收益-6.6%,买入持有+14.8%,择时回撤更小但收益更差。

金叉择时把最大回撤从 45.6% 降到 35.3%,但 10 年下来是亏的。87 次交易里赚钱的只有三分之一,反复进出的成本和来回打脸吃掉了收益。

海外也有类似结论:标普 500 上用 50 日和 200 日均线金叉,56 年年化 7.49%,略低于买入持有的 8.41%,但最大回撤从 56.8% 降到 33.9%(Trader Markus)。均线择时的价值主要在少亏,而不是多赚。


四、那为什么还要学它

结果不好,不代表这一课白学。均线金叉的价值在于:

  1. 1. 它是一个完整的模板。入场、出场、仓位都有,以后换成任何指标,结构都一样。
  2. 2. 它让你学会读回测。胜率、盈亏比、超额、分年度,这一课全用上了。
  3. 3. 它是改进的起点。后面的课程会在它上面加东西:第 13 课加多头排列,第 19 课加趋势强度过滤,第 53 课加大盘择时,第 51 课改出场方式。每加一样,都可以和这一课的结果对比。

五、常见误区

「金叉就买,死叉就卖,一定赚钱」
全 A 股 10 年 30 万笔交易,扣掉大盘后是跑输的。

「换个参数就好了」
四组参数全部跑输。参数调到某一组刚好好看,多半是过拟合,第 56 课会专门讲。

「当天收盘就买」
金叉要收盘才确认,现实中只能第二天开盘买。回测里用当天收盘价成交,结果会偏好。

「只看绝对收益」
2025 年每笔平均赚 3.09%,看起来很好,但同期大盘涨得更多,超额是负的。


在青柠中实操

  1. 1. 打开左侧 量化策略,点 + 新建策略。
  2. 2. 从组件库的 指标 拖入两个 MA,周期分别填 5 和 20。
  3. 3. 从 条件 拖入 金叉/上穿,快线选 MA5、慢线选 MA20;再拖入一个 死叉/下穿,同样设置。
  4. 4. 从 信号 拖入 入场信号 接金叉条件,离场信号 接死叉条件。
  5. 5. 从 仓位 拖入 固定仓位,保存策略。
  6. 6. 在策略卡片上点 回测,选择 单账户回测 或 批量回测。默认初始资金 100000、佣金费率 0.0003,成交方式保持 下一根 K 开盘,选择回测区间后运行。
  7. 7. 在报告里找到总收益率、年化收益率、最大回撤、夏普比率、胜率,再打开 交易明细。

不想自己拖组件,也可以在 青柠 Agent 里输入「MA5 上穿 MA20 买入,下穿卖出」,让 AI 生成同样的策略。

跑完之后,可以去青柠策略市场看看别人在均线上加了什么条件:

策略库回测 · 沪深A股 · 近 1 年日 K · 默认参数 更新于 2026-09-11 19:02 · 每日重算
# 策略 类型 年化收益 夏普 最大回撤 胜率 评级
01 左侧趋势抄底·急跌收阳 趋势 +1.3% 0.85 16.4% 83% A 导入复现
02 MACD金叉死叉 趋势 +0.9% 0.08 20.8% 35% PRO 导入复现
03 RSI超买超卖 震荡 +0.8% 0.23 30.8% 45% PRO 导入复现

下一课(第 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 年为不完整年度。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。