Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A股公募基金持仓分析/机构持仓追踪。当用户说"基金持仓"、"机构持仓"、"公募重仓"、"基金在买什么"、"机构抱团"、"XX被哪些基金持有"、"基金经理持仓"、"fund holding"时触发。分析公募基金季报披露的重仓股数据,追踪机构持仓变动、抱团程度、行业配置偏好。通过 web 搜索获取基金持仓数据,结合 cn-stock-data 获取个股行情和财务指标。支持机构持仓研究风格(formal)和个人跟踪笔记风格(brief)。
.claude/skills/aifinlab-a-share-fund-holding/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-07 | ✓→✗ | ▼ Worse | 35% | 0% |
| case-06 | ✓→✗ | ▼ Worse | -25% | 0% |
bashSCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts" # 个股行情(被重仓的股票) python "$SCRIPTS/cn_stock_data.py" quote --code [CODE1],[CODE2],... # 个股财务指标 python "$SCRIPTS/cn_stock_data.py" finance --code [CODE] # K线(持仓变动期间的股价走势) python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [季报期末日期]
核心数据来源为 web 搜索(基金持仓数据无法从 cn-stock-data 直接获取):
Step 1: 确定分析维度
根据用户需求选择分析角度:
Step 2: 数据获取
通过 web 搜索获取最新季报数据(每季度披露一次):
个股视角需获取: | 基金名称 | 基金经理 | 规模(亿) | 持股数(万股) | 持仓市值(亿) | 占基金净值(%) | 较上期变动 |
市场视角需获取: | 股票代码 | 名称 | 被持有基金数 | 合计持仓市值(亿) | 占流通股(%) | 较上期变化 |
Step 3: 持仓分析
抱团度分析:
行业配置: | 行业 | 配置比例(%) | 标准配置(%) | 超配/低配 | 较上期变化 |
个股层面(通过 cn-stock-data 补充):
Step 4: 明星基金经理跟踪(可选)
如用户关注特定基金经理:
Step 5: 输出
| 维度 | formal(机构持仓研究) | brief(个人跟踪笔记) | |------|---------------------|---------------------| | 篇幅 | 3-5 页 | 1 页 | | 持仓明细 | 完整(Top 20 + 行业配置 + 变动分析) | Top 10 + 关键变动 | | 抱团分析 | 抱团度量化 + 历史对比 | 一句话判断 | | 行业配置 | 完整超配/低配表 | Top 3 超配/低配 | | 基金经理 | 可含多位重点经理 | 1-2 位代表性的 | | 投资启示 | 客观分析配置趋势 | 可加个人判断 | | 免责声明 | 需要 | 不需要 |
python# 调用 skill result = run_skill({ "param1": "value1", "param2": "value2" })
bashpython scripts/run_skill.py --input data.json
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | pass→fail | 20,639 | 17,883 | -13% | 1 | 1 | 0% | 2,611 | 3,515 | +35% | 0 | 0 | — |
case-08 | pass→pass | 20,654 | 25,913 | +25% | 1 | 1 | 0% | 2,789 | 4,617 | +66% | 0 | 0 | — |
case-01 | fail→fail | 39,183 | 37,579 | -4% | 1 | 1 | 0% | 5,195 | 7,431 | +43% | 0 | 0 | — |
case-02 | fail→fail | 23,214 | 12,044 | -48% | 1 | 1 | 0% | 3,445 | 1,925 | -44% | 0 | 0 | — |
case-03 | fail→fail | 16,354 | 10,482 | -36% | 1 | 1 | 0% | 2,109 | 1,795 | -15% | 0 | 0 | — |
case-04 | fail→pass | 24,027 | 57,640 | +140% | 1 | 1 | 0% | 3,376 | 6,819 | +102% | 0 | 0 | — |
case-05 | fail→fail | 26,390 | 9,161 | -65% | 1 | 1 | 0% | 3,680 | 1,853 | -50% | 0 | 0 | — |
case-06 | pass→fail | 18,757 | 23,646 | +26% | 1 | 1 | 0% | 2,819 | 2,119 | -25% | 0 | 0 | — |
case-09 | pass→pass | 38,363 | 48,884 | +27% | 1 | 1 | 0% | 3,150 | 4,621 | +47% | 0 | 0 | — |
case-10 | pass→pass | 26,849 | 23,474 | -13% | 1 | 1 | 0% | 3,656 | 4,433 | +21% | 0 | 0 | — |
case-11 | pass→pass | 10,518 | 10,875 | +3% | 1 | 1 | 0% | 1,764 | 3,147 | +78% | 0 | 0 | — |
case-12 | pass→fail | 40,181 | 13,176 | -67% | 1 | 1 | 0% | 3,900 | 2,015 | -48% | 0 | 0 | — |
case-13 | pass→pass | 14,520 | 9,043 | -38% | 1 | 1 | 0% | 2,319 | 2,629 | +13% | 0 | 0 | — |
case-14 | fail→pass | 28,961 | 23,389 | -19% | 1 | 1 | 0% | 3,949 | 4,618 | +17% | 0 | 0 | — |
case-15 | fail→pass | 18,351 | 21,648 | +18% | 1 | 1 | 0% | 2,509 | 4,092 | +63% | 0 | 0 | — |
case-16 | pass→pass | 19,946 | 25,171 | +26% | 1 | 1 | 0% | 2,335 | 4,289 | +84% | 0 | 0 | — |
case-17 | fail→fail | 20,715 | 11,336 | -45% | 1 | 1 | 0% | 3,181 | 1,722 | -46% | 0 | 0 | — |
case-18 | pass→pass | 19,868 | 21,701 | +9% | 1 | 1 | 0% | 3,197 | 4,250 | +33% | 0 | 0 | — |
case-19 | pass→pass | 21,935 | 17,895 | -18% | 1 | 1 | 0% | 3,123 | 3,649 | +17% | 0 | 0 | — |
case-20 | fail→fail | 17,817 | 38,937 | +119% | 1 | 1 | 0% | 2,307 | 1,920 | -17% | 0 | 0 | — |
case-21 | fail→fail | 40,285 | 8,680 | -78% | 1 | 1 | 0% | 6,599 | 1,930 | -71% | 0 | 0 | — |
case-22 | fail→fail | 23,907 | 25,822 | +8% | 1 | 1 | 0% | 3,242 | 4,641 | +43% | 0 | 0 | — |
case-23 | pass→pass | 9,357 | 12,020 | +28% | 1 | 1 | 0% | 1,585 | 2,852 | +80% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 15 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of 0 percentage points is the difference between those two pass rates over the 15 comparable cases. 7 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.