QuantDinger实战:追踪贵州茅台14笔订单的完整生命周期审计

一、问题引入:你的回测能追踪到每一笔订单吗?

大多数回测工具告诉你的是"结果"——赚了多少、亏了多少、夏普多少。但很少有人关注"过程"——每笔订单是在什么时间、以什么价格、因为什么原因执行的?手续费是多少?订单状态是否成交?这些信息在实盘中至关重要,但在回测中往往被忽略。结果就是你拿了一个漂亮的回测曲线去实盘,发现滑点、手续费、执行延迟把你的策略收益吃掉了一半。

QuantDinger 是一个专注于订单级别审计追踪的 CTA 回测框架。它不仅输出标准绩效指标,还记录每一笔订单的完整生命周期——从触发信号到成交确认、从入场理由到出场原因、从单笔手续费到累计成本。本文以贵州茅台(600519)的真实回测数据,展示 QuantDinger 从策略清单到订单审计的完整输出。

二、成果展示:QuantDinger 对贵州茅台的完整回测

image

 

2.1 Strategy Manifest(策略清单)

QuantDinger 最独特的设计——在执行回测前先输出一份策略清单,明确策略的所有参数:

属性说明
Strategy Type CTA 趋势跟踪策略
Universe CNStock:600519.SH 单一标的:贵州茅台
Primary Frequency 1d 日线级别
Direction Mode long_only 只做多
Benchmark CNStock:600519.SH 基准为标的自身
Total Executions 14 7买7卖 = 14笔订单

策略清单的价值在于"回测前先确认参数"——避免跑了半天回测才发现方向模式设成了 long_only 但策略逻辑中包含做空信号的尴尬。

2.2 Performance Metrics(绩效指标)

指标指标
Initial Capital ¥1,000,000 Final Value ¥1,110,924
Total Return +11.09% CAGR +5.52%
Sharpe Ratio 0.505 Max Drawdown -15.18%
Profit Factor 1.70 Win Rate 42.86%
Total Trades 7 Total Executions 14
Total Fees ¥2,233.15    

2.3 Benchmark Comparison(基准对比)

指标StrategyBenchmarkExcess
Return +11.09% -3.34% +14.43%
CAGR +5.52% -1.72% +7.24%
Sharpe 0.505 0.059 +0.446
Max Drawdown -15.18% -33.97% +18.79%

基准回撤-33.97%,策略回撤仅-15.18%——超额收益的核心来源不是涨的时候多赚,而是跌的时候少亏

2.4 Order Ledger(订单审计——核心特色)

14笔订单的完整审计追踪——每笔订单的时间、方向、成交价、金额、手续费、状态和触发原因全部记录

时间方向成交价金额手续费状态触发原因盈亏
2022-04-13 BUY ¥1,528.92 ¥917,351 ¥275 filled ma_crossover_long_entry
2022-05-18 SELL ¥1,522.00 ¥913,202 ¥274 filled ma_crossover_long_exit -¥4,422
2022-06-07 BUY ¥1,571.18 ¥942,709 ¥283 filled ma_crossover_long_entry
2022-07-22 SELL ¥1,700.92 ¥1,020,553 ¥306 filled ma_crossover_long_exit +¥77,538
2022-11-23 BUY ¥1,353.22 ¥947,257 ¥284 filled ma_crossover_long_entry
2023-02-14 SELL ¥1,631.27 ¥1,141,891 ¥343 filled ma_crossover_long_exit +¥194,292
2023-04-04 BUY ¥1,605.44 ¥1,123,807 ¥337 filled ma_crossover_long_entry
2023-04-14 SELL ¥1,515.93 ¥1,061,151 ¥318 filled ma_crossover_long_exit -¥62,975
2023-06-16 BUY ¥1,590.49 ¥1,113,340 ¥334 filled ma_crossover_long_entry
2023-08-23 SELL ¥1,593.62 ¥1,115,536 ¥335 filled ma_crossover_long_exit +¥1,861
2023-09-07 BUY ¥1,651.11 ¥1,155,780 ¥347 filled ma_crossover_long_entry
2023-09-15 SELL ¥1,600.80 ¥1,120,560 ¥336 filled ma_crossover_long_exit -¥35,557
2023-11-09 BUY ¥1,611.69 ¥1,128,181 ¥338 filled ma_crossover_long_entry
2023-12-06 SELL ¥1,529.84 ¥1,070,889 ¥321 filled ma_crossover_long_exit -¥57,613

全部14笔订单状态均为 filled,入场原因统一为 ma_crossover_long_entry,出场原因统一为 ma_crossover_long_exit——策略执行逻辑清晰一致,没有异常订单。

quantdinger_equity_curve

 

2.5 输出文件

quantdinger_output/
├──  quantdinger_report.csv           ← 完整报告(Manifest+Metrics+Benchmark)
├──  quantdinger_trades.csv           ← 交易明细+Order Ledger
├──  quantdinger_report.json          ← 结构化结果
├── ️ quantdinger_equity_curve.png     ← 净值曲线图
└──  quantdinger_backtest_600519.py   ← 回测脚本(可复现)

三、Step 1:环境准备

EasyClaw 官网下载并安装最新版。本文所有操作均通过自然语言对话完成。

打开 EasyClaw → 左侧面板 →「Skill」→「Skill Creator」。如看不到该入口,在「设置 → 通用」中启用「开发者模式」后重启。

问题解决方法
Skill Creator 灰显 「设置 → 通用 → 启用开发者模式」,重启 EasyClaw
网络连接失败 「设置 → 网络 → 检查代理设置」

四、Step 2:项目架构分析

从 GitHub 拉取 QuantDinger 项目,先展示目录结构,标注出策略引擎、订单审计模块和回测评估模块的位置和职责。
QuantDinger/
├── quantdinger/
│   ├── engine/          ← ★ CTA 回测引擎(事件驱动+订单管理)
│   ├── strategy/        ← 策略基类(initialize + handle_data)
│   ├── ledger/          ← ★ Order Ledger(订单审计追踪)
│   ├── metrics/         ← 绩效计算(含基准对比)
│   └── manifest/        ← ★ Strategy Manifest(策略清单生成)
└── examples/
模块职责
manifest/ 回测前自动生成策略清单,确认Universe/频率/方向模式
engine/ 事件驱动CTA引擎,handle_data逐日执行,管理订单生命周期
ledger/ 订单审计:每笔订单的时间/方向/价格/金额/手续费/状态/原因/盈亏
metrics/ 绩效指标+基准对比+超额收益拆解

五、Step 3:核心参数与 Skill 创建

3.1 参数一览

参数名含义默认值说明
symbol 交易标的 必填,如 600519
start_date 起始日期 格式 YYYY-MM-DD
end_date 结束日期 格式 YYYY-MM-DD
initial_capital 初始资金 1000000
direction_mode 方向模式 long_only 可选:long_only/short_only/both
frequency 主频率 1d 可选:1d/1h/1min

3.2 用自然语言创建 Skill

从 GitHub 拉取 QuantDinger 项目,自动分析项目架构。

重点关注:
- manifest/:策略清单,回测前确认所有参数
- engine/:CTA事件驱动引擎
- ledger/:Order Ledger订单审计,记录每笔订单的完整生命周期
- metrics/:绩效+基准对比+超额归因

额外加入能力:
- 回测前自动输出 Strategy Manifest
- 每笔订单记录触发原因(如 ma_crossover_long_entry)
- Benchmark Comparison 中直接计算超额收益

封装为 EasyClaw Skill:
- 名称:QuantDinger回测
- 输入:symbol、start_date、end_date、initial_capital(默认1000000)、direction_mode(默认long_only)、frequency(默认1d)
- 输出:quantdinger_report.csv + quantdinger_trades.csv + quantdinger_report.json + quantdinger_equity_curve.png + 回测脚本

点击「创建 Skill」,等待完成。

六、Step 4:运行与结果

4.1 启动回测

@QuantDinger回测 symbol=600519 start_date=2022-01-01 end_date=2023-12-31

4.2 效率对比

环节手动操作EasyClaw Skill
环境+策略配置 约60-90分钟 0 分钟
回测+报告 约30分钟 一键输出
总计 约1.5-2小时

[注:具体耗时实际测试后填写]

七、Step 5:进阶与常见问题

5.1 切换方向模式

@QuantDinger回测 symbol=600519 direction_mode=both  ← 允许做多+做空

5.2 常见问题

错误原因解决方法
Order Ledger 有 unfilled 订单 流动性不足或价格触及涨跌停 检查对应日期的市场状态
手续费与预期不符 费率设置与实盘不一致 调整 commission_rate 参数

八、总结

QuantDinger 的核心价值在于从"看结果"升级到"审过程"。Strategy Manifest 让你在回测前确认所有参数、Order Ledger 让你追溯每笔订单的完整生命周期、Benchmark Comparison 让你精确量化超额收益的来源。对于从回测走向实盘的交易者来说,这些"审计级"的细节不是锦上添花——回测和实盘之间的差距,往往就藏在那些回测中没被记录、实盘中却被扣掉的细节里

下一步可以尝试:

  • Order Ledger 异常分析:批量回测多只股票,筛选出有 unfilled 订单的标的,排查流动性风险
  • 多方向模式对比:同一标的跑 long_only vs both 两种模式,看加入做空后超额收益能否提升

资源链接:

你回测时会关注每笔订单的成交状态吗?还是只看最终盈亏?有没有遇到过"回测赚钱、实盘亏钱"却找不到原因的困境?欢迎分享你的经历。

posted @ 2026-07-24 17:26  PC修复电脑医生  阅读(12)  评论(0)    收藏  举报