# 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`
