Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Aug 02:50
· 11 commits to master since this release

DeltaLab v2.0.0 — 2026-08-16

把 DeltaLab 从「跑一次回测看结果」变成「把多次回测横向比出结论」:新增 🆚 结果对比 与 🎯 策略优选 两个页面,并把 gui_app.py 拆成分层的 deltalab_ui/ 包。相对 v1.1.0 共 42 个提交、约 +39,500 行。

新增

  • 🆚 结果对比:回测后按需保留快照,勾选任意组合即时对照曲线与绝对指标(期末净损益、总成本、最大回撤、触发 / 成交次数、换手额)。切换勾选只读缓存,不重跑回测。快照自动存本机、重开仍在,最多 20 条。页面不替你下判断,只负责说清这次的变量差在哪一项。
  • 🎯 策略优选:用 CSV / Wind 真实历史严格连续回放近周 / 近月 / 近季 / 近半年 / 近年五档,固定以每日收盘 C2C 为基准,按增量收益 / 增量信噪比排名,可把胜出参数一键写回左侧。支持品种入口(P.DCE 按 Wind 逐日主力映射)。
  • 智能行情粒度:每日 bar 数由时间索引与交易 session 自动推导,Wind 请求粒度按策略自动选择。
  • 分段 bar 级明细的内容寻址缓存;.env.example 本地凭据模板。

变更

  • gui_app.py 拆成 deltalab_ui/ 包(15 个模块)。gui_app.py 收缩到 1,691 行、保留为兼容入口,外部与测试继续写 gui_app.XXX 即可。
  • 策略优选周期口径重写:从「挑若干终点、各自向前回看」改为「从同一截止日向前严格连续回放最近 L 日」。
  • 移除行情粒度的手工调粗 —— 调粗只会静默漏掉 bar 内触发,让结论偏乐观。
  • 指标 增量性价比 改名 增量信噪比;Wind 回测改为「分析截至日」驱动;历史候选上限 5 → 8;候选带宽的 σ 统一取左侧输入值。
  • 表单改用统一布局系统;主题 / 字体 / 布局初始化抽到 deltalab_ui/theme.py;按钮与标签视觉层次调整。

修复

  • 免安装版在装有 Wind 终端的机器上仍报 No module named 'WindPy':CI 构建机没有 Wind,包里不含 WindPy。现在会扫描本机 Wind 安装并接进进程重试,扫不到时报错列出扫过的位置;也可用 DELTALAB_WIND_DIR 手工指定 Wind 目录(见使用文档 §1.3)。
  • 内容寻址缓存的键计算缺陷:不同输入可能命中同一份缓存,会串用别的段的 bar 明细。
  • 品种池模式未显式降级排名口径:跨合约金额被直接相加。
  • 策略优选校验的 UnboundLocalError,以及排序键混用不同量纲导致的排名错误。
  • 回放策略未按分段成功过滤、预热参数未持久化;状态栏打包顺序;历史页分割线定位;headless import 失败。

测试与 CI

测试从 23 条(2 个文件)扩到 969 条(13 个文件:440 纯逻辑 + 529 GUI)。CI 在 ubuntu × Python 3.10 / 3.13 上跑全量,GUI 批用 xvfb-run。

升级说明

  • 无需迁移:结果池与策略优选结果包都是本版新增,v1.x 不存在这两类文件。
  • 两类结果包各带 schema_version,版本不符时拒绝载入而不是硬渲染 —— 字段口径改过不止一次,用新代码渲染旧包会静默给出错误结论。
  • 三个运行时目录(data/cache/、data/backtest_pool/、data/history_results/)已写进 .gitignore:结果池包内含 csv_path 全路径与 wind_code。
  • CI 产出的发布包不内置 WindPy(GitHub runners 上没有 Wind 终端),改为运行时扫描本机 Wind 安装:装了 Wind 终端并设置过 Python 接口的机器可直连,装在非常规位置时用 DELTALAB_WIND_DIR 指定。见使用文档 §1.3。

各页面的完整口径、参数含义与常见报错见 使用文档。


完整更新日志见 CHANGELOG.md。