No description
Find a file
2026-08-04 16:27:45 +08:00
config/data_sources feat: checkpoint reusable live framework 2026-07-10 19:04:13 +08:00
docs Sync live universe policy into production branch 2026-06-26 11:33:04 +08:00
engine feat: checkpoint reusable live framework 2026-07-10 19:04:13 +08:00
examples Refresh framework baseline with dynamic universe and reporting updates 2026-04-30 17:02:53 +08:00
scripts feat(live): add PX14 A2 paper-shadow v3 2026-08-04 16:27:45 +08:00
strategies feat(live): add PX14 A2 paper-shadow v3 2026-08-04 16:27:45 +08:00
tests feat(live): add PX14 A2 paper-shadow v3 2026-08-04 16:27:45 +08:00
.gitignore feat: checkpoint reusable live framework 2026-07-10 19:04:13 +08:00
README.md Refresh framework baseline with dynamic universe and reporting updates 2026-04-30 17:02:53 +08:00
requirements.txt feat: checkpoint reusable live framework 2026-07-10 19:04:13 +08:00

Quant Backtest Framework Baseline

面向多品种、多周期、事件驱动策略研究的通用回测框架基线。

这个 worktree / 分支的目标不是保留策略实验,而是保留一套可单独同步到其他副本的干净框架代码:

  • engine/ 通用回测、数据、优化、live 组件
  • examples/demo_strategy/ 最小 demo 策略模板
  • scripts/run_demo_backtest.py 通用 demo 回测入口
  • scripts/run_demo_live_signal.py 通用 demo live signal 入口
  • scripts/demo_dynamic_universe.py 动态品种池最小 demo
  • config/data_sources/ 数据源配置模板
  • docs/ 框架说明、开发指南、动态品种池与 live 说明

建议目录组织

这套 baseline 不强制规定策略资产必须放在哪个目录,但为了减少后续维护成本,建议把“框架代码”和“策略资产”分开:

  • examples/
    • 仅保留最小模板与可同步的 demo
  • strategies/
    • 建议存放实际开发中的策略
  • results/
    • 建议存放回测结果、参数扫描结果、分析导出结果

需要特别说明的是:当前仓库只自带 examples/demo_strategy/ 这个最小 demo用来说明框架接口和运行方式它不是“正式策略基线库”也不代表仓库里已经内置了一组可直接延用的实盘研究策略。

strategies/ 下也不需要强制一层平铺,若策略数量增多,建议按研究范式或逻辑类型继续分组,例如:

  • strategies/cross_sectional/
  • strategies/rule_based/
  • strategies/signal_based/
  • strategies/reversal/

目录命名本身不是框架规则,只是为了让策略代码、实验脚本和输出结果更容易管理。

快速开始

安装依赖:

pip install -r requirements.txt

Fast 回测:

python scripts/run_demo_backtest.py

Validation 回测:

python scripts/run_demo_backtest.py --validation --validation-window-days 30 --validation-warmup-days 180

动态品种池 demo

python scripts/demo_dynamic_universe.py --as-of 2024-01-01T00:00:00 --builder identity

Live signal 单次运行:

python scripts/run_demo_live_signal.py ^
  examples/demo_strategy/configs/demo_strategy_live.json ^
  --data-source-config config/data_sources/kline_1m.json ^
  --account-equity 100000 ^
  --signal-output-dir live_signals/demo

文档

建议工作流

  1. 当前仓库只有 examples/demo_strategy/strategy.py 这个最小 demo。 开发新策略时可以参考它的结构或从它复制起步,但建议尽快落到 strategies/ 下自己的策略目录,而不是继续堆在 examples/
  2. 第一轮调试只跑 fast 模式。
  3. 只有怀疑未来数据或时间可见性问题时,才切到 validation。
  4. 如果策略需要动态品种池,先跑 scripts/demo_dynamic_universe.py 验证 base universe / builder / policy
  5. Live 接入先跑单次,再跑 --loop
  6. 如果要同步到其他副本,优先同步 engine/examples/scripts/config/data_sources/docs/