Moved markdown documentation from root to docs/ directory to improve project structure.
5.1 KiB
5.1 KiB
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
计算步骤
- 数据获取:获取每个标的过去25+日的收盘价
- 价格归一化:将价格序列除以起始价格(消除绝对价格影响)
- 线性回归:对归一化价格进行一元线性回归
x = [1, 2, 3, ..., 25]y = 归一化价格序列
- 提取指标:
slope:回归斜率(代表趋势方向与强度)R²:拟合优度(代表趋势稳定性)
- 计算得分:
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个标的的日收益率)
换仓逻辑
- 每日计算所有标的的最新得分
- 选出Top 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) |
💡 核心优势
- 跨市场分散:覆盖股票、商品、加密货币,降低单一市场风险
- 趋势+稳定性:slope_r2因子同时捕捉趋势方向和可靠性
- 自动轮动:量化评分,避免主观判断
- 溢价保护:防止高价买入跨境ETF
- 灵活配置:所有参数可通过YAML配置文件调整
文档生成时间:2026-04-16