DuckDB 回测引擎 因子/策略历史赚钱吗?
2025-08-22 ~ 2026-08-21
120日新高强势追涨(动量追涨)
242 交易日 · 前复权
标的池:159758.SZ
⚠️ 标的池验证版:本报告限定在 159758.SZ 单标的回测,交易笔数较少;专家分析文案(02/03/05/07 区)基于全市场回测撰写,仅作对照参考。
01策略说明
用户定义规则 · 五要素齐全(买入/卖出时机+仓位)· 执行口径标注
买入时机盘中创 120 日新高(半年新高),次日开盘买入
买入仓位满仓(单标的 100%,初始资金 100 万)
卖出时机收盘跌破 MA10 次日开盘卖出;或单日跌超 7% 止损
卖出仓位清仓(100%)
选股条件全市场 A 股,成交额 ≥1 亿(无人问津的小票不参与)
候选选择当日满足买入信号的全部股票中,选取「当日成交额最大」的 1 只(热度代理 [ASSUMED]);当日无候选则继续空仓等待
💡 策略本质:动量追强——创 120 日新高=半年最强动量股,跌破 MA10 离场让利润奔跑。方向正确(44% 胜率),离场太紧是主要问题。
02回测总览
模型输出 · [MODEL]
胜率尚可 · 负超额
近 1 年 27 笔:胜率 44.4%、盈亏比 1.19、总收益 -19.7%(跑输沪深300 36.9pct)、回撤 -48.0%——120 日新高追涨胜率尚可,但跌破 MA10 离场砍在洗盘低点。
结论—— 120 日新高强势追涨近 1 年 -19.7%,27 笔中 12 笔盈利(胜率 44.4% 仅次于 RSI 超卖)——新高追涨方向没错,但'跌破 MA10 离场'太紧,立讯精密 -21% 等高位巨震被砍在低点。
数据含义—— 平均盈 +9.0% vs 平均亏 -7.6%,盈亏比 1.19 不足 1.5;大肉天孚通信 +26%、中国卫星 +20%、航天发展 +17%(AI/军工主线),大亏立讯精密 -21%、埃斯顿 -19%。
失败模式—— 13 笔跌破 MA10 卖出(新高后回踩 10 日线是常态,被洗出)、12 笔单日 -7% 止损(高位股单日波动大,-7% 触发频繁)——新高股波动率天然高,紧止损+紧离场双重误杀。
横向对比—— 10 策略排名第 5(-19.7%):与海龟(+79%)同为追强,差异在离场——海龟跌破 10 日最低(比 MA10 宽约 3-5%)离场,容忍洗盘;MA10 离场太敏感。
优化方向—— ①离场改'跌破 10 日最低价'(对齐海龟)或突破价 -8% ②止损放宽 -10%(新高股单日 -7% 是常态波动)③新高需放量确认(量比 ≥1.3)④新高后首次回踩 MA10 不破可加仓。
投资指导—— 新高追涨是有效方向(胜率 44%),败在离场太紧——实盘用'跌破 10 日最低价'离场(参考海龟)、止损放宽至 -10%,新高股容忍 1-2 周回踩,胜率与盈亏比可同时改善。
03收益与回撤
策略净值 vs 沪深300 · 收盘口径
💡 净值在 -10%~-48% 震荡:2025-12~2026-02 军工新高股贡献主要盈利,此后高位股巨震(立讯 -21%)吞掉利润——新高策略在行情切换期损伤最大。
04交易明细
3 笔 · 卖出日=信号触发日次日开盘成交 · 候选=选股日满足买入信号的股票数(均选成交额最大者)
| # | 选股日 | 买入日 | 卖出日 | 触发日 | 股票 | 买价 | 卖价 | 收益 | 天数 | 候选 | 当前资金(¥) | 卖出原因 |
| 1 | 2025-08-22 | 2025-08-25 | 2025-09-04 | 2025-09-03 | 红利质量ETF华夏 159758.SZ | 1.091 | 1.084 | -0.67% | 8 | 1 | ¥993,284 | 跌破MA10 |
| 2 | 2025-09-18 | 2025-09-19 | 2025-09-24 | 2025-09-23 | 红利质量ETF华夏 159758.SZ | 1.112 | 1.095 | -1.56% | 3 | 1 | ¥977,801 | 跌破MA10 |
| 3 | 2026-04-29 | 2026-04-30 | 2026-05-15 | 2026-05-14 | 红利质量ETF华夏 159758.SZ | 1.144 | 1.133 | -0.99% | 8 | 1 | ¥968,106 | 跌破MA10 |
💡 27 笔中 12 笔盈利(44.4%),平均盈 +9.0%/亏 -7.6% 基本对称——问题不在选股在离场:13 笔被 MA10 洗出后多数继续上涨。
05卖出原因分布
全部平仓口径 · 共 3 笔
💡 卖出高度依赖 MA10 离场(13 笔)与 -7% 止损(12 笔)——新高股单日波动大,-7% 止损在正常波动中就触发;紧止损+紧离场是双输组合。
0610 策略横向对比
同一引擎同一区间 · 按总收益排序 · ★=当前策略
| 排名 | 策略 | 交易 | 胜率 | 盈亏比 | 总收益 | 最大回撤 | 年化 |
| 1 | 双均线金叉趋势跟随 趋势跟随 | 6 | 50.0% | 3.18 | +8.0% | -4.4% | +8.4% |
| 2 | MA20 放量突破 趋势跟随 | 2 | 50.0% | 1.88 | +1.9% | -4.1% | +2.0% |
| 3 | 海龟唐奇安通道突破 趋势跟随 | 4 | 50.0% | 1.12 | +1.4% | -8.9% | +1.4% |
| 4 | W底双底突破 形态反转 | 2 | 50.0% | 2.01 | +1.3% | -4.1% | +1.3% |
| 5 | 60日新低超跌反弹 超跌反转 | 1 | 100.0% | - | +1.0% | -1.4% | +1.0% |
| 6 | 涨停次日低吸 打板低吸 | 0 | 0% | - | +0.0% | 0.0% | +0.0% |
| 7 | 二连板打板接力 打板接力 | 0 | 0% | - | +0.0% | 0.0% | +0.0% |
| 8 | 120日新高强势追涨 ★ 动量追涨 | 3 | 0.0% | 0.00 | -3.2% | -5.9% | -3.3% |
| 9 | RSI 超卖反转 超跌反转 | 4 | 25.0% | 0.71 | -3.2% | -7.2% | -3.4% |
| 10 | 均线多头回踩 趋势回踩 | 6 | 16.7% | 1.20 | -3.5% | -7.0% | -3.6% |
| 11 | 布林带突破 波动突破 | 4 | 25.0% | 0.76 | -9.9% | -12.3% | -10.3% |
💡 全策略对比:海龟 +79% vs 新高追涨 -19.7%——两者都追强,海龟 20 日突破+10 日最低离场更宽容;MA10 离场把新高股的正常回踩全当成离场信号。
07优化建议与风险
基于回测证据 · 模型输出
优化建议(按优先级)
离场对齐海龟跌破 10 日最低价(或突破价 -8%)离场,替代敏感的 MA10
止损放宽-7% 改 -10%(新高股单日 -7% 属正常波动,紧止损频繁误杀)
放量确认新高当日量比 ≥1.3(缩量新高=假突破,放量新高=真突破)
首次回踩加仓新高后首次回踩 MA10 不破视为加仓点(趋势中继)
风险提示
高位股波动大,紧止损/紧离场在回测中造成系统性误杀(27 笔中 25 笔靠离场规则卖出)
行情切换期新高股补跌剧烈(-21% 大亏),无大盘过滤
未计滑点;新高股流动性好但冲击成本仍存在
数据来源:同花顺金融数据(hithink-finance v0.1.5,本地 DuckDB v_daily_qfq 前复权日K + index history 沪深300 + symbol list 名称映射);回测区间 2025-08-22~2026-08-21(242 交易日);策略:120日新高强势追涨(动量追涨),五要素定义见 strategies.json;口径:涨停=前复权相邻日收益率(主板 ≥+9.8%、创业板/科创板 ≥+19.8%);RSI14 为 SMA 均值口径 [ASSUMED];布林=MA20±2σ(stddev_samp);唐奇安=前 20 日最高/前 10 日最低(不含当日);交易按开盘价成交、满仓单标的、含单边 0.03% 费率(印花税未含);当前资金=初始 100 万按每笔清仓收益滚动累计;总收益含期末未平仓浮动;卖出日=信号触发日(跌超/死叉/破位等)的下一交易日,按开盘价成交;候选=选股日满足买入信号的全部股票数,均选当日成交额最大者(热度代理 [ASSUMED])。回测结果为历史数据模拟 [MODEL],不代表未来表现。仅供研究参考,不构成个人投资建议。