2026-03-23.md 1.3 KB

2026-03-23

交易报告系统优化

上午工作

  • 用户要求修改交易明细显示数量:10笔 → 30笔
  • 已更新 auto_report.py 和 auto_report_long_only_t1.py
  • 触发两份报告成功发送

下午关键修复:T+1资金占用问题

发现的问题: auto_report_long_only_t1.py 的 T+1 转换器存在严重bug:

  • 当一笔T0交易被延期到T+1时,只延期了平仓时间,但没有阻止期间的新信号开仓
  • 导致资金被重复计算(时间重叠)
  • 发现2处重叠:#4/#5, #11/#12

修复方案: 完全重写 t1_converter.py:

  1. 新增 simulate_t1_trades_v2() 函数
  2. 按时间顺序处理信号
  3. 维护持仓状态,持仓期间跳过新信号
  4. 正确计算T+1延期后的平仓时间和价格
  5. 100%仓位使用,持仓期资金被占用

修复结果: | 指标 | 修复前 | 修复后 | |------|--------|--------| | 交易数 | 16笔 | 14笔(跳过2笔)| | 时间重叠 | 2处 | 0处 | | 收益率 | +21.89%(错误)| +13.55%(正确)|

提交记录:

Fix T+1 trade overlap issue - complete rewrite
- t1_converter.py: Complete rewrite with V2 logic
- t1_converter_v2.py: Backup of new implementation
- auto_report_long_only_t1.py: Updated to use simulate_t1_trades_v2

关键教训

T+1回测不是简单的