---
name: sector-rotation
description: 行业ETF轮动研究：核对SSRN 4280640论文规则，复核预测分布集中度与历史配权，评估轮动对现有策略的增益。提供确定性计算与配权分项回测，不生成深度模型预测或实盘买卖计划。
---

# 行业 ETF 轮动研究

用于研究一组行业 ETF 的周度轮动，以及它是否值得补充现有趋势、题材或组合策略。市场由用户指定，允许跨市场；论文的美国样本不构成插件市场限制。

实现状态：**共享Python数值计算与配权分项回测已实现，论文完整训练与信号模型未实现**。MUST 将“原文已披露规则”“尚未披露的实现细节”“插件的跨市场扩展”分别说明。MUST NOT 声称已经严格复现论文或重现其收益。

## 1. 明确要改善什么

- 行业配置：比较不同 ETF 的取舍、空仓和资金分配。这是与现有能力最直接的补充。
- 热点题材：`hot-theme` 判断板块强度与催化，不能用本论文证明其预测能力得到改善。
- 个股趋势：`bull-trend` 的月度持有与本论文的周内清仓时钟不同。MUST NOT 自动把轮动筛选叠加为个股买入过滤器。
- 单股回测：`strategy-backtest` 的单标的 YAML 不能代表跨 ETF 共享资金组合。

仅问是否有用时，结合上述区别回答；无独立对照证据时，结论为“有能力补充价值，收益增益未证实”。

## 2. 核对论文与数据

研究具体规则、复现、模型预测或交易时，MUST 先读取 [论文规则、缺项与输入格式](references/strategy_rules.md)。严格复现所需的损失函数或参数缺失时，列出缺项，停止生成模型信号；MUST NOT 自选参数并冠以原策略名称。

用户提供代码即可通过现有 `get_kline` 获取整个池的 daily OHLCV，按研究区间加预热历史；行业归属、ETF身份、币种或复权未知时明确标记。没有代码时才需要确定标的池。MUST 保留整池成员、来源、实际区间及缺失项，不能静默删掉失败成员改变横截面。

跨市场时，分别记录交易所、时区、币种、当地交易日和周末决策截止时间；只使用截止时已发布的数据。共同资金研究还需要历史汇率、换汇成本及结算约束，数据缺失时停止组合收益计算。MUST NOT 将不同币种净值相加、把后收盘市场的数据用于早开盘市场的历史订单，或把本地周线按日期直接拼接后宣称无前视。

## 3. 复核已披露计算

已有模型生成的 MC-dropout 样本或历史成交计数时，调用 `calculate_rotation_metrics(prediction_samples?, trade_counts?)`。Agent负责提供有来源的输入和解释结果，MUST 使用工具计算，不临场手算或重写算子。交易计数可直接复用分项回测返回的 `trade_counts`；缺原模型预测时，MUST NOT 用动量、随机数或语言模型猜测代替。

- `confidence`：复核预测值在“中位数 ± 总体标准差”内的经验占比。
- `allocation`：复核 `1 + wins/buys + streak/(wins+1)` 原始配权分数。

输入格式、样本来源与零历史边界见参考。所有算子以共享 `tools/sector_rotation.py` 为唯一实现，四宿主转发同一JSON。skill里的 `scripts/rotation_metrics.py` 仅保留旧调用兼容入口；没有另一套公式。没有模型训练、账户存储或下单功能。

MUST 同时报 `paper_reproduction=partial_calculations_only`。集中度不是盈利概率；原始配权分数不是目标权重、股数或已确认可用资金。两项计算都不能独立决定买入。

## 4. 运行配权分项回测

MUST 先读取 [计算与回测接口](references/computation.md)，再调用 `backtest_rotation_allocation`。用户给代码时使用 `symbols` 自动获取行情与报价币种；已有核实的行情才传 `datasets`。两种模式互斥，不能要求正常用户手工准备行情文件。

该工具在相同全池周内买卖下比较等权与历史配权，自动计数、费用扣除、净值和回撤；MUST NOT 让Agent自行计算回测收益。按交易所与报价币种分组，每组独立初始资金；报告每组实际区间、跳过周、费用、两组表现及差值。混合代码池不等于跨币种共享资金组合。任一取数失败、复权/价格检查失败或评估期完整交易周缺bar/零成交量则停止，不缩小股票池，不按事后数据完整性选择交易周。预热不足不能用评估期收益补齐初始化。

该分项入口不需要缺失的神经网络，也不能替代它。MUST 同时报 `paper_reproduction=allocation_ablation_only`，并把历史分数归一化和预热约定与原文已披露公式分开。

## 5. 评估相对现有策略的增益

取得完整可执行模型后，按预先固定的区间、标的池、初始资金、成交时点和成本比较：

1. 基准持有、行业 ETF 等权、简单动量轮动、论文模型；现有月度策略仅在标的池和资金口径可比时加入。
2. 保持年度训练与周度更新的时间边界，归一化和阈值选择均只看当时已知数据；额外报告论文发表后的独立区间。
3. 分别比较净收益、最大回撤、换手、交易次数和资金占用；逐项关闭置信筛选、亏损过滤或动态配权，检验各部件实际贡献。
4. 如需改善某个现有策略，另做“原策略 vs 加入该部件”的同条件对照，不能凭独立策略收益推定组合效果。

完成时报告：已实现内容、缺项、对照条件和增益结论。没有完整模型或合格组合回测时，MUST 报“尚未验证”，不能用论文表3、单股回测相加或技术测试通过代替实际增益证据。
