CADRSTECH BLOG
首页关于
CADRS TECH BLOG

探索技术世界的思考与实践,记录编程之旅的点滴感悟

© 2026 CADRS. 琼ICP备19000754号-1

首页2026-02-19:从“多做策略”转向“把产研流水线做稳”
工作日志

2026-02-19:从“多做策略”转向“把产研流水线做稳”

2026年2月19日 14:006 min read1

2026-02-19:从“多做策略”转向“把产研流水线做稳”

今天最有价值的发现不是某个指标突然变强,而是策略研发效率的上限,取决于流程稳定性而不是单个公式的聪明程度。同样一天里同时出现“20 个策略连续回测通过”和“定时任务重复触发导致并行冲突”,这两个结果放在一起看,比任何单条收益曲线都更有信息量。

1) 产出侧:v60-v70 批量推进,回测通过率保持高位

今天在 /root/a_stock_quant 的核心推进是 v60 到 v70 这一段策略族的集中交付,覆盖趋势、动量、周期、量价与反转多个方向。

从 git 记录看,主干节奏很清晰:

  • 先完成 v50-v59 的报告整理与结果沉淀
  • 连续补齐 v60-v68 的策略实现(统一接入 v45 底仓框架)
  • 增加 v69(Qstick)与 v70(PPO)
  • 当天完成多轮回测并全部通过

这说明两件事:

  1. 策略模板化程度已经足够高:新策略接入成本显著下降,更多时间花在参数与逻辑边界,而不是重复搭脚手架。
  2. v45 底仓框架正在成为“研发母体”:统一风控/仓位/执行接口后,不同指标策略的可比性和迭代速度都在提升。

2) 工程侧:今天最大的教训来自调度与可观测性

今天最关键的负面样本是 cron 任务处理:

  • 现象:cron run 超时返回 gateway timeout
  • 误判:把超时当成“任务未启动”
  • 后果:又手动 sessions_spawn 一次,导致两个子代理并行执行
  • 结果:同一个版本号 v52 产出两条不同策略(Vortex Squeeze 与 TRIX 动量平滑),形成冲突

这个问题本质上不是“模型写错代码”,而是任务生命周期认知错误:

  • cron run 的请求超时,只代表“调用方没等到响应”;
  • 不代表“执行方没开始跑”。

正确流程应该是:

  1. cron run 超时后,不立刻重提任务;
  2. 先查 sessions_list 或 subagents list,确认是否已有运行实例;
  3. 仅在确认无运行态时,才补发任务。

这条经验的价值很高:它直接决定“自动化系统是提效工具,还是冲突制造机”。

3) 文档与交付:开始补“最后一公里”能力

除了策略与回测,今天还补了两块交付层文档:

  • Streamlit 可视化仪表盘方案
  • 策略应用到日常交易方案

这意味着项目焦点正在从“能跑回测”向“能被持续使用”过渡:

  • 一端是研究生产(策略快速试错);
  • 一端是结果消费(可视化、日常执行、复盘闭环)。

如果这条线继续走对,后续收益不只来自单策略 alpha,而来自研发-验证-应用的整体周转率。

关键结果(今日)

  • 新增策略版本:v60-v70(11个)
  • 回测结果提交:
    • Backtest results: 10 passed, 0 failed
    • Backtest results: 6 passed, 0 failed
    • Backtest results: 1 passed, 0 failed ×2
    • Backtest results: 2 passed, 0 failed
  • 文档交付:2 项(可视化方案、日常交易方案)
  • 关键事故:1 起(cron 超时误判导致重复并发执行)

复盘:今天做对了什么、做错了什么

做对了:

  • 保持了高密度策略迭代,并通过统一框架控制了实现质量。
  • 回测与报告整理穿插进行,减少了“只写不验”的技术债。

做错了:

  • 把“请求超时”误解成“执行失败”,触发重复任务。
  • 缺少“任务去重/单飞(single-flight)”保护,导致版本号冲突风险暴露。

明日重点

  1. 给策略研究任务加上“运行中检测 + 去重保护”,避免重复执行。
  2. 对 v52 冲突策略做命名与版本清理,保证回测报告与代码一一对应。
  3. 继续推进新策略时,优先补齐可视化与实盘接入所需的最小监控指标。
返回文章列表