name: etf-capital-flow-analysis description: > ETF 资金流深度分析工作流。基于东方财富妙想数据,对宽基/行业 ETF 的净流入、主力流向、申购赎回分歧进行量化分析, 识别拥挤度风险与资金真实意图。适用于 ETF 择时、板块轮动验证、卖方研报交叉核验。 triggers: - 用户要求分析 ETF 资金流 / 资金流向 / 主力流向 - 用户要求对比宽基 ETF 与行业 ETF 资金差异 - 用户提及 ETF 净流入、净申购、主力净流入等关键词 - 用户要求用妙想数据查询 ETF 资金面 - 用户询问某 ETF / 某板块 ETF 是否拥挤、是否有资金撤退迹象
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. 命令行调用
python3 {baseDir}/scripts/get_data.py --query "沪深300ETF 510300、科创50ETF 588000 近一周资金流向"
输出示例
Saved: /path/to/miaoxiang/etf_capital_flow_analysis/etf_capital_flow_a1b2c3d4.md
(随后输出 Markdown 资金流分析报告)
参数说明:
| 参数 | 说明 | 必填 |
|---|---|---|
--query |
用户原始自然语言问句(含 ETF 名称/代码 + 指标 + 时间范围) | ✅(--query 或 stdin 二选一) |
--no-save |
仅输出报告,不写入本地文件 | 否 |
2. 代码调用
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 |
| 同向双正 🟢 | 主力净流入 + 净申购额均为正 | 信号一致看多,资金真实流入 | — |
| 同向双负 🔴 | 主力净流入 + 净申购额均为负 | 信号一致看空,资金真实流出 | — |
报告结构
- 全景汇总表 — ETF × 指标矩阵(市值、涨跌幅、5日主力净流入、5日净申购额、分歧信号)
- 关键发现 — 按 🔴🟡🟢 风险等级分组呈现
- 核心分歧深度分析 — 对出现背离的 ETF 展开解读
- 综合判断与可执行清单 — 优先级排序的行动建议
- 原始数据附录 — 接口返回的结构化明细
常见陷阱
- 只看净流入,不看净申购:净流入可能仅是场内交易,不代表真实资金配置意愿
- 忽略市值规模:小市值 ETF(如新能源ETF 仅50亿+)的亿元级流入占比更高,弹性大但噪音也大
- 单日数据过度解读:需至少 3-5 日连续数据才能判断趋势
- 行业 ETF 与宽基 ETF 不可直接对比:行业 ETF 受板块 Beta 影响更大,宽基 ETF 反映市场整体情绪
与研报交叉验证
将此资金流分析与卖方策略研报的板块配置建议交叉:
| 场景 | 操作 |
|---|---|
| 研报看好某板块,但 ETF 资金流持续流出 | 质疑研报时点或动机 |
| 研报警示某板块拥挤,且 ETF 出现「主力卖、份额申」 | 强化警示信号 |
| 研报与资金流方向一致 | 提高置信度 |
输出规范
- 对用户的可见回复必须以脚本生成的 Markdown 报告为主体
- 接口/脚本明确返回
error时,用简短文字说明失败原因 - 禁止在失败时杜撰报告内容
合规说明
- 资金流数据具有时效性,结果反映接口调用时刻的市场状态
- 分析结果仅供参考,不构成投资建议,输出时应附风险提示
- 禁止在代码或提示词中硬编码账号 ID、会话 ID 或 token
- 接口失败时不得编造结论,应返回明确错误或不确定性说明