mcpField
I
institutional-flow-tracker

institutional-flow-tracker

github.com/mphinance其他3289 次安装3 天前更新
代码仓库

关于 institutional-flow-tracker

institutional-flow-tracker 是面向股票研究者的分析技能,利用 SEC 13F 季度申报追踪机构持仓变化。它提供筛选与单只股票分析,并纳入数据可靠性评级;数据存在申报延迟。

主要功能

  1. 01按机构持仓变化筛选股票
  2. 02分析单只股票的 8 个季度趋势
  3. 03查看持有人、增减仓与集中度
  4. 04提供数据可靠性评级
  5. 05生成 Markdown 分析报告

适用场景

  1. 01验证投资想法是否获机构增持
  2. 02发现机构持仓显著变化的股票
  3. 03复核持仓中的机构卖出风险
  4. 04分析行业资金轮动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mphinance/alpha-skills --skill institutional-flow-tracker

安装后在 Claude Code 中输入/institutional-flow-tracker确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
13f_filings_guide.md
institutional_investor_types.md
interpretation_framework.md
scripts/
analyze_single_stock.py
data_quality.py
track_institution_portfolio.py
track_institutional_flow.py
scripts/tests/
conftest.py
test_filters.py
test_matching.py
test_parser_contract.py
test_single_stock.py
test_tracker_integration.py

详细介绍

机构资金流向追踪器

概述

此技能通过分析 SEC 13F 申报文件追踪机构投资者的活动,识别资金流入和流出股票的情况。通过分析机构持仓的季度变化,你可以发现成熟投资者在股价大幅波动前正在增持的股票,或在机构减仓时识别潜在风险。

**关键洞察:**机构投资者(对冲基金、养老基金、共同基金)管理着数万亿美元资产,并会进行广泛研究。他们整体的买卖模式往往会提前 1-3 个季度预示显著的价格变动。

前置要求

  • **FMP API 密钥:**设置 FMP_API_KEY 环境变量,或在脚本中传入 --api-key
  • **Python 3.8+:**运行分析脚本所需
  • 依赖项:pip install requests(脚本能够妥善处理依赖项缺失的情况)

何时使用此技能

在以下情况下使用此技能:

  • 验证投资想法(检查聪明资金是否认同你的投资论点)
  • 发现新的机会(寻找机构正在增持的股票)
  • 评估风险(识别机构正在退出的股票)
  • 监控投资组合(追踪机构对你所持股票的支持力度)
  • 跟踪特定投资者(追踪 Warren Buffett、Cathie Wood 等)
  • 分析行业轮动(识别机构正在将资金转向哪些领域)

请勿在以下情况下使用:

  • 寻找实时日内信号(13F 数据有 45 天的申报延迟)
  • 分析微型市值股票(市值低于 1 亿美元,且机构兴趣有限)
  • 寻找短期交易信号(持有期限不足 3 个月)

数据来源与要求

必需:FMP API 密钥

此技能使用 Financial Modeling Prep(FMP)API 访问 13F 申报数据:

设置:

# Set environment variable (preferred)
export FMP_API_KEY=your_key_here

# Or provide when running scripts
python3 scripts/track_institutional_flow.py --api-key YOUR_KEY

API 套餐要求:

  • **免费套餐:**每天 250 次请求(足以每季度分析 20-30 只股票)
  • **付费套餐:**更高的请求限额,适用于大规模筛选

13F 申报时间表:

  • 每季度申报一次,须在季度结束后 45 天内提交
  • Q1(1 月至 3 月):须于 5 月中旬前提交
  • Q2(4 月至 6 月):须于 8 月中旬前提交
  • Q3(7 月至 9 月):须于 11 月中旬前提交
  • Q4(10 月至 12 月):须于次年 2 月中旬前提交

分析工作流

步骤 1:识别机构持仓发生显著变化的股票

运行主筛选脚本,找出机构活动显著的股票:

快速扫描(按机构持仓变化筛选前 50 只股票):

python3 scripts/track_institutional_flow.py \
  --top 50 \
  --min-change-percent 10

按行业筛选:

python3 scripts/track_institutional_flow.py \
  --sector Technology \
  --min-institutions 20

自定义筛选:

python3 scripts/track_institutional_flow.py \
  --min-market-cap 2000000000 \
  --min-change-percent 15 \
  --top 100 \
  --output institutional_flow_results.json

输出包括:

  • 股票代码和公司名称
  • 当前机构持股比例(占流通股总数的比例)
  • 持有股数的环比变化
  • 持有该股票的机构数量
  • 机构数量的变化(新增买家与卖家)
  • 主要机构持有人
步骤 2:深入分析特定股票

如需详细分析特定股票的机构持仓情况:

python3 scripts/analyze_single_stock.py AAPL

生成内容:

  • 机构持仓的历史趋势(8 个季度)
  • 所有机构持有人的列表及其持仓变化
  • 集中度分析(前 10 大持有人占机构总持股的比例)
  • 新建仓位、增持仓位与减持仓位的数量
  • 数据质量评估及可靠性等级

需评估的关键指标:

  • **持股比例:**机构持股比例较高(>70%)意味着更稳定,但上涨空间有限
  • **持仓趋势:**持股比例上升 = 看涨;持股比例下降 = 看跌
  • **集中度:**集中度较高(前 10 大持有人持股比例 >50%)时,如果这些机构卖出,风险较高
  • **持有人质量:**是否有 Berkshire、Fidelity 等优质长期投资者,而非动量基金
步骤 3:跟踪特定机构投资者

注意:track_institution_portfolio.py 尚未实现。FMP API 按股票(而非机构)组织机构持有人数据,因此仅通过此 API 重建完整投资组合并不实际。

替代方法 — 使用 analyze_single_stock.py 检查特定机构是否持有某只股票:

# Analyze a stock and look for a specific institution in the output
python3 institutional-flow-tracker/scripts/analyze_single_stock.py AAPL
# Then search the report for "Berkshire" or "ARK" in the Top 20 holders table

如需跟踪完整的机构级投资组合,请使用以下外部资源:

  1. WhaleWisdom: https://whalewisdom.com(提供免费套餐,可查看 13F 投资组合)
  2. SEC EDGAR: https://www.sec.gov/cgi-bin/browse-edgar(官方 13F 文件)
  3. DataRoma: https://www.dataroma.com(超级投资者投资组合跟踪器)
步骤 4:解读与行动

阅读参考资料,了解解读指南:

  • references/13f_filings_guide.md - 了解 13F 数据及其局限性
  • references/institutional_investor_types.md - 不同投资者类型及其策略
  • references/interpretation_framework.md - 如何解读机构资金流信号

信号强度框架:

强烈看涨(考虑买入):

  • 机构持股量环比增长 >15%
  • 机构数量增加 >10%
  • 优质长期投资者增持
  • 当前持股比例较低(<40%),仍有增长空间
  • 连续多个季度出现增持

温和看涨:

  • 机构持股量环比增长 5-15%
  • 新买入者和卖出者并存,但净值为正
  • 当前持股比例为 40-70%

中性:

  • 持股量变化不大(<5%)
  • 买入者和卖出者数量相近
  • 机构持股基础稳定

温和看跌:

  • 机构持股量环比下降 5-15%
  • 卖出者多于买入者
  • 持股比例较高(>80%),限制了新买入者的空间

强烈看跌(考虑卖出或避开):

  • 机构持股量环比下降 >15%
  • 机构数量减少 >10%
  • 优质投资者退出持仓
  • 连续多个季度出现减持
  • 集中度风险(最大持有人卖出大量持仓)
步骤 5:应用于投资组合

对于新建仓位:

  1. 对你的选股进行机构分析
  2. 寻找确认信号(机构也在增持)
  3. 如果出现强烈看跌信号,重新考虑或减小仓位
  4. 如果出现强烈看涨信号,可增强对投资论点的信心

对于现有持仓:

  1. 在 13F 申报截止日期后进行季度审查
  2. 监控减持情况(早期预警系统)
  3. 如果机构正在退出,重新评估你的投资论点
  4. 如果机构普遍卖出,可考虑减仓

筛选工作流集成:

  1. 使用 Value Dividend Screener 或其他筛选器寻找候选标的
  2. 对优先候选标的运行 Institutional Flow Tracker
  3. 优先考虑机构增持的股票
  4. 避开机构减持的股票

输出格式

所有分析都会生成结构化的 Markdown 报告,并保存到仓库根目录:

文件名约定: institutional_flow_analysis_<TICKER/THEME>_<DATE>.md

报告章节:

  1. 执行摘要(关键发现)
  2. 机构持股趋势(当前与历史对比)
  3. 主要持有人及其变动
  4. 新买入者与卖出者
  5. 集中度分析
  6. 解读与建议
  7. 数据来源和时间戳

数据可靠性等级

所有分析现在都会根据数据质量显示可靠性等级:

  • 等级 A: 覆盖率 < 3x,匹配率 >= 50%,真实持仓者比例 >= 70%。可用于投资决策。
  • 等级 B: 真实持仓者比例 >= 30%。仅供参考,请谨慎使用。
  • 等级 C: 真实持仓者比例 < 30%。不可靠——已从筛选结果中排除。

筛选脚本(track_institutional_flow.py)会自动排除 C 级股票。 单只股票分析(analyze_single_stock.py)会显示等级并提供相应警告。

为什么这很重要: FMP 每季度返回的持仓者数量不同。一只股票在第 4 季度可能显示有 5,415 名持仓者,而第 3 季度只有 201 名。如果不进行筛选,汇总指标会产生 误导性的百分比变化(例如,+400%)。数据质量模块会筛选出“真实”持仓者 (连续两个季度均有记录),从而生成可靠的指标。

局限性和注意事项

数据延迟:

  • 13F 文件有 45 天的报告延迟
  • 持仓情况自申报日期起可能已发生变化
  • 应将其用作确认指标,而非领先信号

覆盖范围:

  • 只有管理资产超过 1 亿美元的机构才必须申报
  • 不包括个人投资者和规模较小的基金
  • 国际机构可能不会申报 13F

报告规则:

  • 仅报告股票多头头寸(不包括空头、期权和债券)
  • 持仓情况是季度末的快照
  • 部分持仓可能属于保密信息(延迟报告)

解读:

  • 相关性 ≠ 因果关系(即使机构买入,股价也可能下跌)
  • 应考虑整体市场环境和基本面
  • 结合技术分析和其他技能

高级用例

内幕人士 + 机构组合:

  • 寻找内幕人士和机构都在买入的股票
  • 双方信号一致时,效果尤为显著

板块轮动检测:

  • 按板块跟踪机构资金流汇总情况
  • 在价格体现轮动趋势之前,识别早期轮动迹象

逆向投资:

  • 寻找机构正在卖出的优质股票(可能存在价值)
  • 需要坚定的基本面判断

验证聪明资金动向:

  • 建立重要仓位前,确认聪明资金是否持有相同看法
  • 增强信心,或发现被忽视的风险

参考资料

references/ 文件夹包含详细指南:

  • 13f_filings_guide.md - 13F SEC 申报综合指南,介绍申报内容、报告要求和数据质量注意事项
  • institutional_investor_types.md - 不同类型的机构投资者(对冲基金、共同基金、养老基金等)、其典型策略以及如何解读其操作
  • interpretation_framework.md - 解读机构持股变化的详细框架、信号质量评估,以及如何与其他分析结合

脚本参数

track_institutional_flow.py

用于筛选机构持仓发生显著变化的股票的主脚本。

必填:

  • --api-key:FMP API 密钥(或设置 FMP_API_KEY 环境变量)

可选:

  • --top N:按机构持仓变化返回前 N 只股票(默认:50)
  • --min-change-percent X:机构持仓变化的最小百分比(默认:10)
  • --min-market-cap X:最低市值(美元)(默认:1B)
  • --sector NAME:按特定板块筛选
  • --min-institutions N:机构持仓者的最低数量(默认:10)
  • --limit N:从筛选器获取的股票数量(默认:100)。数值较低可减少 API 调用。
  • --output FILE:输出 JSON 文件路径
  • --output-dir DIR:报告输出目录(默认:reports/)
  • --sort-by FIELD:按 'ownership_change' 或 'institution_count_change' 排序
analyze_single_stock.py

深入分析特定股票的机构持股情况。

必需:

  • 股票代码(位置参数)
  • --api-key:FMP API 密钥(或设置 FMP_API_KEY 环境变量)

可选:

  • --quarters N:要分析的季度数(默认值:8,即 2 年)
  • --output FILE:输出 Markdown 报告路径
  • --output-dir DIR:报告输出目录(默认值:reports/)
  • --compare-to TICKER:将机构持股情况与另一只股票进行比较(未来功能)
track_institution_portfolio.py

状态:尚未实现

此脚本是一个占位文件。它会打印替代资源(WhaleWisdom、SEC EDGAR、DataRoma),并以错误代码 1 退出。FMP API 按股票(而非机构)整理机构持有人数据,因此无法切实重建完整的投资组合。

如需跟踪特定机构的投资组合,请使用:

  1. WhaleWisdom:https://whalewisdom.com(提供免费套餐)
  2. SEC EDGAR:https://www.sec.gov/cgi-bin/browse-edgar
  3. DataRoma:https://www.dataroma.com
数据质量模块(data_quality.py)

由 track_institutional_flow.py 和 analyze_single_stock.py 共用的实用工具模块:

  • **classify_holder():**将持有人归类为 genuine/new_full/exited/unknown
  • **calculate_filtered_metrics():**仅使用 genuine 持有人计算指标
  • **reliability_grade():**根据数据质量分配 A/B/C 等级
  • **is_tradable_stock():**过滤掉 ETF、基金和不活跃股票
  • **deduplicate_share_classes():**移除 BRK-A/B、GOOG/GOOGL 重复项

与其他技能集成

价值股息筛选器 + 机构资金流:

1. Run Value Dividend Screener to find candidates
2. For each candidate, check institutional flow
3. Prioritize stocks with rising institutional ownership

美股分析 + 机构资金流:

1. Run comprehensive fundamental analysis
2. Validate with institutional ownership trends
3. If institutions are selling, investigate why

投资组合管理器 + 机构资金流:

1. Fetch current portfolio via Alpaca
2. Run institutional analysis on each holding
3. Flag positions with deteriorating institutional support
4. Consider rebalancing away from distribution

技术分析师 + 机构资金流:

1. Identify technical setup (e.g., breakout)
2. Check if institutional buying confirms
3. Higher conviction if both align

最佳实践

  1. **季度复查:**为 13F 申报截止日期设置日历提醒
  2. **多季度趋势:**关注持续趋势(3 个及以上季度),而非一次性变化
  3. **质量胜于数量:**伯克希尔增持 > 100 家小型基金增持
  4. **情境很重要:**股价下跌时持股比例上升,可能意味着价值投资者在接下落刀
  5. **结合信号:**切勿单独使用机构资金流
  6. **更新数据:**每个季度提交新的 13F 后重新运行分析

支持与资源


**注意:**此技能面向长期投资者(3-12 个月投资期限)。对于短线交易,请结合技术分析和其他动量指标。

评论

支持 Markdown