# Sector Rotation

行业轮动分析, , 申万行业景气度评分、行业动量排名、产业链传导、估值/盈利/资金流多维比较框架

- Repository: https://github.com/HKUDS/Vibe-Trading (37375 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add HKUDS/Vibe-Trading --skill sector-rotation -g -a claude-code -y`
Codex: `npx skills add HKUDS/Vibe-Trading --skill sector-rotation -g -a codex -y`
Cursor: `npx skills add HKUDS/Vibe-Trading --skill sector-rotation -g -a cursor -y`
Gemini CLI: `npx skills add HKUDS/Vibe-Trading --skill sector-rotation -g -a gemini-cli -y`

## Description

行业轮动分析, , 申万行业景气度评分、行业动量排名、产业链传导、估值/盈利/资金流多维比较框架

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 行业轮动分析

## 概述

基于A股申万行业分类体系，通过景气度评分、动量排名、估值比较、资金流向四个维度进行行业轮动分析，输出行业超配/低配建议。

## 申万行业分类体系

### 一级行业（31个）

| 大类 | 行业 | 代码示例 |
|------|------|---------|
| 上游周期 | 煤炭、有色、石油石化、钢铁、基础化工 | 煤炭ETF: 515220 |
| 中游制造 | 电力设备、机械设备、国防军工、汽车 | 新能源ETF: 516160 |
| 下游消费 | 食品饮料、家用电器、医药生物、美容护理 | 消费ETF: 510150 |
| TMT | 电子、计算机、通信、传媒 | 科技ETF: 515000 |
| 金融地产 | 银行、非银金融、房地产 | 金融ETF: 510230 |
| 公用事业 | 公用事业、交通运输、环保 | 红利ETF: 510880 |

### 行业周期属性

| 类型 | 行业 | 特征 | 驱动因子 |
|------|------|------|---------|
| 强周期 | 煤炭/有色/钢铁/化工 | 盈利波动大，跟宏观紧密 | PPI、PMI、商品价格 |
| 弱周期 | 食品饮料/医药/公用 | 盈利稳定，防御属性 | CPI、消费数据 |
| 成长型 | 电子/计算机/电力设备 | 高PE高增速，政策敏感 | 产业政策、渗透率 |
| 金融 | 银行/非银/保险 | 利差驱动，与利率正相关 | 利率、社融、信贷 |

## 景气度评分框架

### 评分维度（满分100）

| 维度 | 权重 | 指标 | 评分规则 |
|------|------|------|---------|
| 盈利增速 | 30% | 净利润同比增速 | >30%=30分, 15-30%=22分, 0-15%=15分, <0%=5分 |
| 盈利趋势 | 20% | 连续N季加速 | 加速3季+=20分, 2季=14分, 减速=-5分 |
| 景气指标 | 20% | PMI/开工率/价格 | 高位+上行=20分, 高位回落=12分, 低位=5分 |
| 政策支持 | 15% | 产业政策力度 | 明确利好=15分, 中性=8分, 利空=2分 |
| 估值安全 | 15% | PE历史分位 | <30%分位=15分, 30-50%=10分, >70%=3分 |

### 景气度变化信号

```
景气度上行信号（超配）:
1. 行业PMI连续2个月>50且环比改善
2. 龙头公司订单/收入同比加速
3. 产品价格上行（涨价周期）
4. 产能利用率>80%且在提升
5. 政策催化（补贴/准入/国产替代）

景气度下行信号（低配）:
1. 行业PMI连续2个月<50
2. 存货周转天数上升（库存积压）
3. 产品价格下行
4. 产能过剩（利用率<60%）
5. 政策收紧（环保/反垄断/集采）
```

## 行业动量排名方法

### 价格动量

```python
def sector_momentum(sector_returns: pd.DataFrame, lookback: int = 60, skip: int = 5) -> pd.Series:
    """
    Args:
        sector_returns: 行业日收益率，columns=行业名
        lookback: 回看窗口（交易日）
        skip: 跳过最近N天（避免短期反转）
    Returns:
        行业动量得分排名
    """
    cum_return = (1 + sector_returns).rolling(lookback).apply(lambda x: x[:-skip].prod() - 1)
    return cum_return.iloc[-1].rank(ascending=False)
```

### 盈利动量

```
盈利动量 = 当季ROE同比变化 - 上季ROE同比变化
正值 = 盈利加速（超配信号）
负值 = 盈利减速（减配信号）
```

### 综合动量排名

```
综合得分 = 0.4 × 价格动量排名 + 0.3 × 盈利动量排名 + 0.3 × 资金流排名
取 Top 5 行业超配，Bottom 5 行业低配
```

## 产业链上下游传导

### 典型传导链条

```
上游（原材料）→ 中游（制造加工）→ 下游（消费/应用）

The rest: https://github.com/HKUDS/Vibe-Trading/blob/HEAD/agent/src/skills/sector-rotation/SKILL.md
