# 2026-03-18 - CYB50 T+1转换器开发 ## 任务背景 用户要求校验"只做多T+1版本"与"多空双向版本"做多交易的买卖点一致性,发现完全不匹配(0%一致率)。根本原因是做空交易穿插改变了交易序列。 ## 解决方案 created: `/root/.openclaw/workspace/cat-fly/t1_converter.py` ### 核心逻辑 1. 从多空版本提取所有做多交易(13笔) 2. 识别T0交易(当天买卖) 3. T0交易延期到**下一个交易日开盘**卖出(不是当天稍后) 4. 重新计算延期后的盈亏(基于实际T+1开盘价) ### 关键代码逻辑 ```python def get_next_trading_session_open(data_df, current_time): # 找到第一个不同于current_date的日期 for d in future_dates: if d != current_date: next_date = d break # 返回下一个交易日的开盘价 ``` ## 转换结果对比 | 指标 | T0规则 | T+1规则 | 差异 | |------|--------|---------|------| | 收益率 | +15.51% | +22.53% | **+7.02%** | | 总盈亏 | +155,122元 | +225,328元 | +70,206元 | | 胜率 | 66.7% | 73.3% | +6.6% | | T0调整笔数 | - | 5笔 | - | ### 显著变化的交易 - **03-04**: 原T0止损 -9,608元 → T+1延期盈利 +20,360元 (+29,968元) - **03-09**: 原T0止盈 +27,473元 → T+1延期盈利 +70,206元 (+42,733元) ## 结论 在这组CYB50数据中,T+1规则反而表现更好,因为隔夜反弹挽救了几笔原本要止损的T0交易。 ## TODO - [ ] 更新 `auto_report_long_only_t1.py` 使用T+1转换后的数据 - [ ] 或把转换逻辑直接集成到 `cyb50_30min_long_only_t1.py`