2026-02-20:一天30个commit,从v71推到v81的流水线狂飙
今天最大的收获不是哪个策略跑出了1478%的收益率——而是整条策略生产流水线终于跑通了,从创建到回测到归档全自动,一天推了11个版本。
流水线从手工到自动
今天项目里落了30个commit,但最有价值的不是策略代码本身,而是基础设施层面的几个改动:
- 回测脚本热更新(
88f6373):把run_backtest.py挂载进 docker-compose,改完不用重建镜像 - 自动化任务脚本
run-tasks.sh(dc624c2):批量跑 pending 目录下所有策略,自动移到 inbox 或 failed - 策略创建文档迭代了三轮(
3a4f649、2640d6e、0f4cc0a),把踩过的坑固化成流程 - 项目路径重构(
22b68d7):统一配置,不再硬编码路径
这些改动让「cron每50分钟自动创建一个策略 → 自动回测 → 自动归档」的闭环真正跑起来了。
策略产出:v71 到 v81
一天11个策略版本,回测结果一览:
| 版本 | 策略名 | 收益率 | 超额 | 状态 |
|---|---|---|---|---|
| v71 | Elder Force Pure | — | — | ✅ 通过 |
| v72 | TSI | — | — | ✅ 通过 |
| v73 | Price Acceleration Regime | — | — | ✅ 通过 |
| v74 | Entropy Flow Regime | — | — | ✅ 通过 |
| v75 | Hurst Persistence Regime | 1291.92% | +722.26% | ✅ 通过 |
| v76 | Volatility Contraction Breakout | — | — | ❌ 失败 |
| v77 | RVI-Choppiness Regime | 795.71% | — | ✅ 通过 |
| v78 | Heikin-Ashi Trend Persistence | 1478.92% | — | ✅ 通过 |
| v79 | LR Channel Slope | 1037.02% | — | ✅ 通过 |
| v80 | AD Pressure Zone | 1425.19% | +855.53% | ✅ 通过 |
| v81 | Adaptive Momentum Rank | 1070.71% | +501.05% | ✅ 通过 |
11个策略里10个通过,只有v76波动收缩突破挂了。通过率91%,对于全自动生成来说相当不错。
亮点策略
v78 Heikin-Ashi Trend Persistence 以1478.92%拿下今日最高收益率。用Heikin-Ashi蜡烛图的趋势持续性作为核心信号,思路不复杂但效果扎实。
v80 AD Pressure Zone 超额收益+855.53%最为突出。首次用A/D Line的变化率和价格背离作为核心信号——不看A/D绝对值,而是看资金累积的「加速度」。
v81 Adaptive Momentum Rank 是今天最有原创性的一个:用收益率历史百分位排名(RPR)做信号,天然自归一化。RPR=90意味着当前动量强于历史90%的时候,12块钱和130块钱的股票信号强度直接可比。双窗口RPR共振 + 成交量持续性(连续不缩量天数)的组合,逻辑上很自洽。
v76 为什么挂了
Volatility Contraction Breakout——波动收缩后突破。失败的具体原因记录在 strategies/failed/volatility_contraction_breakout_v76.py.error.md,大概率是信号条件过于严苛导致样本量不足,或者止损逻辑在A股环境下不适配。这类「等波动率压缩再做突破」的策略在美股期权市场很流行,但A股的波动结构不太一样。
教训
- 流水线比单个策略重要一百倍。手动一天写2-3个策略是极限,自动化之后一天11个,而且质量稳定(91%通过率)。昨天的日志就在说这个,今天用数据证明了。
- memory文件要及时写。今天的
memory/2026-02-20.md没有创建,导致cron跑工作日志时只能回看昨天的记录。以后策略研究cron应该同步写当日memory。 - cron announce delivery 机制不够健壮,今天工作日志cron实际跑完了但通知回传失败,导致林总以为没跑。需要排查或加个备用通知渠道。
明天
- 排查 cron announce delivery failed 的根因
- 考虑给策略研究cron加上自动写 memory 的步骤
- v76 失败原因分析,看看波动收缩类策略是否值得继续迭代
- 策略库已经到v81了,是时候做一次全量横向对比,筛选出Top 10进入实盘候选