### 平台评分对照 · 84 vs 62
天天基金给他 84,我们只给 62 —— 差的 22 分,主要差在平台没看他"什么时候卖"。
### 战役回放 · 真实周 K + 逐笔买卖点
左边是他赚最多/亏最多/卖飞的股票榜,右边真实 K 线上标出每次买卖:绿点买入、红点主动卖、黄点被动减(触 10% 线 / 遭赎回),还有成本线和卖出线。按「战役回放」K 线逐周生长,当年的新闻和他的操作一帧帧重演。
### 买卖点验尸 · 65 次买入 + 16 次清仓全部验尸
每个动作拿 12 个月后的走势验:买点胜率 58%(跑赢大盘算赢),清仓躲跌率只有 31%。结论一行字:**会买,不会卖。**
### 最好与最差的决策
澜起科技加仓后 12 个月 +227%;三安光电清仓后又涨 119%(卖飞)。赢和输都摆出来 —— 只挑赢家写,报告就没有可信度了。
### 被套时他干什么 + 跌市防守
股票跌破成本后的 32 次动作:20 次认错砍掉 vs 12 次越跌越买 —— 偏纪律型,不死扛。旁边是四个熊市年的防守成绩单。
### 独立战争 · 他和公司有多不一样
分歧度标尺:他 78.8%,同事间均值也差不多 —— 不是孤狼。关键在下一步:分歧最高的季度 vs 最低的季度,随后 6 个月谁跑赢了大盘。
### 现在的牌面 · 前十大按行业归堆
牌面按东财/港股公开行业自动归堆,不写死「科技成长打法」。下图是合宜演示的当前牌面。
### 持仓撞车榜 · 同门 + 全市场
同门里谁跟他最像、全市场哪些主动基金也重仓他的票,全部配重合度进度条。想深挖哪只,直接让 Agent 再跑一遍。
### 今年最猛的 10 只 · 持仓同步度
今年收益榜前十平均只跟他撞 0.8/10 只重仓 —— 他的收益不是追热点榜追来的。
### 抄作业指数 · 他建仓 vs 你等季报
等季报再抄,超额还能拿 80% —— 买点先手一年只值 4.4 个点,跟他的择时弱项互相印证。
### 万元灾难片 · 你会怎么亏
拖动滑块选金额,直接看"如果买在 2021 年山顶"你的钱会变成多少、要熬多少天才回本。
### 机构视角 · 上行/下行捕获
机构评基金最看重的一组数,配人话注释。
### 运气拆解 · 收益里有多少是风格白送的
把 103 个月的收益拆给市场/大小盘/成长价值,剥完还剩每年 +7.7% —— 这才是他的真本事。
### 造神检测 · 明星经理黑历史扫描
甩锅跑路 / 摘桃子 / 藏尸体 / 高位圈钱,逐项核查。查不清的标"未查证",不写成"不存在"。
闸门时间轴把限购/开门钉在市场高低点上,拿 12 个月后涨跌验他拦没拦人高位接盘——对照卡,不进总分。
年底冲排名比 Q4 和其他季;一车多牌看他名下产品持仓重不重样;开门批次验门开了之后那批钱 12 个月怎样了。三张都是对照卡,不进总分。
---
## 🎨 三种报告风格
主报告(上面那套)之外,还有三种完整的风格原型,同一套方法论、三种完全不同的叙事皮肤(当前为模拟数据演示,可作为渲染模板切换):
### 风格 A · 侦查卷宗 —— 「绝密档案」
牛皮纸+公章+批注,把基金经理当嫌疑人查:人事档案、物证、结案书。 [在线看](https://wbh604.github.io/fund-guy-skill/assets/style-a-dossier.html)
### 风格 B · 卡牌图鉴 —— 「你抽到了一张 SSR」
游戏抽卡语言:稀有度、属性面板、对战记录、阵亡回放、强度榜。 [在线看](https://wbh604.github.io/fund-guy-skill/assets/style-b-card.html)
### 风格 C · 体检报告 —— 「各项机能基本健康,但天冷就犯病」
体检中心语言:总检结论、检验科、既往病史、Rx 医嘱与剂量控制。 [在线看](https://wbh604.github.io/fund-guy-skill/assets/style-c-checkup.html)
---
## 快速开始
```bash
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
# 以兴全合宜 163417 为例:取数 → 分析 → 出报告
.venv/bin/python scripts/fetch_fund.py 163417 # 基金主数据(净值/持仓/经理/持有人/费率)
.venv/bin/python scripts/fetch_stock_klines.py 163417 # 重仓股周K(窗口跟本基金成立日)
.venv/bin/python scripts/fetch_stock_industry.py 163417 # 重仓股行业(东财/港股 F10)
.venv/bin/python scripts/fetch_pingzhong.py 163417 # 天天基金 pingzhongdata(申赎/平台评分/照片)
.venv/bin/python scripts/fetch_house.py 163417 # 同门基金持仓(独立战争对照组)
.venv/bin/python scripts/fetch_market_similar.py 163417 # 全市场撞车榜反查
.venv/bin/python scripts/fetch_top_funds.py 163417 # 今年收益 TOP10 同步度
.venv/bin/python scripts/fetch_gates.py 163417 # 申购闸门(限购/开门/自购公告)
.venv/bin/python scripts/analyze_fund.py 163417 # 行为分析:验尸/评分/被动减仓判定
.venv/bin/python scripts/analyze_house.py 163417 # 分歧度/市场共识
.venv/bin/python scripts/analyze_gates.py 163417 # 闸门 × 市场分位 × 12 个月验尸
.venv/bin/python scripts/analyze_addons.py 163417 # 年底冲排名 / 一车多牌 / 开门批次 / 造神筛 / K线情景
.venv/bin/python scripts/build_fund_report.py 163417 # 生成单文件报告 assets/fund-.html
```
### 在 Cursor / Claude Code / Codex 里用
把仓库丢给 Agent,说:
> 读 `skills/fund-manager-alpha/SKILL.md`,按里面的流程分析基金 163417,参考脚本在 `scripts/` 下。
脚本是**一次真实运行的参考实现**。接口会改版,换基金时窗口、行业、费率、风格指数、同门对照、K 线 fund 事件必须按所选基金重算,禁止手写某只基金的对照表,也禁止把合宜手写时间轴抄到别的代码。公告全文和 Mandate 仍由 Agent 做;造神九项能自动筛的用本品数据,筛不到的标未获取。以 `skills/fund-manager-alpha/SKILL.md` 的三层取数模型为准。
---
## 方法论铁律
完整 18 条见 [`SKILL.md`](skills/fund-manager-alpha/SKILL.md),最重要的几条:
1. **直观是最高理念** —— 每个裸数字必须有主语和口径,回归系数只能进小字括号
2. **必须先做任期切割** —— 前任业绩混入现任评价 = 分析作废
3. **禁止把 Beta 当 Alpha** —— 风格白送的收益必须先剥离
4. **卖飞只认主动清仓** —— 部分减仓大头还在,被动减仓(触 10% 线/遭赎回)不是决策,全部剔除
5. **失败的独立判断必须全部记录** —— 只挑赢家写 = 整个报告失去可信度
6. **不许伪精确** —— 算不出来就写"未获取",绝不编数
7. **证据不足标 U(未鉴定)** —— 把"查不清"当"能力差"是误伤
设计决策全记录在 [`DESIGN.md`](DESIGN.md)。
## 数据来源
全免费、零 API key:
| 数据 | 来源 |
|---|---|
| 净值 / 规模 / 申赎 / 持有人 / 经理档案 / 平台评分 | 天天基金(东方财富) |
| 逐季持仓 / 基金排行 | 东方财富,经 akshare |
| 重仓股行业 | 东方财富 F10 / 港股 F10 |
| 管理费托管费 | 东方财富基金费率页 |
| 全市场持仓横截面 | 巨潮资讯,经 akshare |
| A 股周 K(前复权) | baostock |
| 港股周 K | 新浪财经,经 akshare |
| 申购闸门(限购 / 开门 / 公司自购) | 东方财富基金公告 JJGG |
| 名下其他产品持仓(一车多牌) | 东方财富,经 akshare |
| K 线图表库 | TradingView Lightweight Charts (Apache-2.0) |
所有原始数据落 `.cache/` 留证(不入库),记录接口名+参数与抓取时间;查不到出处的数字不许进报告。报告末尾自带完整数据来源标注。
## 更新日志
按时间倒序。只记对使用者有感的变化。
### 2026-08-14 · 换基金全自动
- 行业、费率、K 线窗口、同门/市场横截面年份、闸门风格指数、同门对照,全部按**所选基金**重算,去掉合宜 163417 的手写对照表。
- 牌面按东财/港股所属行业归堆,不再写「科技成长打法」。
- 闸门同门对照按公司权益产品规模排序,不再限定兴全 163/340 代码。
- 热榜同步度改读本品持仓(不再依赖 analysis.json,换基金首次就能跑);全市场反查/十大股东报告日跟最新持仓季走,不再写死 2026。
- K 线情景的 `kind=fund` 事件按本品自动生成(成立/经理变更/规模/回撤/闸门),不再把合宜手写时间轴当默认;行业/宏观新闻只保留在这只基金自己的缓存里。
- 造神九项改成本品数据筛:共管/独管、JJGG 标题(基准/清盘)、策略摘要 vs 牌面、名下产品清单。筛不到的仍写未获取,不写成不存在。
- 单脚本必须带 6 位基金代码,禁止默认落到 163417。演示打码:默认只打码 163417;`FUND_MASK=0` 可关,`FUND_MASK=1` 可对任意基金开。缺 masked 照片时自动像素化。
### 2026-08-13 · 年底冲排名 / 一车多牌 / 开门批次
- 三张新对照卡,**都不计入行为总分**(硬规则第 18 条)。
- **年底冲排名**:Q4 vs 其他季比前十大集中度、单票上限、换血率、当季收益。Q1/Q3 只有前十大,禁止拿持股只数比;成立首年当建仓年剔除。造神九项里这一条从「未检测」改为可自动过/红旗。
- **一车多牌**:拿他名下其他主动权益的最新全持仓前十大,看跟这一只撞几只。演示标的对社会价值 9/10、对合润 6/10 —— 和社会价值本质上是一辆车换车牌。
- **开门批次命运 + 持有人换手**:门开了之后 1~2 期净份额升降才算批次;净缩不能写成开门收钱。锁定期份额不动时,机构占比变化是场内换手。解锁后爬回去的那批钱,从高点起算 12 个月。
- 演示标的兴全合宜(163417)已重跑:年底冲排名未检出;一车多牌同构;开门当时净份额在缩,滞后批次 12 个月为负。
### 2026-08-13 · 闸门时间轴
- 新模块:**闸门时间轴**。把限购 / 暂停大额 / 打开申购 / 提前结束募集钉在沪深300 **和他的风格指数** 高低点上,拿之后 12 个月涨跌验尸(和买卖点同一套窗口)。
- 假闸门先剔除:假期双边暂停、全公司同一天限购(同门对照)、触 10% 双十线、熊市份额急缩保命。封闭期满开放申购是合同动作,不进样本。
- **对照卡,不计入行为总分**。时间线重合是已确认事实;「他有良心」最多较强推断(硬规则第 17 条)。
- 公司固有资金自购能拿到就叠上去;经理个人自购没有独立接口就标「未获取」。员工持有 ≠ 经理自购。
- 演示标的兴全合宜(163417)已重跑:高位关过门,也高位开过门。在线示例同步更新。
### 2026-08-12 · 公开演示
- 上线 GitHub Pages 在线示例;演示版对经理姓名与照片打码。
- 多 Agent 入口:`run.py`、斜杠命令、`.cursor/skills` / `.agents/skills`、英文 README。
- 报告模块齐:买卖点验尸、独立战争、抄作业指数、造神检测、全市场撞车榜。
## 免责声明
> ⚠️ 本项目仅供学习研究,全部基于公开披露数据,**不构成任何投资建议**。基金过往业绩不预示未来表现;报告中的判断有效期至下一期持仓披露。