• 李忠良
    2026-07-24 来自北京
    三、复核题 执行命令: ./.venv/bin/python report_cli.py --format json --short 3 --long 7 本次选择复算最大回撤。 1. 原始数据 从程序输出的权益曲线可以定位到: 权益局部峰值:10281.47 峰值后的最低权益:8464.93 2. 最大回撤公式 最大回撤 = 最低权益 ÷ 此前历史最高权益 - 1 更完整地表示为: MDD = min(E_t ÷ max(E_0...E_t) - 1) 3. 代入数值 8464.93 ÷ 10281.47 - 1 = -0.1767... ≈ -17.67% 4. 程序输出 maximum_drawdown_pct=-17.67% 同时,程序还输出: strategy_return_pct=-15.35% buy_hold_return_pct=56.27% final_equity=8464.93 trade_count=14 手工复算的最大回撤与程序输出一致。微小的小数差异来自程序输出和手工计算时的舍入。 5. 结论边界 -17.67%描述的是账户权益曲线从历史峰值到后续低点的最大回落,不是原始价格的最大跌幅,也不是某一笔交易的收益。 它能证明: 在当前固定样本、3/7均线参数和当前回测规则下,账户权益路径曾经从局部峰值回落约17.67%。 它不能证明: 真实交易中一定会发生相同回撤; 策略未来的最大损失就是17.67%; 回撤来自标的价格本身; 策略具有实盘价值; 策略的风险已经被充分评估。
    展开
    
    
  • 李忠良
    2026-07-24 来自北京
    为什么不等于完整策略收益? 这两个数字只描述相邻收盘价格的变化,没有包含: 当时是否已经产生交易信号; 账户是否实际成交; 账户是否持有仓位; 使用了多少资金; 何时离场; 是否被风控拒绝; 后续所有交易的盈亏; 完整权益曲线的变化。 只有策略在价格变化发生前已经建立仓位,这段价格收益才可能进入策略收益。完整策略收益必须根据整个样本中的实际成交、仓位变化和账户权益路径计算。
    
    
  • 李忠良
    2026-07-24 来自北京
    从 data/prices.csv 选取连续三行: 2025-01-02:8.69 2025-01-03:8.76 2025-01-06:8.93 简单收益公式为: r_t = P_t ÷ P_(t-1) - 1 第一段简单收益 8.76 ÷ 8.69 - 1 = 0.008055... ≈ 0.81% 所以,2025-01-02至2025-01-03的简单收益约为 0.81%。 第二段简单收益 8.93 ÷ 8.76 - 1 = 0.019406... ≈ 1.94% 所以,2025-01-03至2025-01-06的简单收益约为 1.94%。
    
    