# ETF轮动策略核心逻辑总结

## 📊 策略概览

基于**多因子动量**的跨市场ETF轮动策略，通过量化评分自动选择表现最优的ETF组合进行投资。

---

## 🎯 候选池配置

### 覆盖市场
- **A股**（17个指数）：
  - 宽基：沪深300(000300.SH)、中证500(000905.SH)、中证1000(000852.SH)、创业板指(399006.SZ)、上证红利(000015.SH)
  - 金融：中证银行(399986.SZ)
  - 消费：中证白酒(399997.SZ)
  - 医药：中证医疗(399989.SZ)
  - 科技：中证信息(000935.SH)
  - 新能源：新能源车(399976.SZ)
  - 周期资源：国证有色(399395.SZ)、中证煤炭(399998.SZ)、细分化工(399813.SZ)、中证能源(000937.SH)
  - 其他：中证军工(399967.SZ)、中证农业(000949.SH)、国债指数(399702.SZ)
- **港股**（1个）：恒生科技(HSTECH.HK)
- **美股**（1个）：纳指100(NDX)
- **商品**（1个）：黄金(AU.SHF)
- **加密货币**（2个）：BTC、ETH

### 指数-ETF映射
每个指数对应一个可交易的ETF（或直接交易），例如：
- `000300.SH`（沪深300指数） → `510300.SH`（华泰柏瑞沪深300ETF）
- `NDX`（纳指100） → `159501.SZ`（嘉实纳指100ETF）
- `BTC`（比特币） → 无ETF，直接交易

**总计：22个候选标的**

---

## ⏱️ 回看周期与调仓周期

### 回看周期
- **窗口长度**：25个交易日
- **因子类型**：`slope_r2`（斜率×R²趋势得分）
  - 对过去25日价格进行线性回归
  - 得分 = 斜率 × R² × 10000
  - 同时考虑趋势强度和稳定性

### 调仓周期
- **最低持有期**：1天（`rebalance_days = 1`）
- **调仓阈值**：0%（`rebalance_threshold = 0.0`）
  - 新组合总得分 > 当前组合总得分时即触发调仓
- **交易成本**：0.1%（双边，含佣金+滑点）

**实际运行**：每个交易日评估是否调仓，无强制锁定期

---

## 🧮 得分计算逻辑

### 核心公式
```
得分 = 斜率(slope) × R² × 10000
```

### 计算步骤
1. **数据获取**：获取每个标的过去25+日的收盘价
2. **价格归一化**：将价格序列除以起始价格（消除绝对价格影响）
3. **线性回归**：对归一化价格进行一元线性回归
   - `x = [1, 2, 3, ..., 25]`
   - `y = 归一化价格序列`
4. **提取指标**：
   - `slope`：回归斜率（代表趋势方向与强度）
   - `R²`：拟合优度（代表趋势稳定性）
5. **计算得分**：`score = 10000 × slope × R²`

### 得分含义
- **正值**：上升趋势，值越大趋势越强且越稳定
- **负值**：下降趋势
- **接近0**：无明显趋势或趋势不稳定

### 跨市场数据对齐
- **基准日历**：以A股交易日为准
- **非A股标的**：数据前向填充（ffill）到A股交易日
- **T+1规则**：T日收盘计算信号，仅使用T日及之前数据

---

## 📦 持仓数量与仓位配置

### 持仓数量
- **选中数量**：5个ETF（`select_num = 5`）
- 每日从22个候选标的中选出得分最高的5个

### 仓位配置
- **等权分配**：每个选中标的占总仓位的20%（1/5）
- **日收益率计算**：`组合日收益 = mean(5个标的的日收益率)`

### 换仓逻辑
1. 每日计算所有标的的最新得分
2. 选出Top 5构成"目标组合"
3. 对比"目标组合"与"当前持仓组合"的总得分
4. 若 `目标总得分 > 当前总得分`，则触发调仓
5. 调仓时卖出旧标的，等权买入新标的

---

## 🛡️ 溢价率控制（跨境ETF）

### 控制机制
- **A股ETF**：不启用（溢价通常 < 0.5%）
- **港股ETF**：阈值3%，超过则排除
- **美股ETF**：阈值2%，超过则排除
- **商品ETF**：不启用

### 处理模式
- **filter模式**：溢价超阈值的标的直接从候选池排除
- **penalty模式**（可选）：对高溢价标的得分乘以惩罚系数（0.5）

---

## 📅 运行时间安排

### 信号生成时间
- **运行时间**：T+1日上午9:00（北京时间）
- **数据基准**：基于T日（前一交易日）收盘数据
- **原因**：美股和加密货币数据在T+1日凌晨才可用

### 数据源
- **A股**：Tushare
- **港股/美股/商品**：YFinance
- **加密货币**：CCXT/OKX（通过SSH隧道访问）

---

## 📈 策略特点总结

| 维度 | 配置 |
|------|------|
| **策略类型** | 动量轮动（趋势跟踪） |
| **候选池** | 22个标的（A股/港股/美股/商品/加密货币） |
| **回看周期** | 25个交易日 |
| **因子类型** | 斜率×R²（趋势强度×稳定性） |
| **持仓数量** | 5个ETF |
| **仓位配置** | 等权（各20%） |
| **调仓频率** | 每日评估，无锁定期 |
| **调仓条件** | 新组合得分 > 旧组合得分 |
| **交易成本** | 0.1%（双边） |
| **溢价控制** | 港股3%、美股2%阈值过滤 |
| **基准指数** | 沪深300（000300.SH） |

---

## 💡 核心优势

1. **跨市场分散**：覆盖股票、商品、加密货币，降低单一市场风险
2. **趋势+稳定性**：slope_r2因子同时捕捉趋势方向和可靠性
3. **自动轮动**：量化评分，避免主观判断
4. **溢价保护**：防止高价买入跨境ETF
5. **灵活配置**：所有参数可通过YAML配置文件调整

---

*文档生成时间：2026-04-16*
