Fund Analysis and FOF Screening
HKUDS/Vibe-Trading
Evaluates mutual funds, private funds and ETFs by return, risk and risk-adjusted metrics, style box and drift, and manager quality, then builds FOF portfolios; Chinese text.
基金经理独立决策能力尽调。以基金经理为主角,基金作为其长期行为记录,核心回答"他和公司主流观点不一样的时候,有没有反复证明自己是对的"。当用户要求分析某只基金、某个基金经理、判断能不能买、经理能力如何、独立性如何、Alpha 是真本事还是运气时触发。产出 Independent Decision Alpha 取证 + Manager Profile + Alpha 尸检 + IC 结论 +…
$ npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install wbh604/fund-guy-skill fund-manager-alpha --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/wbh604/fund-guy-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/fund-manager-alpha .claude/skills/fund-manager-alpha && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fund-manager-alpha" agent skill from https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alpha into .claude/skills/fund-manager-alpha/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fund-manager-alpha", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alphaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install wbh604/fund-guy-skill fund-manager-alpha --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wbh604/fund-guy-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/fund-manager-alpha .agents/skills/fund-manager-alpha && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fund-manager-alpha" agent skill from https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alpha into .agents/skills/fund-manager-alpha/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fund-manager-alpha", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install wbh604/fund-guy-skill fund-manager-alpha --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wbh604/fund-guy-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/fund-manager-alpha .cursor/skills/fund-manager-alpha && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fund-manager-alpha" agent skill from https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alpha into .cursor/skills/fund-manager-alpha/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fund-manager-alpha", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/wbh604/fund-guy-skill.git --path skills/fund-manager-alpha--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install wbh604/fund-guy-skill fund-manager-alpha --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wbh604/fund-guy-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/fund-manager-alpha .gemini/skills/fund-manager-alpha && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fund-manager-alpha" agent skill from https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alpha into .gemini/skills/fund-manager-alpha/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fund-manager-alpha", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install wbh604/fund-guy-skill fund-manager-alphaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/wbh604/fund-guy-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/fund-manager-alpha .github/skills/fund-manager-alpha && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fund-manager-alpha" agent skill from https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alpha into .github/skills/fund-manager-alpha/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fund-manager-alpha", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install wbh604/fund-guy-skill fund-manager-alpha --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wbh604/fund-guy-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/fund-manager-alpha .opencode/skills/fund-manager-alpha && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fund-manager-alpha" agent skill from https://github.com/wbh604/fund-guy-skill/tree/main/skills/fund-manager-alpha into .opencode/skills/fund-manager-alpha/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fund-manager-alpha", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fund-manager-alpha基金经理独立决策能力尽调。以基金经理为主角,基金作为其长期行为记录,核心回答"他和公司主流观点不一样的时候,有没有反复证明自己是对的"。当用户要求分析某只基金、某个基金经理、判断能不能买、经理能力如何、独立性如何、Alpha 是真本事还是运气时触发。产出 Independent Decision Alpha 取证 + Manager Profile + Alpha 尸检 + IC 结论 +…
Fund Manager Alpha is an agent skill from wbh604/fund-guy-skill. 基金经理独立决策能力尽调。以基金经理为主角,基金作为其长期行为记录,核心回答"他和公司主流观点不一样的时候,有没有反复证明自己是对的"。当用户要求分析某只基金、某个基金经理、判断能不能买、经理能力如何、独立性如何、Alpha 是真本事还是运气时触发。产出 Independent Decision Alpha 取证 + Manager Profile + Alpha 尸检 + IC 结论 + 传播级 HTML 报告。关键词:基金、基金经理、公募、Alpha、独立决策、抱团、House Divergence、逆向、持仓分析、业绩归因、能不能买。
Its SKILL.md is about 13k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/reusable-components.md`, `references/step5-independent-alpha.md` and `references/ui-spec.md`).
The repository describes itself as: 糟糕,我被基佬包围了!那么这个时候就有人要问了,主播主播,有没有什么简单好用的基佬筛选办法?有的兄弟,有的,快来看看jilaoskill吧!. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 15e5619. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are css, python and json).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
fund.eastmoney.comapi.fund.eastmoney.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fund Manager Alpha loads about 13k tokens when it runs, and up to ~26k if it reads all its reference files. Until then it costs about 73 tokens; SKILL.md has 3,091 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from wbh604/fund-guy-skill at commit 15e5619, republished under its MIT licence (© wbh604). 3,091 words, ~12,976 tokens.
.claude/skills/fund-manager-alpha/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.不找"最好的基金",找真正有独立判断能力、而且这个能力可以验证、可以重复的人。
"所有人都看对了白酒,他也买白酒赚了钱" 和 "所有人都在白酒,他独立发现另一个赛道并持续创造 Alpha" —— 在评价一个人的投资能力时,不是一回事。
这个 Skill 只干一件事:把这两种人分开。
这是整个产品面向个人投资者的核心公式:
普通人到手 Alpha
= 经理真实 Alpha × 产品传导率
- 规模与拥挤损耗
- 费率与交易成本
- 追涨杀跌损耗我们不只判断这个经理有没有 Alpha,还判断这份 Alpha 能不能通过这只基金,真正落到普通人的账户里。
基金业绩好 ≠ 基民赚钱。本产品要算清楚:中间到底漏了多少。
Non-Consensus + Correct + Repeatable = 独立决策 Alpha三个条件缺一不可:
因此 Independent Thinking 和 Independent Alpha 必须分开打分,永远不许合并成一个"独立性 82 分"。
| Independent Thinking | Independent Alpha | 判定 | |
|---|---|---|---|
| 经理 A | 95 | 20 | 很有主见,但主见没什么价值 |
| 经理 B | 88 | 91 | 独立型 Alpha 经理 |
+4.73% 伪装一个估算。专业模式默认 最低研究窗口 = 5 年。有 10 年、15 年当然全拿,但核心评分必须同时展示 Career 与 Recent 5Y 两套:
| 指标 | Career | Recent 5Y |
|---|---|---|
| Factor Alpha | +4.8% | +2.9% |
| Independent Alpha | +6.2% | +4.1% |
| Downside Capture | 72% | 81% |
| House Divergence | 78 | 83 |
| Alpha Persistence | 81 | 69 |
两套并列能直接暴露一件事:经理是不是老了以后能力下降了。
| 可获得历史 | 置信度 | 允许的结论强度 |
|---|---|---|
| ≥ 5 年 | 🟢 High | 可对 Alpha 稳定性下结论 |
| 3-5 年 | 🟡 Medium | 可评方法,Alpha 结论加限定 |
| 1-3 年 | 🟠 Low | 只评行为,禁止外推 |
| < 1 年 | 🔴 Insufficient | 只做画像,不给评分 |
新星经理:有多少历史就拿多少,但绝不能拿老经理的历史给新人背书。
"五年数据"不等于"五年收益率"。专业版必须凑齐:
| 数据 | 最低量 | 用途 |
|---|---|---|
| 日频/周频净值 | 5 年 | Alpha、Beta、Tracking Error、回撤、Regime |
| 季度持仓(Top10) | ≥ 20 期 | House Divergence、抱团、买卖行为、Idea Origination |
| 半年报/年报全持仓 | ≥ 10 期 | 小众股票发掘能力(季报只有前十大,看不出来) |
| 基金规模与份额 | 5 年 | 申赎、Capacity |
| 公司全产品持仓 | 5 年 | House Consensus 的地基,没有它整个独立性模块作废 |
凑不齐哪一项,在报告里明写缺口,不要静默降级。
[██░░░░░░░░░░░░░░░░░░] 10% · STEP 1-2 · 身份识别 + 任期切割 ✓
[█████░░░░░░░░░░░░░░░] 25% · STEP 3-4 · 经理尽调 + 行为重建 ✓
[██████████░░░░░░░░░░] 50% · STEP 5 · 独立决策取证(核心) ✓
[█████████████░░░░░░░] 65% · STEP 6-7 · Benchmark + Alpha 尸检 ✓
[████████████████░░░░] 80% · STEP 8-10 · 能力/组合/资金 ✓
[██████████████████░░] 92% · STEP 11 · Forward Alpha ✓
[████████████████████] 100% · STEP 12 · IC 结论 + 报告 ✓入口可能是基金名("分析兴全合宜")或经理名("分析缪玮彬"),两种都归一到同一对象。
必须锁定:基金全称/代码/份额类别/类型/基准/成立日 · 现任经理与共管人 · 现任管理时长 · 该经理管理的全部产品清单(STEP 5.5 Master Book 要用) · 基金公司全部主动权益产品清单(STEP 5.1 House Consensus 要用)。
⚠️ 经理入口时,选管理时间最长且规模最大的基金作主标的,其余作行为证据。 ⚠️ 指数、指数增强、系统量化、固定规则产品 禁止套用个人 Alpha 归因,直接说明并退出。
整个分析的地基。
2015-01 ~ 2017-06 前任 A 权重 0 标"历史遗产"
2017-07 ~ 2019-03 现任 + A 共管 权重 0.5 单列,不算个人全额
2019-04 ~ 现在 现任独管 权重 1.0 核心评价区间后续所有收益、Alpha、回撤、换手、独立性,只用独管期 + 折算共管期。
占 Manager/People 模块主体。 分两层:
第一层 · 人物花絮(权重 0,只增强可读性):教育背景、公开兴趣、采访风格。 禁止从籍贯、婚姻、外貌、采访语气推断投资能力或道德。无 A/B 级公开信源就写"未发现可靠公开信息"。
第二层 · 专业尽调(参与评分):
| 项 | 要回答的问题 |
|---|---|
| 职业路径 | 他怎样一步步成为今天的经理? |
| 能力圈形成 | 哪段经历形成了哪些行业/方法优势? |
| 投资哲学 | 真正相信价值/成长/周期/逆向/配置? |
| 认知方式 | 产业/财务/宏观/量化/交易,哪种主导? |
| 决策机制 | 一只股票怎样从发现走到重仓与退出? |
| 风险人格 | 亏损后加仓、止损、换仓还是硬扛? |
| Conviction | 最看好的股票是否真敢重仓且拿得住? |
| 错误处理 | 判断错后多久承认?怎么退出? |
| 学习能力 | 框架是合理进化还是追热点? |
| 情绪稳定 | 极端行情下行为是否失常?(只看持仓,不看语气) |
| 诚信一致 | 说的和做的是否一致? |
| 利益一致 | 自购、限购、发新基金是否与持有人一致? |
| 认知边界 | 他知道什么不做?新领域有没有学习过程? |
| 平台依赖 | 离开现平台还剩多少能力? |
| Key Person Risk | 产品是否本质上就是这个人? |
不要罗列履历,要写"市场怎样训练和修正了他":
2008-2012 卖方机械研究员 → 建立制造业产业链研究方法
2012-2015 买方研究员,高端制造 → 形成产业景气周期理解
2015-2019 基金经理早期,高集中度 → 经历 2018 大幅回撤
2019- 降低单股集中度 → 加强估值纪律从季报、采访、持仓反向提炼哲学指纹,再检查跨时段一致性:2018 的他、2022 的他、2026 的他,是同一个人吗?
一致 → Persistence 高。每两年换一套 → 高风险。
不用经理自己说,用历史交易反推。用钱投票出来的性格。
| 探针 | 计算 |
|---|---|
| 下跌 20% 后加仓概率 | 持仓股回撤 20% 后下季度的加减仓方向分布 |
| 上涨 50% 后行为 | 继续拿 / 加仓 / 减仓 分布 |
| 承认错误耗时 | 逻辑破坏 → 清仓的季度数中位数 |
| 大跌时集中度 | 市场跌 >15% 的季度,Top10 占比升还是降 |
输出 10 维雷达(0-100):独立思考 / 逆向能力 / 风险纪律 / 择时能力 / 选股能力 / Sizing 能力 / 卖出能力 / 情绪稳定 / 学习能力 / 利益一致。
管理 3 年以上的经理都犯过错,找不到 = 你没查。
Case #N {时间} {标的或决策}
初始逻辑: 当时为什么买
后来发生: 逻辑如何被破坏
经理行为: Q1 加仓 → Q2 继续加仓 → Q3 才减仓
最终损失: -42%
诊断: 确认偏误明显 / Error Correction 强汇总 Error Correction Score。
看实际商业决策,比采访可靠得多:路演频率 / 发新产品 / 接管基金 / 主动减产品 / 追求行政职位 / 高点发基金 / 主动限购。
判定 Investment-first / AUM-first / Career-first。
很多经理的"神话"是这么来的:亏钱的产品甩给新人,只留赚钱那只给你看。这一节专门查那条漂亮曲线是不是"修"出来的。
主证据是经理变更公告(ak.fund_announcement_personnel_em),要把该经理全部产品、全部季度的变更记录拉齐,再和当时的市场涨跌对照着看。
自动化线索:标题含"增聘"且接任者从业 < 2 年 + 该季度基金回撤 > 15% = 甩锅前兆,进红旗候选。 这条规则能筛掉 70% 的噪声,剩下的人工核对公告全文和接任者履历。
"甩锅 / 摘桃子 / 藏尸体"这些词非常有传播力,但正文必须严谨。每一项的结论必须落到三个级别之一:
| 级别 | 含义 | 措辞 |
|---|---|---|
| 线索 | 自动化规则命中,需要继续查 | "存在责任转移嫌疑,需人工核查" |
| 较强推断 | 多项公开证据一致,但无法确认主观动机 | "该变更时间与产品大幅下跌高度重合,存在责任转移嫌疑,无法仅凭公开资料确认主观动机" |
| 已确认事实 | 公告、产品历史和时间线可以直接证明 | "2022 年产品下跌 31% 后增聘一位从业不足两年的经理,原经理三个月后退出" |
娱乐标题可以狠,证据正文必须克制。 比如"2022 年产品下跌 31% 后增聘新人、原经理三个月退出"是已确认事实;但"原经理为了甩锅"属于动机判断,没有更多证据只能写较强推断。
| 项 | 查什么 | 怎么判 | 自动化程度 |
|---|---|---|---|
| 甩锅跑路 | 下跌期把亏损产品转给新人 | 回撤 >15% 的季度里发生经理变更,且接任者从业不足 2 年 → 红旗 | 🟢 标题"增聘"+回撤数据可自动筛 |
| 摘桃子 | 等别人做出业绩才接手 | 接管时该产品已有显著正超额,且接管后超额衰减 → 红旗 | 🟡 需比对接管前后业绩 |
| 藏尸体 | 失败产品被清盘藏起来 | 官网履历 vs 监管备案对不上,或有清盘产品未出现在履历里 → 红旗 | 🟡 需交叉验证两个数据源 |
| 蹭业绩 | 挂名共管被算成个人战绩 | 共管期收益被宣传为个人业绩 → 剥离并标注 | 🟢 公告明确区分共管/独管 |
| 高位圈钱 | 趁行情好猛发新基金,或高位打开申购 | 市场/风格估值高位期新增产品或打开大额申购 → 红旗。必须叠「募完闸关上了没有」 | 🟡 需判断当时估值分位 + 读闸门公告 |
| 年底冲排名 | 为名次年末赌一把 | Q4 仓位或热门板块暴露显著高于其他季度 → 红旗。假信号:Q1/Q3 只有前十大,禁止拿持股只数比;成立首年当建仓年剔除。对照卡,不进总分 | 🟢 Q4 vs 非Q4 集中度/换血率/当季收益可自动算 |
| 人设造假 | 嘴上说的和实际买的不一致 | 季报表述与持仓矛盾 → 红旗 | 🔴 需读文字段落 |
| 偷换尺子 | 悄悄改了比较基准 | 合同基准变更,或宣传基准与合同不一致 → 红旗 | 🟡 需对比不同版本招募书 |
| 利益冲突 | 亲属在关联机构掺和 | 关联交易章节异常佣金 / 直系亲属在关联券商任职 / 持有重仓股 | 🔴 披露有限,查不全 |
关于最后一项的边界(这条是硬规则):
只查关联方与利益冲突 —— 亲属是否在关联机构任职、是否持有本基金重仓股、佣金分配是否异常。这些有公开信源(定期报告关联交易章节、公司公告),而且真的影响投资判断。
不采集配偶姓名、职业、学历等私人传记信息。配偶是没有公众身份的私人个体,这类信息既查不到可靠公开记录,也没有投资含义 —— 知道"太太在某中学教书"不会改变任何一个仓位决定。
披露颗粒度不够时,只能写"未发现",不能写成"不存在"。
输出:红旗数 / 需留意数 / 通过数 + 履历真实性等级。任一红旗成立,IC 结论里必须列为否决候选项。
脚本会用本品任期、JJGG 标题、牌面行业、闸门分位、名下产品清单自动给出九项结论,每条落到三级证据制。季报原文、亲属任职、招募书全文、接任者从业年限仍标未获取,不能写成「不存在」。动机判断最多较强推断。
逐季重建持仓、仓位、行业、个股、买入卖出加减仓、集中度、换手。
⚠️ 季报只披露 Top10,半年报/年报才有全持仓。必须标注披露口径,不要把 Top10 当全持仓算集中度。 ⚠️ 前十大消失 ≠ 卖出,只能记为"退出前十大"。
这是最重要的一步,在经理评分里占最高分。
单纯"和公司不一样"不叫能力。这一步要完整走通 Non-Consensus → Correct → Repeatable 三段验证。
把基金公司全部主动权益基金的持仓,按季度汇总成公司共识组合。
例 2020Q4:
| 行业 | 公司平均主动权重 |
|---|---|
| 白酒 | +13.2% |
| 食品饮料 | +8.1% |
| 医药 | +4.8% |
| 新能源 | +1.2% |
| 半导体 | -0.7% |
→ 这家公司当时的 House View 本质上就是消费/白酒。
再看目标经理同期:
| 行业 | 经理主动权重 |
|---|---|
| 白酒 | -8.1% |
| 食品饮料 | -4.2% |
| 医药 | +1.3% |
| 新能源 | +9.4% |
| 半导体 | +6.8% |
→ 他当时确实和公司主流方向背道而驰。
违反 3/4 的分歧度是系统性虚高的假数,宁可不算。agent 取数时尽最大努力拿全(API → 浏览器 → 用户登录),拿到多少用多少,但对照组只数、覆盖率、剔除了什么必须写在报告里。
| 口径 | 含义 |
|---|---|
| AUM Weighted House View | 大基金权重大 |
| Manager Equal-Weighted House View | 每位基金经理一票 |
为什么必须两套: 假设一人管 800 亿、其余 20 人合计 500 亿。只按 AUM,"公司共识"其实只是那一个人的个人观点。
两套要能回答:是少数明星经理的大资金形成了表面共识,还是公司大多数经理真的形成了共同观点?
AUM/等权两套口径解决了"大基金绑架平均值",但还没解决一个更隐蔽的问题:一家公司可能根本没有统一观点,而是存在多个门派。
例:公司一半经理重仓消费,另一半重仓科技
平均以后 → 消费 50% + 科技 50%(看着像"均衡共识")
目标经理重仓科技 → 与平均组合差异很大
但公司里实际有一半人跟他站在一起
→ 他不是孤狼,只是属于公司里的科技派因此在计算 Independent Thinking 之前,必须先算三个指标:
| 新指标 | 回答什么问题 |
|---|---|
| 同门共识强度 | 这家公司到底有没有统一意见 |
| 距最近门派距离 | 他与最相似的一群同事有多不一样 |
| 距全公司平均距离 | 他与表面平均组合有多不一样 |
正确判定:
| 情形 | 判定 |
|---|---|
| 公司共识很强 + 他明显偏离 | 真正逆共识 |
| 公司内部本来就分裂 + 他属于其中一派 | 派系成员,不是孤狼 |
| 他与所有主要派系都不同 | 真正独立 |
算法: 对每个季度,把公司经理持仓按行业向量做聚类(如 Agglomerative / KMeans,最优簇数用 silhouette 定)。取最大簇为"主门派",算出:
两条配套硬规则:
前台做成"公司门派图":消费派 8 人 / 科技派 5 人 / 均衡派 6 人 / 目标经理属于哪个。一句判词:
他不是跟公司唱反调,而是公司内部本来就有一支科技派。 或:公司有三个门派,他和谁都不像,是真正的独立决策者。
比较经理组合 vs 公司共识组合,五个层面各算偏离:
| 层面 | 说明 |
|---|---|
| 个股层面 | 重合度与主动权重差 |
| 行业层面 | 行业主动权重差 |
| Style Factor 层面 | 大小盘/价值成长/质量/动量暴露差 |
| 经济驱动层面 | 不同行业是否暴露于同一经济驱动(防伪分散) |
| A/H 市场层面 | 市场配置差 |
个股偏离 86 · 行业偏离 72 · Factor 偏离 61 · 经济暴露偏离 79
→ House Divergence Score 78/100Divergence 高不算本事,分化之后赚钱才算。
取过去至少 5 年(≥20 个季度),按 House Divergence 分组,计算未来 6M / 12M / 24M 相对四个基准的表现:合同 Benchmark、同类基金、Shadow Benchmark、公司 House Portfolio。
不能只用固定的未来 12 个月 —— 会误伤两类经理:
必须同时算:
前台不展示四套数字,只给一句人话:
他通常不是马上对,而是要熬 12—18 个月才兑现。 或:他的独立决策前三个月经常亏,但一年后胜率明显上升。
高 Divergence 季度 → 未来 12M Factor-adjusted Alpha +6.8%
低 Divergence 季度 → 未来 12M Factor-adjusted Alpha +1.2%→ 这个经理最大的 Alpha 恰恰来自他敢于和公司其他人不一样的时候。 这是极强的 Manager Evidence。
反过来如果高 Divergence 期反而更差,结论同样重要:他的独立性是负资产。
| 时钟 | 从哪个时点开始 | 回答什么问题 |
|---|---|---|
| 经理时钟 | 经理实际建立仓位或公开持仓时点 | 他本人有没有先手能力? |
| 普通人时钟 | 季报、半年报真正公开之日 | 普通人看到以后再抄作业,还有没有收益? |
前台做一个组件 抄作业指数:
经理自己做:未来 12 个月超额 +14%
等季报披露后再跟:未来 12 个月超额 +2%
→ 他有先手,但抄不到另一个经理可能是:
经理自己做:+9%
披露后跟随:+7%
→ 他的判断兑现慢,季报仍有参考价值这是个人投资者特别关心、但绝大多数基金研究完全不回答的问题。
保留率必须给判词(硬规则) —— 抄作业指数不是好玩的数字,它直接鉴定"择时先手值多少钱":
| 超额保留率 | 判词 | 含义 |
|---|---|---|
| ≥70% | 作业可抄 | 他的本事在「选什么」不在「什么时候买」;与个股择时分互证;理论上照季报自己抄还省管理费 |
| 40-70% | 半可抄 | 先手有价值但不致命 |
| <40% | 有先手,抄不到 | 择时/交易是其 Alpha 的组成部分,想要收益只能买基金 |
诚实提醒必须带上:抄作业抄得到买单,抄不到卖点和调仓;新进小票在你看到季报时他已建完仓。若其卖出能力本身是弱项,则"抄不到卖点"损失有限 —— 两个模块要互相引用。每个经理都必须算两遍收益:从经理时点算一次,从披露时点算一次。
"判断正确"和"最后赚钱"必须拆开,防止结果偏见:
| 判断是否正确 | 最终是否赚钱 | 判定 |
|---|---|---|
| 对 | 赚 | 真正好决策 |
| 对 | 没赚 | 买贵了、太早了或执行有问题 |
| 错 | 赚 | 运气,不能计入能力 |
| 错 | 亏 | 真正错误 |
例1:经理判断某行业利润即将下滑,基本面确实下滑,但股票因估值扩张继续上涨。
→ 方向判断对了,但卖得太早,执行能力拖累了基本面判断。
例2:公司业绩持续恶化,但因市场主题炒作上涨,经理赚了钱。
→ 这场仗赚钱了,但原始判断并未得到基本面验证,属于结果好、决策未必好。每张战役卡必须给四象限判定,不只给"赢/输"。 这会让战役卡从"事后看涨跌"升级成真正的决策质量分析。
这一步最容易翻车。
全公司都买白酒,但他管的是科技主题基金 —— 他当然不能重仓白酒。这不能算独立性 100。
先控制以下约束,只有在合同允许范围内的主动偏离才计入独立决策:
做法:构造 Mandate-Adjusted House Consensus —— 用同 mandate 同类产品(而非全公司)作为对照基准,再算 Divergence。
不能只看单只产品。
张三: A 基金买半导体 · B 基金买半导体 · C 基金也买半导体
→ 这是经理本人的观点 ✅
张三: 只有那只科技主题基金买半导体
→ 很可能是 Mandate 造成 ⚠️把该经理所有产品合并成 Master Book,找出跨产品重复出现的 Active Bets。只有跨产品一致的偏离,才是个人观点的强证据。
Independent Call #1 · 2020Q2
House View: 白酒/消费明显超配
该经理: 白酒明显低配,新能源明显超配
行业配置偏离: 87/100
之后 12 个月: 经理 +56% | House Portfolio +33% | Shadow Benchmark +28%
Independent Alpha: +23% vs House
判定: 🟢 高价值独立判断Failed Independent Call · 2023Q1
House View: 逐步增配 AI
该经理: 坚持低配科技,继续重仓消费
之后 12 个月: 相对 House -11.2%
判定: ❌ 独立判断失败只挑赢家写 = 整个报告失去可信度。这是硬规则第 4 条。
过去 5 年重大独立判断: 11 次
成功 7 · 失败 4
Hit Rate 63.6%
成功平均 +12.4%
失败平均 -5.3%
→ 胜率不离谱,但赔率很好赔率比胜率更重要,必须同屏展示,不许只给 Hit Rate。
战役不能悬空讲。每一个买卖动作背后都有当时的市场情景,agent 必须自行检索并核实一份与分析窗口对齐的历史事件时间线,用于:战役回放字幕、战役卡背景、"在 X 情况下他做了什么"的行为归因。
| 类型 | 例子 | 主要来源 | 作用域 |
|---|---|---|---|
| 宏观 macro | 贸易战开打 / 疫情爆发封城 / 俄乌战争 / 对等关税 | 新闻检索(标题+日期可查证) | 全局 |
| 市场 market | 抱团股见顶 / 美股熔断 / AI 行情引爆 / 微盘流动性危机 / 924 政策暴涨 | 新闻检索 + 指数行情反推(单日 ±5% 自动标注) | 全局 |
| 基金自身 fund | 一日售罄上热搜 / 开始限购 / 经理变更公告 / 规模异动 / 上热搜被骂 | 基金公告 + 新闻检索 | 全局 |
| 行业 industry | 光伏531新政 / 带量采购 / 实体清单波及半导体 / 平台反垄断 / 碳酸锂崩盘 | 政策文件 + 行业协会 + 新闻检索 | 带 codes,只在回放对应重仓股时显示 |
| 公司 company | 中芯科创板上市 / 被列实体清单 / 麒麟电池发布 / 药明被列UVL / 快手上市 | 公司公告 + 新闻检索 | 带 codes,只在回放该股时显示 |
行业/公司事件按重仓股逐只收集:agent 对每只进入买卖复盘的股票,检索其持有窗口内的重大行业政策与公司事件(每只 1-4 条)。事件写 codes 数组标注适用股票,回放时按当前股票过滤。
events.json,字段 date / title / kind(macro|market|fund) / source_hint买卖复盘面板加 ▶ 回放:K 线从窗口起点逐周生长,推进到事件日期弹出新闻字幕(macro 红 / market 黄 / fund 紫),推进到买卖点弹出操作提示("📌 此时他清仓了隆基")。让用户亲眼看着"贸易战开打的那周,他在干什么"。
还有一种经理更牛:不是"公司都买白酒他买半导体",而是 "他先买半导体,半年后整个公司跟着买"。这意味着他可能是公司的 Alpha 源头。
对每个重要行业/个股,记录经理首次显著超配时间 vs 公司其他经理开始显著增配的时间:
2020Q1 张三开始重仓半导体
2020Q2 公司仅 2 名其他经理开始买
2020Q3 公司 9 名经理开始买
2020Q4 成为公司主要重仓方向
→ 平均领先 House Consensus 约 2-3 个季度
→ Idea Origination Score: 94三档判定:Idea Generator(领先) / 平台共创(同步) / Idea Consumer(滞后)。
这个分数直接决定"他离开这个平台后还值多少钱"。
如果很多重要行业都是他最早进入、其他经理逐渐跟随:
张三
↙ ↓ ↘
李四 王五 赵六
↓ ↓
... ...他就是 Internal Alpha Leader,即使他并不是投资总监。这比职务本身更有意义。
反向也要查 影子经理:组合是否长期跟随另一位核心经理(滞后 1-2 季度高度重合)。
首页展示七个数:
House Divergence 83/100
Independent Alpha +4.7% p.a.
Contrarian Hit Rate 68%
Idea Origination 91/100
Average House Lead 2.1 Quarters
Alpha When Divergent +7.2%
Alpha When Consensus +1.3%配一句自动结论,例:
该经理最有价值的时期恰恰是其组合与公司主流观点明显分化的时候。过去五年 11 次重大非共识配置中 7 次创造显著正超额,且多个核心行业配置领先公司共识约 2 个季度,属于较强的独立 Idea Generator。
同一套方法上移一层:这家基金公司相对全市场公募是否独立?
用途:区分"经理独立"与"整个公司都在裸奔"。经理相对公司独立、但公司相对市场高度抱团,那他的"独立"可能只是在一条拥挤赛道里换了个车道。
拉全市场今年收益 TOP10 主动基金(东财开放式排行按"今年来",剔除指数/联接/QDII,A/C 份额去重), 逐只对比其最新前十大与目标经理前十大的同名只数(同步度 = n/10),配进度条渲染。
这条尺子回答的问题和 House/全市场偏离不同:他的收益是不是蹭今年热点榜来的?
参考实现 scripts/fetch_top_funds.py,产物 .cache/fund_<code>/top_funds.json。
详见 references/step5-independent-alpha.md。
四层,缺一不可:
| 层 | 作用 |
|---|---|
| 合同 Benchmark | 法定基准,通常没什么用 |
| 同行 Benchmark | 同类型基金中位数 |
| Shadow Benchmark | 用他实际持仓风格构造的"假冒基金" |
| House Portfolio | 公司共识组合(STEP 5.1 产出) |
| 行业 ETF 对照 ★ | 他如果只买一个行业 ETF,能拿到多少(新增) |
Shadow Benchmark 是关键:如果收益能被"小盘+价值"指数组合复制,Alpha 就不是他的。
这层回答的问题:他买主动基金,为什么不去买一个 ETF?
何时启用(硬门控): 单一申万一级行业占股票持仓 ≥50% 且持续 ≥2 季度。主题基金(医药/半导体/军工)天然满足,而且这个对照对它们是"必须做" —— 合同已把他锁死在行业里,他唯一能贡献的价值就是行业内选股;如果连行业 ETF 都跑不赢,这只基金没有存在的理由。
把总超额拆成两段(和 Alpha 尸检衔接):
总超额 vs 市场 ≈ 行业溢价(一个行业 ETF 就能拿到) + 行业内选股 Alpha(经理真正的活)事前选定(硬规则): ETF 必须事前写死代码,不许事后挑一个对自己有利的。
扣费对比是关键: 主动基金净值已扣 1.5% 管理费,ETF 扣 0.5%。零售问题是"多付的这 1%,买到了什么":
| 经理 vs 行业 ETF(扣费后) | 判读 | 行动 |
|---|---|---|
| 明显跑赢(>+3%) | 行业内有选股本事 | 管理费值 |
| 持平(±1%) | 本事 = 押对行业 | 直接买 ETF |
| 明显跑输 | 行业都没吃透 | 避开 |
| 跑赢但高换手 | 净收益可能翻转 | 必须看扣费后 |
两个必须防的陷阱(否则结论是假的):
前端做成"三堂会审"第三堂:擂台加第三位选手"行业 ETF(机器人)",胜/平/负三判。
他的钱主要来自押对了医药,不是医药里选股。直接买医药 ETF,省 1% 管理费。 或:他在医药里选股确实比医药 ETF 多赚 2.1%,这笔管理费值。
拆成瀑布,各项加总须等于总收益(误差 < 0.3pp):
基金年化收益 17.2%
├─ Market Beta +4.1%
├─ Size Beta +3.0%
├─ Value Beta +1.4%
├─ Microcap Beta +2.2%
├─ Asset Allocation +1.8% ← 经理能力
├─ Stock Selection +3.1% ← 经理能力
├─ Timing +1.0% ← 经理能力
└─ Residual +0.6%| 检验 | 通过标准 |
|---|---|
| Factor-adjusted Alpha | > 0 且 t > 2 |
| Rolling 36M Alpha 为正比例 | > 60% |
| 正 Alpha 年度 | ≥ 2/3 |
| 剔除 Top1 赢家 | 仍为正 |
| 剔除 Top3 赢家 | 仍为正 |
| Alpha Breadth | 贡献分散,非单一押注 |
| 一次性收益剥离 | 打新/定增/转债贡献单列 |
剔除 Top3 后转负 = 运气而非能力,必须明写。
每项 A-F 评级:
| 能力 | 检验 |
|---|---|
| Buy Skill | 买入后 3M/6M/12M 超额 |
| Sell Skill | 卖出后标的继续涨了多少 |
| Sizing Skill | 高权重仓位是否确实高胜率 |
| Holding Skill | 长期持有标的是否真跑赢 |
| Error Correction | 见 3.4 |
| Talk vs Action | 季报说的与实际持仓是否一致 |
必须给出一句具体弱点,例:"典型弱点:卖得偏早,历史卖出后 12M 标的平均继续上涨 14%。"
Active Share / Tracking Error / Risk Contribution / Hidden Concentration / Tail Risk / 情景压力测试。
Hidden Concentration 是重点:行业看着分散,可能全是小微盘 = 单一风险因子。
情景按钮:小微盘 -30% / 流动性快速收紧 / 大盘蓝筹行情 / 风格切换,各给预估影响。
二维图回答"这个经理在哪种世界最厉害":
价值占优
↑
表现一般 │ 表现较好
小盘 ───────────┼─────────── 大盘
表现极强 │ 表现较弱
↓
成长占优基金经理共管、产品复制、公司统一研究平台,都会让"这个人创造了业绩"变得不确定。三个指标:
| 指标 | 计算 |
|---|---|
| 主驾度 | 单独管理时间占比 / 共管产品数 / 重大持仓变动是否发生在共管期 / 共管人加入退出后行为变化 |
| 产品复制率 | 同一经理不同基金持仓重合度 / 是否十只基金本质上是一只换壳 / 新基金是否简单复制老产品 |
| 司机负荷 | 同时管理多少只 / 总规模 / 覆盖多少种策略 / 新发产品速度 |
前台表达:
他名下有 12 只基金,但 9 只持仓高度重合,本质上是一辆车换了 9 个车牌。 或:这只基金的主要战绩发生在三人共管时期,目前无法确认方向盘主要掌握在谁手里。
产品复制率已落地为报告「一车多牌」对照卡(不进总分)。最新全持仓季前十大:撞 ≥6 只,或他在共有股票上的权重 ≥35% → 记同构。主驾度 / 司机负荷仍须人工。
很多经理过去有 Alpha,但成名后出现:规模膨胀 / 产品增加 / 小盘买不动 / 持仓向大盘抱团靠拢 / 独立性下降 / 换手恶化。比较成名前后:
| 指标 | 成名前 | 成名后 |
|---|---|---|
| 管理规模 | 28 亿 | 186 亿 |
| 独立差异度 | 74 | 41 |
| 小盘股占比 | 38% | 9% |
| 年化独立 Alpha | 8.1% | 2.2% |
一句判词:
过去的他确实优秀,但现在的产品已经装不下过去的打法。
娱乐封号:规模受害者 —— 名气涨得比能力快。
持有 50 只股票不代表分散。算"真实押注数":行业相关性 / 风格因子相关性 / 盈利驱动相关性 / 同一产业链暴露 / 压力期相关性。
表面持有 46 只股票,实际上只押了四件事:消费复苏、人民币升值、利率下降和大盘成长。
平时看起来有 46 个出口,市场踩踏时真正能同时卖出的只有 3 个。
容量和流动性一下就变得非常直观。
现有战役卡不只记录输赢,还要归纳错误类型:买贵了 / 判断太早 / 越跌越加 / 过度集中 / 价值陷阱 / 卖得太晚 / 卖飞 / 追逐热门赛道 / 错误后拒绝调整。
然后算三个指标:
| 指标 | 通俗解释 |
|---|---|
| 犯错频率 | 多久会做错一次重大判断 |
| 认错速度 | 错了以后多久开始减仓 |
| 单次伤害 | 一次错误通常会让组合损失多少 |
最重要的是同一种坑掉进去几次:
他不是不能犯错,而是过去五年三次在高估值成长股上犯了同一种错误,而且每次都在下跌后继续加仓。
这比"风险管理 62 分"有意义得多。
他越有把握的时候,真的越准吗?
比较:前五大重仓胜率 / 普通持仓胜率 / 加仓后未来收益 / 减仓后未来收益 / 高确信度决策的盈亏比。
他重仓股的命中率反而低于普通持仓,说明他的判断能力尚可,但仓位表达经常放大错误。 或:仓位越重,未来收益越高,他不仅会选,还知道什么时候该下重注。
这对应 Buy / Sell / Sizing / Holding,但前台完全不需要出现这些英文。
Capacity: 策略容量估计 / 当前 AUM / Capacity Utilization 进度条 / Days to Liquidate / Alpha Decay 曲线。
预计容量 20-30 亿 · 当前 12.5 亿
Capacity Utilization ████████░░░░ 48% 🟢 健康资金画像(徽章制,有证据点亮,无证据灰色,禁止猜测):
🟢 经理本人 🟢 基金员工 ⚪ 国家队 ⚪ 险资
⚪ 社保 ⚪ 养老金 ⚪ FOF ⚪ 外资禁令:员工持有 ≠ 经理自购;地方国资 ≠ 国家队;机构持有 ≠ 未来收益。
评规模把握,不评净值。把限购 / 暂停大额 / 打开申购钉在沪深300 和他的风格指数 高低点上,拿 12 个月后走势验尸。
四象限(先剔除假信号再进样本):
| 高位(近 3 年 ≥80% 分位) | 低位(≤20%) | |
|---|---|---|
| 关门 | 拦人进场(良心候选) | 可能流动性/合规/保命,不一定坏 |
| 开门 | 开门收钱(圈钱候选) | 便宜时接钱(对持有人友好) |
三类假信号必须剔除,否则会把公司风控当成他的良心:
数据:东财 JJGG?type=0 基金公告。标题含「暂停申购且暂停赎回」或「非港股通」= 假期假闸门,不进样本。封闭期满「开放日常申购」是合同动作,不是裁量开门。
自购能拿就叠:公司固有资金自购有公告;经理个人自购经常没有独立接口,拿不到写「未获取」。员工持有比例 ≠ 经理自购。
「良心」不当成 0–100 分塞进行为总分。 按三级证据制:时间线重合是已确认事实,「他有良心」最多较强推断。
开门之后要再验那批钱的命运:打开后 1~2 期净份额是升是降。净缩不能写成开门收钱(申购赎回拆不开);解锁后规模从低点爬回去的滞后批次,从高点那天起算 12 个月。持有人结构叠在同一根轴上:锁定期份额不动时,机构占比变化是场内换手,不是申购。
比 Q4 和其他季度:前十大集中度 / 单票上限 / 前十大换血率 / 当季基金收益;股票仓位只拿中报 vs 年报(全持仓)。红旗须 ≥2 项 Q4 显著更高。假信号:Q1/Q3 只有前十大,禁止拿持股只数比;成立首年当建仓年剔除。对照卡,不进总分。
拿他名下其他主动权益(house/funds.json 里 self: true,不含本品)最新全持仓季前十大,算共有股票数与重合权重(双方取较小权重再加总)。撞 ≥6 或他在共有票上 ≥35% → 同构事实。港股代码与本品同一套东财口径。对照卡,不进总分。
Platform: 拆分 Personal / Platform / Factor 三部分 Alpha,给 Platform Dependence。团队稳定性、核心研究员流失是否伤害对应 Alpha。
禁止历史外推,必须逐项扣减:
Historical Selection Alpha +4.9%
├─ 规模折价 (AUM 已翻倍) -0.8%
├─ 拥挤折价 -0.3%
├─ 平台依赖调整 -0.2%
├─ 交易成本上升 -0.4%
├─ Regime 变化 -0.5%
└─ Skill Decay (均值回归) -0.7%
= Forward Sustainable Alpha +2.0% ~ +4.0%同时给 Alpha Replicability (0-100)。
经理赚的钱 ≠ 普通人拿到手的钱。做一根"漏水管",层层扣减:
历史主动超额: 8.4%
刨掉行业风口: 5.9%
规模扩大损耗: 4.6%
扣除费率成本: 3.1%
普通持有人行为损耗后: 1.7%"基民行为损耗"怎么算: 用基金份额变化、规模变化和净值,估算资金加权收益(基民真实到手的),与基金本身的时间加权收益(基金公布的)对比。
最有传播性的表达:
基金五年赚了 68%,但典型持有人可能只赚了 24%。不是经理没赚钱,而是大部分钱都在涨完以后才进来。
这句话直接回答一个极其重要的问题:为什么基金业绩很好,基民体感却很差?
不要只告诉用户最大回撤 32.6%,直接翻译成人能感受到的东西:
历史投入 10 万元
最差时账面剩 6.74 万元
最长连续亏损 14 个月
最长等待回本 29 个月
任意时点持有三年,78% 的起点赚钱
任意时点持有三年,54% 的起点跑赢同类指数前台做一个金额滑块:用户输入 5 万 / 10 万 / 50 万,所有历史压力数字同步变化。可以叫 "十万元灾难片"。
他能赚钱,但赚钱之前经常先让你亏掉三分之一。拿不住的人,经理再优秀也没有意义。
再加 "十个人抽签买入":10 个随机买入时点,8 人三年后赚钱,5 人跑赢指数,2 人中途曾亏损超 30%。比年化收益、夏普比率直观得多。
| 场次 | 他 vs 谁 | 判断什么 |
|---|---|---|
| 第一堂 | 公司其他人 | 是否具有独立决策能力 |
| 第二堂 | 同类经理 | 是否只是在差公司里显得优秀 |
| 第三堂 | 低费率 ETF / 机器人替身 | 这份管理费到底值不值 |
第三堂的 机器人替身:相同股票仓位、相同行业暴露、相似大小盘风格、不做主动选股。问:
如果把基金经理换成一个不思考的机器人,过去五年还能赚多少?
判词:
他跑赢了同事,但没有跑赢同类指数。属于班级第一,全年级不及格。 或:扣费后只比 ETF 多赚 1.2%,但最大回撤少了 9 个百分点。你付管理费买到的主要是更平稳,不是更高收益。
每份报告都有判决有效期和四个报警器:
本判决有效至:下一期完整持仓披露后
触发重新审查:
1. 经理离任或新增核心共管人
2. 管理规模较当前再增长 50%
3. 连续四个季度高分化、负 Alpha
4. 产品持仓与历史行为 DNA 明显偏离不是永远可以买,而是在这些条件没有变化以前,当前判断成立。
四档:APPROVED / WATCH / DO NOT ADD / RE-UNDERWRITE
现在的巨型分数和"可以买"印章容易把四个问题混在一起。首屏必须给四个独立判决:
| 判决 | 回答的问题 |
|---|---|
| 人 | 这个经理值不值得信 |
| 产品 | 这只基金有没有把他的能力完整装进去 |
| 当前 | 当前规模、拥挤、风格估值是否正在侵蚀能力 |
| 你 | 你的持有期和回撤承受力是否适合 |
可能出现:
人:通过
产品:有限通过
当前:不宜追涨
适配:更适合卫星仓,不适合作为唯一底仓"你"那一重不能是单一结论 —— 它依赖用户自己的持有期和回撤承受力,做成条件式("如果你持有 3 年以上且能承受 -18% → 适合")。十万元灾难片正好喂给它。
必须包含:buy_now 布尔值 + 中文标签 · Conviction · Why We Like Him (3-5) · Why We May Be Wrong (3-5,不能省) · 建议仓位 · 否决项 · Forward Alpha 区间 · 可量化 Review Triggers。
Review Triggers 示例:AUM > 25 亿 / 微盘相关性 > 0.9 / 连续 4 季度 Residual Alpha < 0 / House Divergence 骤降至 40 以下(开始抱团) / Manager 离职 / 开放大额申购。
触发任一 → RE-UNDERWRITE。
最终结论之前加一次对抗审查:
| 角色 | 职责 |
|---|---|
| 正方 | 尽力证明这个经理确实有能力 |
| 反方 | 尽力证明他的成绩来自风口 / 运气 / 平台 / 单一牛股 / 规模尚小 / 幸存者偏差 / 起点便宜 |
| 裁决 | 只使用双方都承认的事实,解释为什么采信一方 |
前台:
辩方:他四次逆共识决策中三次获胜
控方:其中两次都发生在同一轮成长股牛市
裁决:存在独立判断,但跨周期证据不足,评级上限 B+这比普通的"风险提示"有意思得多,也更可信。
| 模块 | 权重 | STEP |
|---|---|---|
| Manager / People | 28% | 3, 5 |
| Investment Edge & Alpha | 20% | 6, 7 |
| Portfolio Construction | 11% | 4, 9 |
| Risk Management | 11% | 9 |
| Regime & Repeatability | 10% | 11 |
| Capacity / Liquidity | 8% | 10 |
| Alignment / Governance | 7% | 10 |
| Platform / Process | 5% | 10 |
Independent Decision Alpha 独占 8 分,是单项最高。
| 子项 | 分值 |
|---|---|
| Independent Decision Alpha | 8 |
| ├ Independent Thinking (House Divergence) | 2 |
| ├ Independent Alpha (分化后是否赚钱) | 3 |
| ├ Contrarian Hit Rate + 赔率 | 1.5 |
| └ Idea Origination / House Lead | 1.5 |
| Decision Quality (Buy/Sell/Sizing/Holding) | 4 |
| Error Correction | 3 |
| Behavioral DNA | 3 |
| Philosophy + Persistence | 3 |
| Career & Experience | 2 |
| Integrity / Consistency | 2 |
| Learning Ability | 2 |
| Alignment (自购/限购) | 1 |
⚠️ Independent Thinking 单独不给分上限:Thinking 高但 Alpha 为负时,该子项按 Alpha 折算,最高只给 2 分。有主见但主见没价值不加分。
| 总分 | Rating | 状态 | buy_now |
|---|---|---|---|
| 85-100 | A+ / A | 🟢 APPROVED | true |
| 70-84 | A- / B+ | 🟢 APPROVED WITH WATCH | true |
| 55-69 | B / B- | 🟡 WATCH | false |
| 40-54 | C | 🔴 DO NOT ADD | false |
| < 40 | D | 🔴 AVOID | false |
Evidence Confidence 为 🟠 Low 或 🔴 Insufficient 时,评级上限为 B+,不论算出多少分。
不要只显示一个精确到个位的 78 —— 会给普通用户不必要的科学精确感。必须同时显示:
78
可信区间:74—82
证据置信度:中高
数据截至:2026-06-30证据不足 ≠ 差经理。Low / Insufficient 置信度下,不标 D 档,而是标 U(未鉴定):
U 不是差
U 是目前没有足够证据下结论"独立决策 Alpha"很可能同时影响 Manager / Edge / Regime / Portfolio / Future 多个模块。同一条证据只能进入一个主要评分模块,最多再作为另一个模块的修正项,不能在多个模块重复完整计分。
例:
"高分化期未来超额显著更高" → 主要计入 Independent Alpha
在 Repeatability 只计入"是否跨周期重复出现",不再把收益加一遍
在 Portfolio Construction 只评价仓位表达是否合理,不再重复奖励判断正确稀有度回答的不是"多强",而是 "多强 × 多少人知道"。两个维度分开判,再合并。
| 稀有度 | 总分 | 手感 |
|---|---|---|
| UR | ≥ 85 | 又强又少人知道,最稀有 |
| SSR | 70–84 | 值得入手,有明确约束 |
| SR | 55–69 | 平庸或有短板 |
| R | < 55 | 别碰 |
"小众" = 知道他的人少 + 愿意把钱给他的钱少。
为什么必须 agent 主观判,不能纯算数:
agent 读完证据,给 0–100 稀缺度 + 一句可核实的理由:
稀缺度:72/100
理由:全网搜"陈述"几乎只有基金公告和少量研报提及,公司未将其作为明星产品
推广,持有人以散户小额自购为主,机构占比五年持续下滑 —— 属于"圈内偶有提及、
大众完全没听过"的极度稀缺型经理。| 实力档 | 稀缺度 | → 最终稀有度 |
|---|---|---|
| SR(78 分) | 极度稀缺(70+) | SSR |
| SR(78 分) | 大众(20) | SR |
| A+(85+) | 极度稀缺(70+) | UR |
| A+(85+) | 大众 | SSR |
| R(55-69) | 极度稀缺 | SR 或 R |
同样的实力,越少人知道 → 越稀有。 但注意修正:知名度低,可能意味着规模压力更小、策略容量更充足、持仓拥挤度更低,但不天然意味着未来收益更高。 开放式基金的净值不是因买的人多直接被炒贵。
不要只给一个"稀缺度 72",给二维坐标:
| 资金关注低 | 资金关注高 | |
|---|---|---|
| 媒体热度高 | 营销在推、资金没跟 | 大众明星 |
| 媒体热度低 | 真冷门或无人问津 | 圈内暗牌 |
媒体几乎不提,但机构资金连续四期增加 —— 这是圈内暗牌,不是真正无人关注。
| 条件 | 处理 |
|---|---|
| 证据置信度 Low / Insufficient | 上限 R(标 U 而非差) |
| 独立 Alpha ≤ 0 | 上限 R |
| 造神检测红旗 | 直接 N(评再多分也出局) |
| 剔Top3仍正 + 赔率>2 + 证据High + 无已确认红旗 | 至少 SR 能力基础 |
"无负面"不构成正面保底 —— 没查到负面可能只是公开信息不完整。注意措辞是"无已确认红旗",不是"无负面"。
稀有度不得改变投资评级(硬规则)。SSR 只是传播标签,不能反过来提升投资判断。
投资评级:A- / APPROVED WITH WATCH 认知稀缺:78 / 圈内暗牌 卡牌稀有:SSR
案例:陈述 78 分 = SR 实力 + 稀缺度约 70(极度稀缺)→ 最终 SSR。他不是顶尖分数,却是稀有卡 —— 稀有来自"少数人知道",不是分数虚高。
参考 UZI-Skill 已验证的设计语言:零图表库、纯 CSS 可视化、结论先给、巨型数字、野兽派金句。
采用干净的 OLED 深色基底(变量少、名字准),不要沿用 --neon-* / --bg-void 那套名不副实的历史遗留:
:root {
--bg: #080a0d;
--surface: #11151b;
--ink: #f2f5f8;
--muted: #8b95a3;
--line: #1e242d;
--accent: #c8ff2e; /* 荧光绿,用于分数与强调 */
--ok: #34d399;
--danger: #f87171;
--warn: #fbbf24;
--indep: #a78bfa; /* 独立决策模块专属色 */
--radius: 16px;
--shadow-brutal: 5px 5px 0 var(--accent);
}
body { font-family: Inter, 'PingFang SC', system-ui, sans-serif;
font-variant-numeric: tabular-nums; }字号层级:巨型分数 160px/w900 · 经理名 72px/w900 · section-title 32px/w800 · 金句 26px/w700 · label 11px + letter-spacing:.25em。
卡片:border-radius:16px; padding:28px; border:1px solid var(--line); background:var(--surface)。
禁止在浅色主题写死 background:#ffffff 再逐个覆写 —— 一切颜色走变量。
| Tab | 用户真正想知道什么 | 核心内容 |
|---|---|---|
| 判决书 | 到底行不行 | 四重判决、分数区间、证据等级、最大本事、最大硬伤 |
| 这个人 | 他是什么类型的经理 | 职业路径、行为 DNA、嘴手一致、主驾度、司机负荷 |
| 独立战争 | 他跟别人不一样时有没有本事 | 公司门派图、双分数、战役(四象限)、先手、跟随嫌疑 |
| 拆穿运气 | 业绩到底是不是风口 | Alpha 尸检、机器人替身、ETF 三堂会审、拆台实验、成名衰减 |
| 你会怎么亏 | 买了以后最难受的时候什么样 | 十万元体验、翻车说明书、天气图、底牌、逃生门 |
| 怎么用 | 适合拿来干什么 | 产品纯度、底仓/卫星仓、持有期、费率份额、抄作业指数、改判条件 |
这六个名字都没有金融术语 —— 用户顺着看完就完成一次自然决策:行不行 → 为什么 → 是不是独立能力 → 是不是运气 → 我会怎么亏 → 最后该怎么用。
Independence 是独立 Tab,不能塞进 Manager 里当一个小节。 它是这个产品的差异化所在。
导航:单页滚动 + 左侧固定锚点轨(position:fixed; left:16px; top:50%),scroll-behavior:smooth,scroll-padding-top:72px。
┌─────────────────────────┬──────────┬──────────┐
│ 缪玮彬 │ 78 │ 🟢 │
│ Macro Allocator / │ /100 │ 可以买 │
│ Diversified Small-Cap │ │ │
│ │ A- │ 建议仓位 │
│ [单人管理8年+] │ │ 核心仓 │
│ [经理本人>100万份] │ │ │
│ [低抱团][主动限购] │ │ │
│ [Key Person Risk高] │ │ │
└─────────────────────────┴──────────┴──────────┘.score-giant 160px,JS 从 0 缓动到目标值(1-Math.pow(1-t,3),1400ms),::after 追加 /100。
巨型分数必须带区间与置信度(见评分框架),不显示裸 78。
紧跟四重判决(人 / 产品 / 当前 / 你),再接判词(.punchline:深底 + 12px --accent 左边框 + 5px 实心投影):
缪玮彬的核心能力并非传统集中选股,而是资产配置与小微盘非共识机会;过去五年 11 次重大非共识配置 7 次跑赢公司组合,最大约束是策略容量与小微盘流动性。
首屏禁用的四句话:只有人 ✓ / 只有产品 ✓ / 只有当前 ✓ / 只有适配 ✓ 都不是完整判决。四个都要。
第二屏才是 Manager Profile + DNA 雷达。不要一上来给净值曲线。
| 机制 | 内容 | 前台标签 |
|---|---|---|
| 证据账本 | 每个判断保存:结论 / 证据类型(公开事实 / 数学计算 / 推断 / agent 判断)/ 数据截止 / 来源 / 置信度 / 最强反证 / 计入哪个模块 | 物证 / 计算 / 推断 / 判断 |
| 数据保质期 | 每个持仓结论显示:快照日期 / 披露日期 / 距今 | "这是一张 74 天前的持仓照片,不是实时监控" |
| 样本筹码 | 不只写 High/Medium,写清结论由多少次事件支撑 | "目前只打过三场硬仗,够进观察名单,不够封神" |
消费派 8 人 / 科技派 5 人 / 均衡派 6 人 / 目标经理属于哪个。一句判词:
他不是跟公司唱反调,而是公司内部本来就有一支科技派。 或:公司有三个门派,他和谁都不像,是真正的独立决策者。
几个开关:去掉前三大牛股 / 去掉表现最好的一年 / 去掉最赚钱的行业 / 把规模恢复到成名前 / 从季报披露日再开始计算 / 中和风格和市场 Beta。点击后 Alpha、评级、判词实时变化:
原始五年超额:7.8% → 去掉头号牛股:2.6% → 去掉前三大: -0.4%
→ 他的历史成绩高度依赖三只股票。这证明他有抓大牛股的能力,也说明他的容错率很低。原始五年超额:6.1% → 去掉表现最好的一年:5.3%
→ 拆掉最好的一年后成绩几乎没变,他不是靠单年运气。他说:长期投资,不参与短期热点
他做:过去八个季度换手率持续处于同类前 10%
判词:嘴上是长期主义,手上是高频交易。他说:回避高估值热门股
他做:相关赛道高估值阶段持续低配
判词:说到做到,不是路演话术。1. 双分数对照条 —— 整个产品最该被记住的一屏:
Independent Thinking ████████████████░░░░ 88
Independent Alpha ██████████████████░░ 91
↑ 两条必须同屏,永不合并Thinking 高而 Alpha 低时,Alpha 条渲染为 --danger 色并加标签 有主见,但主见没价值。
2. House vs Manager 行业对照 —— 双向横条,左侧公司共识,右侧经理主动权重,分歧行业高亮 --indep 色。
3. Independent Calls 战役卡 —— 成功卡左边框 --ok,失败卡左边框 --danger。成功与失败卡尺寸、篇幅完全一致,不许把失败案例做小。
4. Hit Rate + 赔率双数 —— 并排两个大数字,禁止只显示 Hit Rate。
5. Idea Lead 时间轴 —— 横向时间线,经理首次超配打 --accent 点,公司经理陆续跟进打灰点,标注领先季度数。
Playwright 截图隐藏 DOM 节点,device_scale_factor=2,先 page.evaluate("document.fonts.ready")。
#share-card 1080×1920 竖版:品牌条 → 经理名 72px → 基金名/代码 → 巨型分数 + 判决 → 独立决策三数(Divergence / Independent Alpha / Hit Rate) → 战役战绩条 → 金句盒 → 二维码 → 免责声明#war-report 1920×1080 横版:左侧信息,右侧 INDEPENDENT ALPHA 大数字小标题统一 // xxx 前缀。二维码本地生成,不要调 api.qrserver.com(离线会拿到空白图)。
零图表库。 血条、对照条、瀑布、雷达、时间轴全部 CSS gradient + width 过渡 + inline SVG。不引 echarts。
模板用 Jinja2,不要用 str.replace + <!-- INJECT_XXX --> anchor(UZI 那套已经积累了三层 anchor 兜底的技术债)。
详见 references/ui-spec.md。
取数的主体是你(agent),不是任何写死的脚本。 原因很实际:
第一层 · 公开 API akshare / baostock / 东财裸接口 —— 结构化、快、可缓存
↓ 接口失效 / 限频 / 字段缺失
第二层 · 浏览器抓取 用你手上的浏览器工具直接开网页拿 —— JS 渲染页、PDF、图表数据
↓ 数据在登录墙 / 付费墙后面
第三层 · 请用户登录 暂停,让用户在浏览器里登录,然后你继续抓
↓ 用户没有账号 / 拒绝
第四层 · 标注缺口 写"未获取,原因 X",按硬规则压置信度,绝不编数每层都要留证:数据落 .cache/ 并记录来源(接口名+参数 / 页面 URL+抓取时间)。查不到出处的数字不许进报告。
经理照片:天天基金经理档案页(fund.eastmoney.com/manager/<id>.html,id 从 fundf10.eastmoney.com/jjjl_<code>.html 反查)的 #photo 即官方照,存 .cache/fund_<code>/manager_photo.png,渲染时 base64 内嵌保持单文件可分享;拿不到就回退姓氏首字占位,不许用网络图片外链。
https://fund.eastmoney.com/pingzhongdata/<code>.js(带 UA+Referer,utf-8-sig 解码)一次返回十几个 var,
能替代大半个第一层的零散请求。重点变量:
| 变量 | 内容 | 我们用在哪 |
|---|---|---|
Data_netWorthTrend / Data_ACWorthTrend | 全历史单位/累计净值(含每日涨幅) | 净值指标 |
Data_buySedemption | 每期申购/赎回/总份额 | 被动减仓判定的赎回证据,不用再从持有人数据倒推 |
Data_fundSharesPositions | 近期估算股票仓位序列 | 当前仓位快照(注意是估算值,标 derived) |
Data_holderStructure | 机构/个人/内部持有比例时序 | 持有人画像 |
Data_fluctuationScale | 每期规模+环比 | 规模曲线 |
Data_currentFundManager | 经理任期/总管理规模/星级/照片URL/东财五维能力分 | 经理卡 + 平台分对比 |
Data_performanceEvaluation | 天天基金五维评价(选证/收益/抗风险/稳定性/择时) | "平台给他 X 分,我们只给 Y 分"对照 |
Data_rateInSimilarType | 同类排名走势 | 排名时序图 |
平台五维分只做对照展示,不得计入我们的行为评分(别人的尺子,只能挂墙上看)。
基民情绪(可选娱乐位):基金吧列表页 guba.eastmoney.com/list,<code>,2_1.html 可读持有人帖子标题,
做"此刻基民在骂还是在吹"的氛围卡;只做展示,不入评分。
akshare 覆盖度够,是你的地基。 但关键判断(历史产品回补、公告标题解析)仍要 agent 做。
以下五个接口必须会用:
# 1. 逐季持仓(个股层)
ak.fund_portfolio_hold_em(symbol="000001", date="2024")
# 一次返回全年四季度,字段含股票代码/名称/占净值比/持股数/持仓市值
# 配合 fund_portfolio_industry_allocation_em / fund_portfolio_change_em(indicator="累计买入")
# 2. 经理变更公告
ak.fund_announcement_personnel_em(symbol="000001")
# 回溯到 2013 年,标题区分"调整"vs"增聘"— 下跌期"增聘"新人是甩锅前兆
# 只给公告标题+日期+报告ID,需正则抽人名或取全文
# 3. 经理-产品映射(当前时点)
ak.fund_manager_em()
# 全市场经理,含所属公司+现任基金代码,groupby 公司得产品清单
# ⚠️ 只反映当前在任,历史离任经理管过的产品要用 #2 回补
# 4. 全市场持仓横截面
ak.fund_report_stock_cninfo(date="20210630")
# 某报告期所有基金持股,算全市场拥挤度比逐基金循环高效
# 5. 净值序列
ak.fund_open_fund_info_em(fund="000001", indicator="单位净值走势")跨很多标的/季度时,派 subagent 并行。 单经理单季度直接调。
| 场景 | 为什么脚本做不了 |
|---|---|
| 历史"公司产品清单" | fund_manager_em 只反映当前在任,2020年某个已离任经理管过的产品会漏。要用 fund_announcement_personnel_em 回补每个时点的完整名单 |
| 公告标题解析 | "增聘"vs"调整"、人名提取、多人共管的先后顺序,必须读标题判断 |
| 基准中途是否修改 | 合同基准变更不会自己标注,需对比招募说明书不同版本 |
| 前十大消失 ≠ 卖出 | 只能记"退出前十大",是卖空还是被新进的挤出前十,需结合仓位变化判断 |
| Mandate 约束抽取 | "本基金投资于医药行业不低于 80%" 这种语句,没法自动结构化 |
| 需要什么 | 接口 / 来源 | 注意 |
|---|---|---|
| 基金基本信息 | fund_individual_basic_info_xq | 份额类别要对 |
| 经理变更历史 | fund_announcement_personnel_em | 标题含"增聘"→ 甩锅前兆 |
| 净值序列 | fund_open_fund_info_em(indicator="单位净值走势") | 复权口径一致 |
| 季度前十大持仓 | fund_portfolio_hold_em | 只有前十大 |
| 半年报/年报全持仓 | 定期报告 PDF | akshare 无此接口,必须自己解析 |
| 公司全部产品持仓(某时点) | fund_manager_em + 公告回补 | 量最大,派 subagent 并行 |
| 全市场横截面 | fund_report_stock_cninfo(date=...) | 比逐只循环快 |
| 基金合同约束 | 招募说明书 | Mandate 判断 |
| 持有人结构 | 年报 PDF | 资金徽章证据 |
| 规模与申赎 | fund_individual_basic_info_xq 可能含规模 | 或定期报告 |
| 限购 / 闸门公告 | 东财 https://api.fund.eastmoney.com/f10/JJGG?type=0 | 暂停大额/限额/恢复申购/提前结束募集。假期双边暂停是假闸门。同门对照是否同一天限购 |
| 名下其他产品持仓 | fund_portfolio_hold_em(与本品同一接口) | 一车多牌。现任经理从 managers.json 推断,禁止写死姓名 |
fund_manager_em 只给当前在任akshare 的东财接口有限频,issues 里反复出现"连接频率多少就被限制"。社区有补丁 akshare-proxy-patch(184 星)但治标不治本。
硬规则:
.cache/{code}/raw/ 按接口+参数+日期存原始响应,不要在线实时跑fund_report_stock_cninfo 横截面,一次拿全市场以下场景 API 拿不到或拿不全,直接用浏览器工具开网页(playwright / cursor 浏览器 / 任何你可用的浏览器自动化):
| 场景 | 去哪 | 怎么拿 |
|---|---|---|
| JS 渲染页面 | 东财 f10 持有人结构、规模变动页 | 开页面等渲染完,从 DOM 取表格(实测 FundArchivesDatas.aspx 裸接口也行,先试裸接口) |
| 定期报告 PDF | 巨潮资讯 / 基金公司官网 | 搜报告 → 下载 PDF → 读"报告期末基金份额持有人结构"、全持仓明细、经理讨论与展望 |
| 招募说明书 / 基金合同 | 巨潮 / 官网 | 读 Mandate 约束("投资于XX行业不低于80%")、基准定义与历次修订 |
| 基金的特殊持有人 | 基金年报 PDF | 「持有份额超20%的单一投资者」「前十名份额持有人(场内/LOF)」——国家队/险资/养老金直接持基的唯一出处;持有人结构(机构/个人/员工)可走东财 FundArchivesDatas.aspx?type=cyrjg 裸接口 |
| 个股的特殊股东 | 东财十大流通股东接口 | 国家队(汇金/证金)/社保组合/基本养老/险资/北向(香港中央结算)/QFII,按股东名称正则识别;港股无此口径 |
| 经理访谈 / 路演 / 热搜 | 搜索引擎 + 雪球 + 新闻站 | 嘴手对账单的"嘴"、稀缺度判定的媒体热度、情景时间线的事件核实 |
| 历史新闻核日期 | 搜索引擎(限定时间范围) | 5.6.1 情景时间线的每条事件都要能搜到出处 |
| 基金吧 / 社区情绪 | 东财基金吧 / 雪球讨论 | 持有人质感(散户自发 vs 机构推荐),只看不采集个人信息 |
浏览器抓取守则:
.cache/ 并记 URL + 抓取时间,截图留证更好有些数据在登录墙后(雪球组合数据、天天基金自选/定投数据、Choice/Wind 终端、韭圈儿会员数据)。遇到登录墙就暂停,明确请用户帮忙,格式:
我需要 [XX数据] 来完成 [XX模块],它在 [站点] 的登录墙后面。
请你在打开的浏览器页面里登录一下(我不需要也不会保存你的密码),
登录完成后告诉我,我继续抓取。
如果你没有账号或不方便,我会跳过该数据并在报告中标注缺口。安全边界(硬规则):
拿不到就写"未获取:原因 + 尝试过的层级",按硬规则压证据置信度。绝不编数、绝不拿相似数据凑。
仓库根目录 scripts/ 下(相对本文件为 ../../scripts/)的 fetch/analyze 脚本是一次真实运行(兴全合宜 163417)的参考实现——
它们证明了数据链路走得通、算法怎么落地,但换一只基金/换一个环境时,不要假设它们还能跑:
| 脚本 | 定位 |
|---|---|
fetch_fund.py / fetch_stock_klines.py / fetch_stock_industry.py / fetch_house.py / fetch_pingzhong.py / fetch_top_funds.py / fetch_gates.py | 取数参考:窗口/行业/费率/风格指数/同门对照按所选基金重算。fetch_house.py 的 4b 抓名下其他产品持仓(一车多牌)。接口失效时你自己按三层模型取数,不要修脚本修到天荒地老 |
analyze_fund.py / analyze_house.py / analyze_gates.py / analyze_addons.py / build_replay_data.py | 纯计算参考:事件推断/被动减仓判定/验尸/House分歧/闸门分位/年底冲排名/一车多牌/开门批次。输入齐了就是确定性计算,可直接复用 |
build_fund_report.py / build_v2.py | 渲染参考:设计系统与模块组装 |
export_cards.py | 分享卡截图 |
判断类的工作(公告解读、Mandate 抽取、事件核实、稀缺度定级)没有脚本,也永远不该有。 个股行业用东财/港股 F10 公开分类自动取,禁止手写某只基金的对照表。
取数 → 计算 → 你做定性判断 → 写 agent_analysis.json → 渲染报告。
<HARD-GATE>
渲染报告前必须完成:
1. 任期切割做完,前任业绩已剥离
2. House Consensus 建好,AUM 与经理等权两套都算了
3. **门派识别做完**(同门共识强度 / 距最近门派距离 / 距全公司平均距离),并写入 factions
4. STEP 5 全部小节亲自走完 —— 计算能给你 Divergence 数值,
但 Independent Calls 的因果叙事、Mandate 假独立排除、
Master Book 交叉验证,只能你自己判断
5. Independent Calls ≥ 3 个成功 + 全部失败案例,每张卡给四象限判定
6. Mistake Ledger ≥ 2 个案例,给出错误类型归纳
7. 造神检测 9 项逐条给结论,每条落三级证据制(线索/较强推断/已确认事实)
8. 因子归因假设审过一遍;行业 ETF 对照算完(若行业集中 ≥50%)
9. 写 agent_analysis.json(含四重判决、稀有度双维、到手率)并设 agent_reviewed: true
跳过任一条 = 报告退化成一堆净值统计,这个 Skill 就没有存在意义了。
</HARD-GATE>
五席评审升级为控辩审结构 —— 这是同一件事的正式化:
| 席位 | 负责 | 在控辩审中的角色 |
|---|---|---|
people_investigator | STEP 3 全部 + 花絮边界 | 正方证人 |
independence_forensic | STEP 5 全部,本 Skill 最重席位 | 正方证人 |
alpha_forensic | STEP 2, 6, 7, 11 + ETF 对照 | 正方证人 |
portfolio_detective | STEP 4, 9, 10 + 方向盘 | 反方证人(专找成绩的"非能力来源") |
chief_underwriter | STEP 12 + 裁决 | 裁决者 |
反方不是走形式,是专职找漏洞:风口 / 运气 / 平台 / 单一牛股 / 规模尚小 / 幸存者偏差 / 起点估值便宜。裁决必须:先列冲突和双方证据再选边 · 只使用双方都承认的事实 · 给 buy_now 布尔值 · 四条理由 + 否决项 + 翻案条件 · 区分经理个人/共管/平台/因子/一次性收益。
无 subagent 时按顺序做五轮独立笔记,标 single_agent_fallback: true,置信度不得高于 Medium。
{
"schema_version": "1.0.0",
"agent_reviewed": true,
"single_agent_fallback": false,
"evidence_window": {
"years_available": 8.5,
"confidence": "High",
"career_vs_5y_both_computed": true
},
"tenure": {
"cut_complete": true,
"current_manager": "缪玮彬",
"periods": [{"start": "2017-11-03", "end": null,
"type": "solo", "weight": 1.0}]
},
"independence": {
"house_divergence": 83,
"divergence_breakdown": {"stock": 86, "industry": 72,
"factor": 61, "economic": 79},
"factions": {
"n_clusters": 3,
"factions": [{"name": "消费派", "size": 8}, {"name": "科技派", "size": 5},
{"name": "均衡派", "size": 6}],
"consensus_strength": 42,
"manager_belongs_to": null,
"distance_to_nearest_faction": 0.71,
"distance_to_avg": 0.66,
"verdict": "公司有三个门派,他和谁都不像,是真正的独立决策者"
},
"house_view_aum_weighted": {"白酒": 13.2, "新能源": 1.2},
"house_view_manager_equal": {"白酒": 9.8, "新能源": 2.1},
"aum_vs_equal_note": "AUM 口径的白酒超配主要由单一大基金贡献,经理等权口径下公司共识没那么极端",
"mandate_adjusted": true,
"mandate_note": "该产品为全市场灵活配置,无行业限制,偏离全部计入主动决策",
"master_book_consistent": true,
"master_book_note": "该经理仅管 1 只产品,无法跨产品交叉验证,置信度下调",
"independent_thinking": 88,
"independent_alpha_pa": 4.7,
"alpha_when_divergent": 7.2,
"alpha_when_consensus": 1.3,
"contrarian_hit_rate": 63.6,
"win_avg": 12.4,
"loss_avg": -5.3,
"idea_origination": 91,
"avg_house_lead_quarters": 2.1,
"internal_alpha_leader": true,
"shadow_manager": null,
"two_clocks": {
"manager_clock_12m": 14.0,
"disclosure_clock_12m": 2.0,
"copy_verdict": "他有先手,但抄不到"
},
"calls": [
{"id": 1, "period": "2020Q2", "outcome": "win",
"quadrant": {"correct": true, "made_money": true, "verdict": "真正好决策"},
"house_view": "白酒/消费明显超配",
"manager_action": "白酒低配,新能源超配",
"divergence": 87,
"fwd_12m": {"manager": 56.0, "house": 33.0, "shadow": 28.0},
"independent_alpha": 23.0,
"verdict": "高价值独立判断"},
{"id": 2, "period": "2023Q1", "outcome": "loss",
"quadrant": {"correct": false, "made_money": false, "verdict": "真正错误"},
"house_view": "逐步增配 AI",
"manager_action": "坚持低配科技,继续重仓消费",
"fwd_12m": {"vs_house": -11.2},
"verdict": "独立判断失败"}
],
"company_independence": {
"company_vs_market_divergence": 44,
"note": "公司整体相对全市场偏抱团于消费,经理的独立性是在公司内部,不是相对全市场"
},
"conclusion": "该经理最有价值的时期恰恰是其组合与公司主流观点明显分化的时候。"
},
"manager_dd": {
"archetype": "Macro Allocator / Diversified Small-Cap Selector",
"core_edge": "资产配置 + 小微盘非共识机会 + 高度分散",
"philosophy_fingerprint": ["分散", "逆向", "容量敏感"],
"philosophy_persistence": 88,
"evolution_map": [{"period": "1998-2005",
"role": "固定收益/资产管理",
"gained": "形成宏观与大类资产配置框架"}],
"behavioral_dna": {"独立思考": 92, "逆向能力": 88, "风险纪律": 84,
"择时能力": 86, "选股能力": 79, "Sizing能力": 81,
"卖出能力": 70, "情绪稳定": 85,
"学习能力": 82, "利益一致": 95},
"career_incentive": "Investment-first",
"key_person_risk": "High",
"platform_dependence": "Low-Medium"
},
"star_making_check": {
"red_flags": 0, "amber": 2, "passed": 7, "cv_integrity": "A-",
"items": [
{"key": "甩锅跑路", "verdict": "没问题",
"evidence": "8.5 年 34 个季度变更公告全查,2018/2022/2026 三次下跌期名下产品均未换人",
"scanned": "34 个季度"},
{"key": "蹭业绩", "verdict": "已剔除",
"evidence": "2016-2017 共管 11 个月收益 +23% 常被计入个人战绩,本报告权重计 0",
"scanned": "全部任职记录"},
{"key": "利益冲突", "verdict": "查不全",
"evidence": "关联交易章节未见异常佣金,未见直系亲属在关联券商任职的公开记录",
"note": "公募对亲属关联披露颗粒度有限,只能证明未发现,不能证明不存在"}
]
},
"mistake_ledger": [
{"id": 1, "period": "2026Q2", "decision": "提高权益仓位",
"initial_logic": "判断小盘估值已充分调整",
"what_happened": "小微盘因子急速失效,单季 -12.79% vs 基准 +6.23%",
"manager_action": "Q3 未减仓,继续持有",
"loss": "-12.79%",
"diagnosis": "仓位判断失误叠加 Factor 失效,尚未观察到纠错动作",
"error_correction_grade": "B+"}
],
"alpha": {
"waterfall": {"market": 4.1, "size": 3.0, "value": 1.4,
"microcap": 2.2, "allocation": 1.8,
"selection": 3.1, "timing": 1.0, "residual": 0.6},
"total": 17.2,
"evidence_stars": 4,
"ex_top1_still_positive": true,
"ex_top3_still_positive": true,
"one_off_income_note": "打新贡献约 0.4pp,已从 selection 中剥离"
},
"decision_lab": {"buy": "A", "sell": "B-", "sizing": "A-",
"holding": "A", "timing": "A-",
"typical_weakness": "卖得偏早,历史卖出后 12M 标的平均继续上涨 14%"},
"forward_alpha": {
"historical": 4.9,
"deductions": {"aum": -0.8, "crowding": -0.3, "platform": -0.2,
"trading_cost": -0.4, "regime": -0.5, "decay": -0.7},
"low": 2.0, "high": 4.0, "replicability": 72
},
"verdict": {
"buy_now": true,
"label": "可以买",
"rating": "A-",
"score": 78,
"score_ci": [74, 82],
"conviction": "Medium-High",
"four_verdicts": {
"人": "通过", "产品": "有限通过", "当前": "不宜追涨", "适配": "更适合卫星仓,不适合作为唯一底仓"
},
"rarity": {
"power_tier": "SR", "scarcity": 72,
"scarcity_reason": "全网搜陈述几乎只有基金公告和少量研报,公司未将其作为明星产品推广,持有人以散户小额自购为主",
"final": "SSR", "invest_rating_unaffected": true
},
"suggested_position": "卫星仓,不超过 5%",
"alpha_to_hand": {
"historical_excess": 8.4, "after_sector": 5.9, "after_size": 4.6,
"after_fee": 3.1, "after_behavior": 1.7,
"punchline": "基金五年赚了 68%,但典型持有人可能只赚了 24%。不是经理没赚钱,而是大部分钱都在涨完以后才进来。"
},
"ten_thousand_experience": {
"invest": 100000, "worst_value": 67400, "longest_loss_months": 14,
"longest_to_recover_months": 29, "win_3y": 78, "beat_index_3y": 54,
"punchline": "他能赚钱,但赚钱之前经常先让你亏掉三分之一。拿不住的人,经理再优秀也没有意义。"
},
"etf_trial": {
"industry": "医药", "etf_code": "512010",
"manager_vs_etf_fee_adj": 2.1, "verdict": "他在医药里选股确实比医药 ETF 多赚 2.1%,这笔管理费值。"
},
"why_we_like": ["非共识股票池,House Divergence 83",
"分化期 Alpha +7.2% vs 一致期 +1.3%",
"配置领先公司共识约 2 个季度",
"自购与主动限购显示高度利益一致"],
"why_we_may_be_wrong": ["微盘 Beta 贡献可能被低估",
"小盘流动性风险在极端行情下不可逆",
"Key Person Risk 高,仅管 1 只产品无法交叉验证",
"2026Q2 暴露 Regime 脆弱性且未见纠错"],
"veto_items": [],
"verdict_valid_until": "下一期完整持仓披露后",
"review_triggers": ["AUM > 25亿", "微盘相关性 > 0.9",
"连续4季度 Residual Alpha < 0",
"House Divergence 骤降至 40 以下",
"Manager 离职", "开放大额申购"]
}
}| 触发 | 行为 |
|---|---|
| 默认 | 完整 12 STEP |
/independence | 只跑 STEP 5,输出独立决策取证 |
/manager-only | STEP 1-4 + 8 |
/alpha | STEP 6-7 |
/capacity | STEP 10 容量部分 |
/quick | 骨架分,页面必须标"未经深度取证" |
/compare A vs B | 两经理并列,重点对比 Independent Alpha |
全部落在 .cache/{code}/ 下。都是你自己取数整理出来的,没有脚本会帮你生成。
| 文件 | 内容 | 用途 |
|---|---|---|
identity.json | 基金信息、经理名单、公司产品清单 | 全流程 |
tenure.json | 任期切割结果 | 地基,错了全盘作废 |
changes.json | 经理变更公告逐条 + 当时市场 | 造神检测 |
gates.json | 申购闸门公告分类 + 同门对照 | 闸门时间轴 / 高位圈钱 |
house/hold_{他管产品}_{year}.json | 名下其他产品持仓 | 一车多牌 |
analysis.json 的 ability.yearend/clones/cohorts/holder_flow | 年底冲排名 / 一车多牌 / 开门批次 / 持有人换手 | 对照卡,不进总分 |
holdings.json | 逐季持仓,标清披露口径 | STEP 5-10 |
house_consensus.json | 公司共识组合,两套权重 | 独立性模块地基 |
master_book.json | 该经理全部产品合并 | 跨产品验证 |
attribution.json | 因子归因结果 | STEP 8, 11 |
agent_analysis.json | 你的全部判断 | 渲染报告的唯一输入 |
产出:reports/{code}_{date}/report.html + share-card.png + war-report.png
2026-08 调研 GitHub 开源世界,核心结论:你要做的事,没有人做。
拿这五个词搜 GitHub,≥15 星的仓库全部为 0:
active share holdings 0
fund holdings overlap 0
portfolio crowding 0
herding institutional holdings 0
fund manager skill 0| 盲区 | 为什么 |
|---|---|
| 分析单元是"组合",不是"人" | 没有"这个人还管过别的产品"、"这个决策他以前也做过"、"同期其他人怎么做的"这些概念。你的 Non-Consensus(横截面对照)、Correct(决策归属)、Repeatable(时序模式)全部落在这个单元之外。 |
| 归因是"期间可加分解",不是"事件级归属" | pyfolio 的 perf_attrib 每天独立算因子暴露,把某段收益拆到因子上。但没有"决策"这个概念 —— 识别「2020Q2 低配白酒」→ 锚定在决策时点 → 追踪 12 个月后的相对贡献,这三步现有库都不做。 |
| 没有"对照组"的概念 | 所有库的基准都是指数或另一条净值曲线,没有任何库支持"用同公司其他经理的持仓合成一个基准"。而这正是 House Consensus 的全部内容。 |
| 项目 | 星 | 维护 | 它到底做了什么 |
|---|---|---|---|
| akshare | 21.9k | ✅ | 中国金融数据总入口,本 Skill 的地基 |
| quantstats | 7.5k | ✅ | 净值层统计报表(Sharpe / DD / Calmar 等),无归因 |
| ffn | 2.6k | ✅ | 多条净值并排比较,GroupStats 能出并排表,但只到净值层 |
| pyfolio-reloaded | 604 | 半停 | 唯一做持仓层因子归因的,perf_attrib 可复用 |
| investool | 2.2k | 半停 | Go,做了基金持仓相似度,但是基金间两两比,不是经理间,也没有"公司共识"基准 |
| who-is-the-best-manager | 26 | ✅ | 手工挑选四位经理可溯源对比,Claude Skill 形态,方向最接近你,但不可规模化 |
原版 quantopian/pyfolio 已停更 961 天、166 个未处理 issue,stefan-jansen 那套 -reloaded fork 是现在的事实标准。
Brinson 归因最大的开源实现是 89 星、2020 年停更、还依赖 Wind。没有生产级开源 Brinson。
绝大多数是净值追踪、4433 筛选、收益率排名。搜"基金持仓"出来 15 个仓库,除 investool 外全部 ≤15 星,多为个人记账工具。
天花板不在"净值排名",而在"单期持仓快照展示"。真正没人做的是跨期行为序列 + 相对同公司基准的偏离度 —— 也就是"敢不敢不一样、不一样时对不对"。
只有两块:
perf_attrib 作为"这次超额是 beta 还是 alpha"的过滤器Non-Consensus 的横截面对照、决策事件识别、Repeatable 的模式统计,这三层没有轮子可造重复,必须自己建。
references/step5-independent-alpha.md — House Consensus 构建、Divergence 公式、Mandate 调整、Lead/Lag 算法references/step2-tenure.md — 任期切割与共管折算references/step3-manager-dd.md — 经理尽调方法与证据禁令references/step7-alpha-autopsy.md — 因子模型与 A 股适配参数references/ui-spec.md — 界面规范、黑白双主题、野兽派组件库、全中文标签对照表references/reusable-components.md — 开源库里哪些能复用、哪些不能,为什么不用 Brinsonreferences/step11-forward-alpha.md — 各项折价量化方法references/ui-spec.md — 六 Tab 组件规范与传播卡片references/data-sources.md — 数据源与降级策略references/evidence-protocol.md — 证据分级与推断禁令tenure.json 任期切割完成,前任业绩已剥离house_consensus.json 两套权重口径都已计算factions 门派识别完成,同门共识强度 / 距最近门派距离 / 距全公司平均距离都有agent_analysis.json 存在且 agent_reviewed: true从 STEP 1 开始。这个 Skill 只要证明一件事:
再记住第二件事:
© wbh604, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/fund-manager-alpha of wbh604/fund-guy-skill.
Open the folder on GitHubat commit 15e5619
Fund Manager Alpha next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fund Manager Alpha this skillwbh604/fund-guy-skill | 583 | — | ~13k | Automated safety check: Pass | MIT | |
| Fund Analysis and FOF ScreeningHKUDS/Vibe-Trading | 35k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Alpha Vantage AutomationComposioHQ/awesome-claude-skills | 77k | 3 repos | ~753 | Automated safety check: Pass | None | |
| Perpetual Funding and Basis TradingHKUDS/Vibe-Trading | 35k | — | ~2.7k | Automated safety check: Pass | MIT | |
| Wolfram Alpha API AutomationComposioHQ/awesome-claude-skills | 77k | 3 repos | ~768 | Automated safety check: Pass | None | |
| Alpha Vantagesickn33/agentic-awesome-skills | 47k | 2 repos | ~1.3k | Automated safety check: Pass | MIT |
HKUDS/Vibe-Trading
Evaluates mutual funds, private funds and ETFs by return, risk and risk-adjusted metrics, style box and drift, and manager quality, then builds FOF portfolios; Chinese text.
ComposioHQ/awesome-claude-skills
Automate Alpha Vantage tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.
HKUDS/Vibe-Trading
Analyzes perpetual futures funding rates and spot-futures basis to find carry trades, crowded positioning and sentiment signals, including funding arbitrage between exchanges.
ComposioHQ/awesome-claude-skills
Automate Wolfram Alpha API tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.
sickn33/agentic-awesome-skills
Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators.
HKUDS/Vibe-Trading
Browses prebuilt cross-sectional factor libraries (Kakushadze 101, GTJA 191, Qlib 158, Fama-French and Carhart) and benchmarks whole libraries with IC and IR over a stock universe.
wbh604/fund-guy-skill
基金经理深度行为审计引擎。逐笔买卖验尸(拿12个月后走势验对错)、独立决策取证(同门/全市场/热榜三把尺子)、K线战役回放、抄作业指数、被动减仓判定、造神检测、闸门时间轴、年底冲排名、一车多牌、开门批次,产出单文件交互 HTML 报告。当用户要求分析某只基金或基金经理、判断能不能买、经理水平如何、独立性如何、Alpha…
基金经理独立决策能力尽调。以基金经理为主角,基金作为其长期行为记录,核心回答"他和公司主流观点不一样的时候,有没有反复证明自己是对的"。当用户要求分析某只基金、某个基金经理、判断能不能买、经理能力如何、独立性如何、Alpha 是真本事还是运气时触发。产出 Independent Decision Alpha 取证 + Manager Profile + Alpha 尸检 + IC 结论 +…. Fund Manager Alpha is an agent skill from wbh604/fund-guy-skill.
Run `npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a claude-code`. Or copy the skill folder (skills/fund-manager-alpha in wbh604/fund-guy-skill) into .claude/skills/fund-manager-alpha in your project. Claude Code loads it when a task matches its description.
Run `npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a codex`. Or copy the skill folder (skills/fund-manager-alpha in wbh604/fund-guy-skill) into .agents/skills/fund-manager-alpha in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wbh604/fund-guy-skill --skill fund-manager-alpha -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fund-manager-alpha, .gemini/skills/fund-manager-alpha, .github/skills/fund-manager-alpha and .opencode/skills/fund-manager-alpha in your project.
SKILL.md names no scripts, command-line tools or credentials: Fund Manager Alpha is instructions for the agent only.
SKILL.md names 2 domains. In commands or code: fund.eastmoney.com and api.fund.eastmoney.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Fund Manager Alpha is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 13k tokens (SKILL.md is roughly 52k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Fund Manager Alpha: Fund Analysis and FOF Screening (HKUDS/Vibe-Trading, 35k stars), Alpha Vantage Automation (ComposioHQ/awesome-claude-skills, 77k stars), Perpetual Funding and Basis Trading (HKUDS/Vibe-Trading, 35k stars) and Wolfram Alpha API Automation (ComposioHQ/awesome-claude-skills, 77k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
wbh604 (a GitHub user) maintains it in wbh604/fund-guy-skill, which has 583 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 3, 2026.
Source: wbh604/fund-guy-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.