# Etf Capital Flow Analysis

> ETF 资金流深度分析工作流。基于东方财富妙想数据，对宽基/行业 ETF 的净流入、主力流向、申购赎回分歧进行量化分析， 识别拥挤度风险与资金真实意图。适用于 ETF 择时、板块轮动验证、卖方研报交叉核验。

- Skill: `hiboys/etf-capital-flow-analysis` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add hiboys/etf-capital-flow-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hiboys/etf-capital-flow-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: hiboys (https://skillmd.com/u/hiboys)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hiboys/etf-capital-flow-analysis

---


# ETF 资金流深度分析

通过**自然语言问句**对指定 ETF 进行资金流深度分析，自动拉取数据、检测分歧信号、生成结构化 Markdown 报告。适用场景包括：

- **ETF 择时判断**（资金面验证趋势方向）
- **板块轮动监控**（行业 ETF 资金流向对比）
- **拥挤度风险识别**（主力 vs 申购赎回分歧）
- **卖方研报交叉核验**（用资金流数据验证研报观点）

---

## 功能范围

### 基础能力
- 输入自然语言问句（含 ETF 名称/代码 + 时间范围），调用东方财富妙想数据接口
- 自动解析多 Sheet 返回结果，提取核心资金流指标
- **核心分析**：主力净流入 vs 净申购额分歧检测（本 Skill 的核心洞察）
- 生成结构化 Markdown 报告，含全景汇总表、分歧深度分析、风险优先级清单
- 支持将报告保存为本地 `.md` 文件

### 触发规则（何时使用本技能）
- 用户问题是 **ETF 层面的资金流分析**：「XX ETF 资金流向怎么样」「宽基 ETF 最近谁在买」
- 用户关注 **主力资金与散户资金的背离**：「主力在流出但 ETF 份额还在涨是怎么回事」
- 用户需要 **板块轮动的资金面证据**：「半导体和医药 ETF 资金流向对比」
- 用户提及 **净流入、净申购、主力净流入** 等 ETF 资金流关键词

### 不触发规则（何时不要使用本技能）
- 用户询问单只股票诊断（应走 `stock-diagnosis`）
- 用户询问单只基金诊断（应走 `fund-diagnosis`）
- 用户要求具体技术指标计算（MACD、RSI 等）
- 用户询问美股/港股 ETF（当前仅支持 A 股 ETF）

### 触发示例

| 触发（ETF 资金流分析） | 不触发（其他能力） |
|---|---|
| 沪深300ETF 最近资金流向怎么样？ | 东方财富这只股票怎么样？ |
| 通信ETF 和半导体ETF 谁在吸金？ | 帮我算一下沪深300的MACD |
| 科创50ETF 主力一直在卖但份额还在涨，什么情况？ | 标普500 ETF 最近表现如何？ |
| 宽基 ETF 近一周资金流全景 | 帮我建个 ETF 组合 |

---

## 快速开始

### 1. 命令行调用

```bash
python3 {baseDir}/scripts/get_data.py --query "沪深300ETF 510300、科创50ETF 588000 近一周资金流向"
```

**输出示例**
```text
Saved: /path/to/miaoxiang/etf_capital_flow_analysis/etf_capital_flow_a1b2c3d4.md
（随后输出 Markdown 资金流分析报告）
```

**参数说明：**

| 参数 | 说明 | 必填 |
|---|---|---|
| `--query` | 用户原始自然语言问句（含 ETF 名称/代码 + 指标 + 时间范围） | ✅（`--query` 或 stdin 二选一） |
| `--no-save` | 仅输出报告，不写入本地文件 | 否 |

### 2. 代码调用

```python
import asyncio
from pathlib import Path
from scripts.get_data import analyze_etf_capital_flow

async def main():
    result = await analyze_etf_capital_flow(
        query="沪深300ETF、科创50ETF、创业板ETF 近一周主力资金流向和净申购额",
        output_dir=Path("workspace/etf_capital_flow_analysis"),
        save_to_file=True,
    )
    if "error" in result:
        print(result["error"])
    else:
        print(result["content"])
        if result.get("output_path"):
            print("已保存至:", result["output_path"])

asyncio.run(main())
```

### 3. 推荐查询模板

**宽基 ETF**：
```
沪深300ETF 510300、上证50ETF 510050、中证500ETF 510500、
创业板ETF 159915、科创50ETF 588000 的近一周每日净流入金额、
近一周累计流入、今日流入、当前总市值、近一周成交额、近一周涨跌幅
```

**行业 ETF**：
```
通信ETF 515880、半导体ETF 512480、医药ETF 512010、
新能源ETF 515030、券商ETF 512000 的上述同样指标
```

> 单次查询建议控制在 **5-6 只 ETF**，避免返回数据量过大。

---

## 核心分析框架

### 🔥 关键分歧识别：主力净流入 vs 净申购额

这是本分析框架的**核心洞察**。两者来自不同交易机制，方向背离时包含丰富信息。

| 模式 | 含义 | 信号解读 | 常见场景 |
|---|---|---|---|
| **主力买 + 份额赎** | 主力净流入为正，净申购额为负 | 场内交易端有资金买入，但一级市场在净赎回 → **短期博弈资金为主，非长期配置** | 沪深300ETF、中证500ETF 等大盘宽基 |
| **主力卖 + 份额申** ⚠️ | 主力净流入为负，净申购额为正 | 主力资金流出，但散户/其他资金在申购 → **典型的拥挤度风险信号** | 板块涨幅第一的行业 ETF |
| **同向双正** 🟢 | 主力净流入 + 净申购额均为正 | 信号一致看多，资金真实流入 | — |
| **同向双负** 🔴 | 主力净流入 + 净申购额均为负 | 信号一致看空，资金真实流出 | — |

### 报告结构

1. **全景汇总表** — ETF × 指标矩阵（市值、涨跌幅、5日主力净流入、5日净申购额、分歧信号）
2. **关键发现** — 按 🔴🟡🟢 风险等级分组呈现
3. **核心分歧深度分析** — 对出现背离的 ETF 展开解读
4. **综合判断与可执行清单** — 优先级排序的行动建议
5. **原始数据附录** — 接口返回的结构化明细

---

## 常见陷阱

1. **只看净流入，不看净申购**：净流入可能仅是场内交易，不代表真实资金配置意愿
2. **忽略市值规模**：小市值 ETF（如新能源ETF 仅50亿+）的亿元级流入占比更高，弹性大但噪音也大
3. **单日数据过度解读**：需至少 3-5 日连续数据才能判断趋势
4. **行业 ETF 与宽基 ETF 不可直接对比**：行业 ETF 受板块 Beta 影响更大，宽基 ETF 反映市场整体情绪

---

## 与研报交叉验证

将此资金流分析与卖方策略研报的板块配置建议交叉：

| 场景 | 操作 |
|---|---|
| 研报看好某板块，但 ETF 资金流持续流出 | 质疑研报时点或动机 |
| 研报警示某板块拥挤，且 ETF 出现「主力卖、份额申」 | 强化警示信号 |
| 研报与资金流方向一致 | 提高置信度 |

---

## 输出规范
- 对用户的可见回复必须以脚本生成的 Markdown 报告为主体
- 接口/脚本明确返回 `error` 时，用简短文字说明失败原因
- **禁止**在失败时杜撰报告内容

## 合规说明
- 资金流数据具有时效性，结果反映接口调用时刻的市场状态
- 分析结果仅供参考，不构成投资建议，输出时应附风险提示
- 禁止在代码或提示词中硬编码账号 ID、会话 ID 或 token
- 接口失败时不得编造结论，应返回明确错误或不确定性说明

