DuckDB 回测引擎 因子/策略历史赚钱吗?
2025-08-22 ~ 2026-08-21 布林带突破(波动突破) 242 交易日 · 前复权 标的池:159758.SZ
4 笔
交易次数
25.0%
胜率
0.76
盈亏比
-9.9%
总收益
⚠️ 标的池验证版:本报告限定在 159758.SZ 单标的回测,交易笔数较少;专家分析文案(02/03/05/07 区)基于全市场回测撰写,仅作对照参考。

01策略说明

用户定义规则 · 五要素齐全(买入/卖出时机+仓位)· 执行口径标注
买入时机收盘突破布林上轨(MA20+2σ),次日开盘买入
买入仓位满仓(单标的 100%,初始资金 100 万)
卖出时机收盘跌破布林中轨(MA20)次日开盘卖出;或单日跌超 7% 止损
卖出仓位清仓(100%)
选股条件全市场 A 股,成交额 ≥1 亿(无人问津的小票不参与)
候选选择当日满足买入信号的全部股票中,选取「当日成交额最大」的 1 只(热度代理 [ASSUMED]);当日无候选则继续空仓等待
💡 策略本质:波动突破——突破 MA20+2σ 上轨视为波动率扩张启动。问题是 A 股情绪冲高也常击穿上轨,'突破'与'冲顶'难以区分。

02回测总览

模型输出 · [MODEL]
胜率偏低 · 负超额 近 1 年 19 笔:胜率 21.1%、盈亏比 3.29、总收益 -27.1%(跑输沪深300 44.3pct)、回撤 -42.2%——布林上轨突破多数是情绪冲高。
结论—— 布林上轨突破近 1 年 -27.1%,19 笔中 15 笔亏损——'突破上轨'多为短线情绪冲高,跌破中轨离场又砍掉了尚未走完的趋势。
数据含义—— 兆易创新 +57% 是唯一大肉(AI 芯片),平均盈 +18.1% vs 平均亏 -7.5%,盈亏比 3.29 不低——但 21.1% 的胜率让正期望无法成立。
失败模式—— 10 笔跌破布林中轨卖出(突破后回落至 20 日线=假突破)、5 笔单日 -7% 止损、4 笔连亏——银之杰/华虹宏力 -16%、新易盛 -15% 三笔大亏集中在高位突破回落。
横向对比—— 10 策略排名第 6(-27.1%):比海龟(+79%)差 106pct——布林上轨 = MA20+2σ,阈值低于海龟的 20 日最高价,且跌破中轨(=MA20)离场比海龟的 10 日最低紧得多。
优化方向—— ①只做布林收窄后的突破(波动率压缩后扩张才是真突破)②离场改布林下轨或突破价 -5% ③突破叠加 60 日新高共振 ④上轨突破当日涨幅 >4% 才确认强势。
投资指导—— 布林突破需'收窄→放量→扩张'三条件共振才有效——实盘建议等待布林带宽压缩至 20 日低点后突破上轨,离场放宽至中轨以下 3%,避免情绪冲高接盘。

03收益与回撤

策略净值 vs 沪深300 · 收盘口径
初始净值 1.0策略净值(前复权·满仓单标的)沪深300(归一化)0.90 (-9.9%)1.06 (+17.1%)
💡 净值在 -27% 附近反复磨底:兆易创新 +57%(2026-01)短暂冲高后回落,其余时段连续小亏——布林策略在结构性行情中收益依赖单笔大肉。

04交易明细

4 笔 · 卖出日=信号触发日次日开盘成交 · 候选=选股日满足买入信号的股票数(均选成交额最大者)
#选股日买入日卖出日触发日股票买价卖价收益天数候选当前资金(¥)卖出原因
12025-08-252025-08-262025-09-052025-09-04红利质量ETF华夏 159758.SZ1.11.054-4.21%81¥957,882跌破布林中轨
22026-01-052026-01-062026-02-032026-02-02红利质量ETF华夏 159758.SZ1.0541.082+2.63%201¥983,041跌破布林中轨
32026-05-112026-05-122026-05-192026-05-18红利质量ETF华夏 159758.SZ1.1671.12-4.06%51¥943,155跌破布林中轨
42026-07-012026-07-022026-07-092026-07-08红利质量ETF华夏 159758.SZ1.0961.073-2.13%51¥923,079跌破布林中轨
💡 19 笔中 15 笔亏损,兆易创新 +57% 一笔贡献全部正收益;平均亏 -7.5% 控制尚可,但假突破频率(79%)太高。

05卖出原因分布

全部平仓口径 · 共 4 笔
跌破布林中轨(4 次)100%
💡 10 笔跌破中轨离场(53%)——突破后 1-2 周内回落至 20 日线是常态,中轨离场逻辑本身没错,错在'突破上轨'这个入场信号质量差。

0610 策略横向对比

同一引擎同一区间 · 按总收益排序 · ★=当前策略
排名策略交易胜率盈亏比总收益最大回撤年化
1双均线金叉趋势跟随 趋势跟随650.0%3.18+8.0%-4.4%+8.4%
2MA20 放量突破 趋势跟随250.0%1.88+1.9%-4.1%+2.0%
3海龟唐奇安通道突破 趋势跟随450.0%1.12+1.4%-8.9%+1.4%
4W底双底突破 形态反转250.0%2.01+1.3%-4.1%+1.3%
560日新低超跌反弹 超跌反转1100.0%-+1.0%-1.4%+1.0%
6涨停次日低吸 打板低吸00%-+0.0%0.0%+0.0%
7二连板打板接力 打板接力00%-+0.0%0.0%+0.0%
8120日新高强势追涨 动量追涨30.0%0.00-3.2%-5.9%-3.3%
9RSI 超卖反转 超跌反转425.0%0.71-3.2%-7.2%-3.4%
10均线多头回踩 趋势回踩616.7%1.20-3.5%-7.0%-3.6%
11布林带突破 ★ 波动突破425.0%0.76-9.9%-12.3%-10.3%
💡 全策略对比:海龟 +79% vs 布林 -27.1%——布林上轨(2σ)比 20 日最高价更容易被情绪冲高触发,且中轨离场比 10 日最低紧 2 倍,两者叠加造成'多进多出、两头挨打'。

07优化建议与风险

基于回测证据 · 模型输出

优化建议(按优先级)

收窄后突破布林带宽(上轨-下轨)/MA20 < 8% 后首次突破上轨才有效(波动压缩后扩张)
离场放宽跌破中轨改跌破下轨或突破价 -5%,容忍正常回踩
新高共振突破上轨同时处于 60 日新高附近(强势共振),否则放弃
强势确认突破当日涨幅 ≥4%(放量强突破),弱突破直接放弃

风险提示

布林突破与情绪冲顶难以区分,高位突破回落风险大(-16% 大亏均来自此)
19 笔样本小,兆易创新 +57% 单笔影响权重过高
未计印花税与滑点,实际表现更差
数据来源:同花顺金融数据(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],不代表未来表现。仅供研究参考,不构成个人投资建议。