DuckDB 回测引擎 因子/策略历史赚钱吗?
2025-08-22 ~ 2026-08-21
双均线金叉趋势跟随(趋势跟随)
242 交易日 · 前复权
01策略说明
用户定义规则 · 五要素齐全(买入/卖出时机+仓位)· 执行口径标注
买入时机MA5 上穿 MA20(金叉)当日收盘确认,次日开盘买入
买入仓位满仓(单标的 100%,初始资金 100 万)
卖出时机持仓中 MA5 下穿 MA20(死叉)次日开盘卖出;或单日跌超 7% 止损
卖出仓位清仓(100%)
选股条件全市场 A 股,成交额 ≥1 亿(无人问津的小票不参与)
候选选择当日满足买入信号的全部股票中,选取「当日成交额最大」的 1 只(热度代理 [ASSUMED]);当日无候选则继续空仓等待
💡 策略本质:经典双均线趋势跟随——金叉进死叉出。问题在于 A 股 70% 时间是震荡市,均线交叉频繁假信号,趋势段利润被磨损段吃掉。
02回测总览
模型输出 · [MODEL]
胜率偏低 · 大幅跑输
近 1 年 18 笔:胜率 22.2%、盈亏比 1.43、总收益 -54.4%(跑输沪深300 71.6pct)、回撤 -61.7%——金叉追涨在震荡市反复打脸。
结论—— 双均线金叉(MA5/MA20)近 1 年 -54.4%,18 笔中 14 笔亏损——经典均线策略在 A 股震荡市被来回摩擦,死叉卖出 8 次+止损 5 次+连亏 5 次,趋势段没吃到多少、磨损段全吃到。
数据含义—— 仅 4 笔盈利(阳光电源 +35%、农业银行 +11%、万华化学 +2%),平均盈 +12.5% vs 平均亏 -8.7%;盈亏比 1.43 但胜率 22.2%,期望为负。同一只阳光电源 +35% 后隔月又 -15%——金叉买入、死叉卖出被高频震出。
失败模式—— 8 笔 MA5 死叉卖出(金叉后 1-3 天即死叉=假金叉)、5 笔单日 -7% 止损、5 笔连亏 -10%——18 笔里 14 笔亏损,说明用 5/20 双线在震荡市捕捉趋势的成功率极低。
横向对比—— 10 策略中排名第 9(-54.4%):比海龟(+79%)差 133pct;同属趋势跟随,海龟用 20 日突破+10 日离场让利润奔跑,双均线却死在频繁换手上——均线交叉天然滞后于突破。
优化方向—— ①只做 MA20 向上时的金叉(过滤下跌趋势中的假金叉)②金叉需量比>1.2 确认 ③死叉改 2 日确认(死叉后 2 天未收回再卖)④加 60 日线做趋势过滤,弱市空仓。
投资指导—— 裸双均线金叉不适合 A 股震荡市——实盘需叠加趋势过滤与量能确认;若坚持均线系统,20 日突破(海龟)远优于 5/20 交叉;先用模拟盘验证过滤条件后再实盘。
03收益与回撤
策略净值 vs 沪深300 · 收盘口径
💡 净值曲线一路阴跌至 -61.7%:2025-09 首波金叉即亏损,唯一亮点是 2026-02~03 阳光电源 +35% 的小高潮,此后连续 5 笔亏损——金叉策略在弱市是纯磨损。
04交易明细
18 笔 · 卖出日=信号触发日次日开盘成交 · 候选=选股日满足买入信号的股票数(均选成交额最大者)
| # | 选股日 | 买入日 | 卖出日 | 触发日 | 股票 | 买价 | 卖价 | 收益 | 天数 | 候选 | 当前资金(¥) | 卖出原因 |
| 1 | 2025-08-22 | 2025-08-25 | 2025-09-24 | 2025-09-23 | 江淮汽车 600418.SH | 52.15 | 50.1 | -3.96% | 22 | 268 | ¥960,390 | 连续亏损累计超10% |
| 2 | 2025-09-25 | 2025-09-26 | 2025-10-14 | 2025-10-13 | 杭钢股份 600126.SH | 10.311 | 9.342 | -9.43% | 6 | 115 | ¥869,833 | MA5死叉MA20 |
| 3 | 2025-10-15 | 2025-10-16 | 2025-11-24 | 2025-11-21 | 农业银行 601288.SH | 7.001 | 7.764 | +10.87% | 27 | 224 | ¥964,354 | MA5死叉MA20 |
| 4 | 2025-11-25 | 2025-11-26 | 2025-12-04 | 2025-12-03 | 凯美特气 002549.SZ | 23.661 | 20.57 | -13.09% | 6 | 51 | ¥838,085 | 单日跌超7%止损 |
| 5 | 2025-12-05 | 2025-12-08 | 2025-12-19 | 2025-12-18 | 三花智控 002050.SZ | 44.75 | 42.966 | -4.02% | 9 | 192 | ¥804,421 | MA5死叉MA20 |
| 6 | 2025-12-22 | 2025-12-23 | 2026-01-21 | 2026-01-20 | 中芯国际 688981.SH | 120.5 | 120.93 | +0.33% | 19 | 173 | ¥807,051 | MA5死叉MA20 |
| 7 | 2026-01-22 | 2026-01-23 | 2026-02-02 | 2026-01-30 | 中京电子 002579.SZ | 13.07 | 11.58 | -11.43% | 6 | 121 | ¥714,804 | 连续亏损累计超10% |
| 8 | 2026-02-03 | 2026-02-04 | 2026-03-04 | 2026-03-03 | 贵州茅台 600519.SH | 1450.666 | 1382.285 | -4.74% | 14 | 40 | ¥680,895 | MA5死叉MA20 |
| 9 | 2026-03-05 | 2026-03-06 | 2026-03-19 | 2026-03-18 | 云铝股份 000807.SZ | 33.577 | 29.929 | -10.89% | 9 | 40 | ¥606,724 | 连续亏损累计超10% |
| 10 | 2026-03-20 | 2026-03-23 | 2026-04-01 | 2026-03-31 | 卓胜微 300782.SZ | 90.01 | 81.66 | -9.31% | 7 | 35 | ¥550,257 | 连续亏损累计超10% |
| 11 | 2026-04-02 | 2026-04-03 | 2026-04-24 | 2026-04-23 | 恒瑞医药 600276.SH | 56.748 | 56.27 | -0.87% | 14 | 201 | ¥545,457 | MA5死叉MA20 |
| 12 | 2026-04-27 | 2026-04-28 | 2026-06-04 | 2026-06-03 | 阳光电源 300274.SZ | 125.068 | 168.79 | +34.93% | 24 | 103 | ¥735,977 | 连续亏损累计超10% |
| 13 | 2026-06-05 | 2026-06-08 | 2026-06-11 | 2026-06-10 | 永鼎股份 600105.SH | 51.977 | 51.477 | -0.99% | 3 | 94 | ¥728,678 | 单日跌超7%止损 |
| 14 | 2026-06-12 | 2026-06-15 | 2026-06-29 | 2026-06-26 | 天华新能 300390.SZ | 96.1 | 84.08 | -12.54% | 9 | 89 | ¥637,318 | 单日跌超7%止损 |
| 15 | 2026-06-30 | 2026-07-01 | 2026-07-03 | 2026-07-02 | 阳光电源 300274.SZ | 151.07 | 127.8 | -15.43% | 2 | 63 | ¥538,958 | MA5死叉MA20 |
| 16 | 2026-07-06 | 2026-07-07 | 2026-07-09 | 2026-07-08 | 三花智控 002050.SZ | 45.862 | 41.422 | -9.71% | 2 | 296 | ¥486,616 | 单日跌超7%止损 |
| 17 | 2026-07-10 | 2026-07-13 | 2026-07-20 | 2026-07-17 | 中兴通讯 000063.SZ | 40.505 | 35.565 | -12.23% | 5 | 63 | ¥427,127 | 单日跌超7%止损 |
| 18 | 2026-07-21 | 2026-07-22 | 2026-08-18 | 2026-08-17 | 万华化学 600309.SH | 71.01 | 72.75 | +2.42% | 19 | 123 | ¥437,465 | MA5死叉MA20 |
💡 18 笔中 14 笔亏损:盈利笔平均 +12.5%(阳光电源 +35% 是唯一亮点),亏损笔集中在 -8%~-15%——金叉买入点滞后、死叉卖出点也滞后,两头挨打。
05卖出原因分布
全部平仓口径 · 共 18 笔
💡 卖出高度分散(死叉 8/止损 5/连亏 5)说明策略没有形成一致的退出机制:死叉卖出太晚(趋势已走坏)、止损太早(洗盘被震出)——退出逻辑是双均线最大的短板。
0610 策略横向对比
同一引擎同一区间 · 按总收益排序 · ★=当前策略
| 排名 | 策略 | 交易 | 胜率 | 盈亏比 | 总收益 | 最大回撤 | 年化 |
| 1 | 强势股缩量回踩 MA20 趋势回踩 | 35 | 42.9% | 3.84 | +161.2% | -31.9% | +171.7% |
| 2 | 海龟唐奇安通道突破 趋势跟随 | 14 | 28.6% | 5.55 | +79.0% | -43.2% | +83.8% |
| 3 | W底双底突破 形态反转 | 21 | 42.9% | 3.34 | +76.3% | -23.1% | +80.5% |
| 4 | KDJ 低位金叉 震荡指标 | 42 | 38.1% | 1.95 | +9.1% | -41.2% | +9.5% |
| 5 | RSI 超卖反转 超跌反转 | 24 | 58.3% | 0.76 | -1.7% | -37.1% | -1.8% |
| 6 | 涨停基因缩量回踩 打板低吸 | 36 | 33.3% | 2.20 | -3.1% | -44.7% | -3.2% |
| 7 | MACD 零轴下金叉 震荡指标 | 21 | 33.3% | 2.08 | -9.5% | -46.8% | -9.9% |
| 8 | 均线粘合向上突破 形态突破 | 32 | 31.2% | 1.69 | -18.1% | -48.2% | -18.7% |
| 9 | 二连板打板接力 打板接力 | 26 | 26.9% | 3.10 | -18.8% | -61.4% | -20.2% |
| 10 | 120日新高强势追涨 动量追涨 | 27 | 44.4% | 1.19 | -19.7% | -48.0% | -20.4% |
| 11 | 向上跳空缺口放量 缺口突破 | 50 | 34.0% | 2.00 | -24.1% | -55.1% | -25.0% |
| 12 | 布林带突破 波动突破 | 19 | 21.1% | 3.29 | -27.1% | -42.2% | -28.1% |
| 13 | 强势股首阴低吸 趋势回踩 | 46 | 30.4% | 2.13 | -31.4% | -61.4% | -32.5% |
| 14 | MA20 放量突破 趋势跟随 | 25 | 24.0% | 2.01 | -34.9% | -39.6% | -36.1% |
| 15 | 缩量回踩 MA5/MA10 趋势回踩 | 33 | 27.3% | 2.04 | -38.2% | -69.0% | -39.4% |
| 16 | 放量连续阳线接力 动量追涨 | 30 | 30.0% | 1.83 | -39.3% | -63.0% | -40.5% |
| 17 | 均线多头回踩 趋势回踩 | 38 | 34.2% | 1.06 | -51.5% | -72.2% | -52.9% |
| 18 | 60日新低超跌反弹 超跌反转 | 33 | 42.4% | 0.55 | -54.3% | -56.7% | -55.8% |
| 19 | 双均线金叉趋势跟随 ★ 趋势跟随 | 18 | 22.2% | 1.43 | -54.4% | -61.7% | -55.9% |
| 20 | 涨停次日低吸 打板低吸 | 46 | 37.0% | 1.02 | -66.3% | -75.0% | -67.8% |
💡 全策略对比:海龟 +79% 是唯一正收益——同样是趋势策略,20 日突破+10 日离场(让利润奔跑)完胜 5/20 金叉(频繁换手);均线交叉的滞后性是致命伤。
07优化建议与风险
基于回测证据 · 模型输出
优化建议(按优先级)
只做趋势中的金叉MA20 斜率向上(20 日 MA 高于 40 日 MA)时的金叉才有效,下跌趋势中的金叉全是假信号
量能确认金叉当日量比 ≥1.5(放量金叉),缩量金叉多为弱反弹
退出优化死叉改 2 日确认 + MA20 兜底止损(跌破 MA20 且死叉才卖),避免单日震出
周期过滤全市场涨停家数 <15 时(情绪冰点)不做金叉——2026-03 后连亏期可规避
降仓位满仓→单笔 50%,金叉策略频率低(18 笔/年),仓位是唯一能扛住磨损的变量
风险提示
均线交叉滞后于价格——金叉买入价已高于突破价,震荡市假信号占比高
18 笔样本小,结论受单笔大亏/大赚影响;近 1 年 A 股为震荡+结构市,趋势策略整体不利
未计印花税与冲击成本,实际收益更低
数据来源:同花顺金融数据(hithink-finance v0.1.5,本地 DuckDB v_daily_qfq 前复权日K + index history 沪深300 + symbol list 名称映射);回测区间 2025-08-22~2026-08-21(242 交易日);策略:双均线金叉趋势跟随(趋势跟随),五要素定义见 strategies.json;口径:涨停=前复权相邻日收益率(主板 ≥+9.8%、创业板/科创板 ≥+19.8%);RSI14 为 SMA 均值口径 [ASSUMED];布林=MA20±2σ(stddev_samp);唐奇安=前 20 日最高/前 10 日最低(不含当日);交易按开盘价成交、满仓单标的、含单边 0.03% 费率(印花税未含);当前资金=初始 100 万按每笔清仓收益滚动累计;总收益含期末未平仓浮动;卖出日=信号触发日(跌超/死叉/破位等)的下一交易日,按开盘价成交;候选=选股日满足买入信号的全部股票数,均选当日成交额最大者(热度代理 [ASSUMED])。回测结果为历史数据模拟 [MODEL],不代表未来表现。仅供研究参考,不构成个人投资建议。