SuperAPI AI Directory

fund-manager-alpha

Data & analytics

View repository

Updated 10-16 08:54

About this skill

Fund Manager Alpha · Fund Manager Independent Decision Due Diligence

Not looking for "the best fund," but forpeople who truly have independent judgment ability, and this ability can be verified and repeated。

What this is for

"Everyone got baijiu right, and he also bought baijiu and made money" and "everyone was in baijiu, but he independently discovered another track and continuously created Alpha" — when evaluating a person's investment ability, these are not the same thing.

This Skill does only one thing: separate these two kinds of people.

Four basic judgments (product philosophy)

  1. The protagonist is the fund manager, but what the user actually buys is a certain product.
  2. A great manager ≠ this fund is worth buying; the fund is worth buying ≠ it is suitable to buy now; it is suitable to buy now ≠ you can hold it.
  3. Fund return rate ≠ fund investor return rate.
  4. Rare does not equal high quality, unpopular does not equal cheap, institutional holding does not equal endorsement.

Ordinary person's realized Alpha formula

This is the core formula of the entire product for individual investors:

普通人到手 Alpha
= 经理真实 Alpha × 产品传导率
- 规模与拥挤损耗
- 费率与交易成本
- 追涨杀跌损耗

We not only judge whether this manager has Alpha, but also judge whether this Alpha can, through this fund, truly land in an ordinary person's account.

One-sentence product positioning

Good fund performance ≠ fund investors make money. This product must calculate clearly: exactly how much leaks out in between.

Core formula

Non-Consensus  +  Correct  +  Repeatable  =  独立决策 Alpha

Three conditions are indispensable:

  • Only Non-Consensus = very opinionated, but the opinions have no value, possibly just messing around
  • Has Non-Consensus + Correct but not Repeatable = luck
  • All three present = independent-type Alpha manager, this is the person worth entrusting money to

Therefore Independent Thinking and Independent Alpha must be scored separately, and must never be merged into a single "independence score of 82."

Independent Thinking Independent Alpha Judgment
Manager A 95 20 Very opinionated, but the opinions have little value
Manager B 88 91 Independent-type Alpha manager

Hard rules (stop if violated)

  1. Tenure segmentation must be done first. Mixing predecessor performance into evaluation of the current manager = analysis invalid.
  2. It is forbidden to treat Beta as Alpha. Size / Value / Microcap Beta must be stripped out first.
  3. It is forbidden to directly treat "different from the company" as ability. First deduct the false independence caused by Product Mandate (see STEP 5.4), then verify whether it makes money.
  4. Failed independent judgments must all be recorded. Picking only the winners = the entire report loses credibility.
  5. Minimum evidence window 5 years. Less than 5 years does not mean it cannot be evaluated, but Evidence Confidence must be lowered and strong conclusions about Alpha stability are forbidden.
  6. Forward Alpha must not be extrapolated from history, and must be deducted item by item.
  7. Reports must not contain vague rhetoric. Failure occurs upon the appearance of "excellent performance / worth watching / long-term bullish / overall / on one hand, on the other hand".
  8. No pseudo-precision. If it cannot be calculated, write "no reliable public information found"; do not use +4.73% to disguise an estimate.
  9. The average does not equal consensus. First prove that a unified view of the company exists (school identification), then discuss deviation. The company may inherently be split into multiple schools; that he belongs to one school ≠ independent.
  10. Products co-managed by the target manager must not leak into House Consensus; no matter how many clone products the same manager manages, the manager is counted equally as only one vote.
  11. The same piece of evidence can enter only one main scoring module, and at most can serve as a correction term for another module; it must not be fully scored repeatedly across multiple modules.
  12. Insufficient evidence is marked U (unidentified) and is not directly downgraded to a poor manager. Treating "cannot be clarified" as "poor ability" is a misjudgment.
  13. Rarity must not change the investment rating. SSR is only a dissemination label and cannot in turn raise investment judgment. Institutions/national teams/insurance funds are only used as factual badges, not as endorsements of ability.
  14. "No negatives found" must not add points; low-confidence reports must not use an absolute stamp like "can buy" and should use "can be included as a candidate / pending verification".
  15. Selling too early/avoiding declines only counts active liquidation. If only part is reduced and the bulk remains, he shares in the subsequent rises and falls; recording "sold too early +286%" for him is unjust; passive reductions (triggering the 10% line / suffering redemptions) are not decisions and are likewise excluded. Sell-point autopsy samples = active liquidation events, only this one type.
  16. Every bare number must have a subject and a specification. "20 vs 12" is incomprehensible; "after the stocks in hand fell below cost, out of 32 actions, 20 were cut and 12 bought more as they fell" is human language. Regression coefficients (γ/t/R²/n) can only go into small-print parentheses; the main text must first give the plain-language conclusion. Intuitiveness is the highest principle.
  17. The gate timeline is a comparison card and does not enter the behavior total score. Public funds almost never truly close; gates = suspension of subscriptions / suspension of large subscriptions / limits cut sharply from large to small / cancellation of purchase restrictions. Three types of false signals must first be excluded: ① company-wide purchase restrictions on the same day (use same-house comparison) ② forced purchase restrictions from triggering the 10% dual-ten line ③ survival purchase restrictions in a bear market when shares shrink sharply. The comparison object must include his style index, not only the CSI 300; use the most recent 3 years for percentiles, ≥80% high, ≤20% low. The autopsy method is the same as for buy and sell points: index and this fund's rise and fall 12 months after the gate. Timeline overlap is a confirmed fact; "he has a conscience" can at most be written as a strong inference.
  18. Year-end ranking push / one car, many plates / opening batches are comparison cards and do not enter the behavior total score. Q1/Q3 have only the top ten holdings; it is forbidden to compare the number of holdings with Q4; the first year of establishment is excluded as a position-building year. Net shares ≠ subscriptions; net shrinkage cannot be written as opening the door to collect money, nor as nobody buying. When locked-period shares do not move, changes in institutional proportion are on-exchange turnover. Overlap in the top ten holdings of products under his name is a confirmed fact; "name-lending star" can at most be a strong inference.

Evidence window and confidence level

Professional mode defaults to minimum research window = 5 years. If there are 10 years or 15 years, of course take them all, but the core score mustdisplay both Career and Recent 5Y sets of:

indicators 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

The two sets side by side can directly expose one thing:whether the manager's ability declined after he got older.

Evidence Confidence grading

Available history Confidence Permitted conclusion strength
≥ 5 years 🟢 High Can draw conclusions about Alpha stability
3-5 years 🟡 Medium Can evaluate methods; Alpha conclusions must be qualified
1-3 years 🟠 Low Evaluate behavior only; extrapolation prohibited
< 1 year 🔴 Insufficient Profile only; no scoring

Emerging manager:use as much history as is available, but never use a veteran manager's history to endorse a newcomer.

Five-year evidence package

"Five years of data" does not equal "five-year returns." The professional edition must assemble:

Data Minimum amount Purpose
Daily/weekly NAV 5 years Alpha, Beta, Tracking Error, drawdown, Regime
Quarterly holdings (Top10) ≥ 20 periods House Divergence, crowding, trading behavior, Idea Origination
Full holdings from semi-annual/annual reports ≥ 10 periods Ability to uncover niche stocks (quarterly reports only show the top ten, so this cannot be seen)
Fund size and shares 5 years Subscriptions/redemptions, Capacity
All products' holdings of the company 5 years The foundation of House Consensus; without it the entire independence module is invalid

For any item that cannot be assembled, explicitly state the gap in the report; do not silently downgrade.

Progress bar

[██░░░░░░░░░░░░░░░░░░] 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 结论 + 报告 ✓

Twelve-step process

STEP 1 · Identity identification

The entry point may be a fund name ("analyze Xingquan Heyi") or a manager name ("analyze Miao Weibin"); both are normalized to the same object.

Must lock down: fund full name/code/share class/type/benchmark/inception date · current manager and co-managers · current management tenure · the full list of products managed by that manager(needed for STEP 5.5 Master Book) · the full list of all active equity products of the fund company (needed for STEP 5.1 House Consensus).

⚠️ For a manager entry point, choose the fund with the longest management time and largest size as the main target, and use the rest as behavioral evidence. ⚠️ Index, index-enhanced, systematic quantitative, and fixed-rule products must not have personal Alpha attribution applied, state this directly and exit.

STEP 2 · Tenure segmentation

The foundation of the entire analysis.

2015-01 ~ 2017-06   前任 A            权重 0     标"历史遗产"
2017-07 ~ 2019-03   现任 + A 共管      权重 0.5   单列,不算个人全额
2019-04 ~ 现在      现任独管          权重 1.0   核心评价区间

All subsequent returns, Alpha, drawdown, turnover, and independenceuse only the solo-management period + converted co-management period。

STEP 3 · Fund manager personal due diligence

Constitutes the main body of the Manager/People module. Divided into two layers:

First layer · Personal anecdotes(weight 0, only enhances readability): educational background, public interests, interview style. It is prohibited to infer investment ability or ethics from place of origin, marriage, appearance, or interview tone. If there is no A/B-level public source, write "no reliable public information found."

Second layer · Professional due diligence(participates in scoring):

Item Question to answer
Career path How did he become today's manager step by step?
Formation of circle of competence Which experiences formed which industry/method advantages?
Investment philosophy Truly believe in value/growth/cycle/contrarian/allocation?
Cognitive style Industry/financials/macro/quant/trading—which dominates?
Decision mechanism How does a stock go from discovery to a heavy position and exit?
Risk personality After a loss, add, stop out, switch, or tough it out?
Conviction Does he truly dare to take a heavy position in his most favored stock and hold it?
Error handling How long after a wrong judgment does he admit it? How does he exit?
Learning ability Is the framework evolving reasonably or chasing hot themes?
Emotional stability Does behavior become abnormal under extreme market conditions? (Look only at holdings, not tone.)
Integrity and consistency Do words and actions match?
Alignment of interests Are self-purchases, purchase limits, and launching new funds aligned with holders?
Cognitive boundaries Does he know what not to do? Is there a learning process in new areas?
Platform dependence How much ability remains after leaving the current platform?
Key Person Risk Is the product essentially this person?

3.1 Manager Evolution Map

Do not list his résumé; write "how the market trained and corrected him":

2008-2012  卖方机械研究员      → 建立制造业产业链研究方法
2012-2015  买方研究员,高端制造 → 形成产业景气周期理解
2015-2019  基金经理早期,高集中度 → 经历 2018 大幅回撤
2019-      降低单股集中度      → 加强估值纪律

3.2 Philosophy Fingerprint + Persistence

From quarterly reports, interviews, holdingsReverse-engineeringPhilosophical fingerprint, then check consistency across periods: the 2018 him, the 2022 him, the 2026 him—are they the same person?

Consistent → high Persistence. Changing a whole approach every two years → high risk.

3.3 Behavioral DNA

Do not rely on what the manager says; infer from historical trades. The personality revealed by where the money voted.

Probe Calculation
Probability of adding after a 20% decline Distribution of add/reduce direction in the next quarter after a held stock draws down 20%
Behavior after a 50% rise Distribution of continue holding / add / reduce
Time taken to admit mistakes Median number of quarters from thesis break → liquidation
Concentration during major declines In quarters when the market falls >15%, does Top10 share rise or fall?

Output a 10-dimension radar (0–100): independent thinking / contrarian ability / risk discipline / timing ability / stock selection ability / sizing ability / selling ability / emotional stability / learning ability / alignment of interests.

3.4 Mistake Ledger (required, cannot be empty)

Any manager with more than 3 years of management has made mistakes; if you cannot find any, you did not look.

Case #N  {时间} {标的或决策}
初始逻辑:  当时为什么买
后来发生:  逻辑如何被破坏
经理行为:  Q1 加仓 → Q2 继续加仓 → Q3 才减仓
最终损失:  -42%
诊断:      确认偏误明显 / Error Correction 强

Aggregate Error Correction Score。

3.5 Career Incentive Profile

Look at actual business decisions—far more reliable than interviews: roadshow frequency / launching new products / taking over funds / proactively reducing products / seeking administrative positions / launching funds at highs / proactively limiting purchases.

Determine Investment-first / AUM-first / Career-first。

3.6 God-making detection (9 items, give a conclusion for each)

Many managers' "myths" come about this way: dump the money-losing products on newcomers and show you only the profitable one. This section specifically checks whether that beautiful curve was "engineered."

The main evidence is manager change announcements (ak.fund_announcement_personnel_em), and you need to pull together all change records for all of that manager's products and all quarters, then compare them against market rises and falls at the time.

Automated clue: title contains "additional appointment" and the successor has < 2 years of experience + the fund drew down > 15% that quarter = precursor to blame-shifting, enters red-flag candidates. This rule can filter out 70% of the noise; manually verify the full announcement text and the successor's résumé for the rest.

Three-tier evidence system (hard rules)

"Passing the buck / cherry-picking / hiding the bodies" — these terms are highly viral, but the main text must be rigorous. The conclusion for each item must fall into one of three levels:

Level Meaning Wording
Clue Automated rule hit, requires further investigation "There is a suspicion of responsibility transfer, requiring manual verification"
Strong inference Multiple pieces of public evidence are consistent, but subjective motive cannot be confirmed "The timing of this change highly coincides with a significant decline in the product, raising suspicion of responsibility transfer; subjective motive cannot be confirmed based on public information alone"
Confirmed fact Announcements, product history, and timeline can directly prove it "After the product fell 31% in 2022, a manager with less than two years of experience was newly hired, and the original manager exited three months later"

Entertainment headlines can be harsh; the evidence body text must be restrained. For example, "after the product fell 31% in 2022, a newcomer was newly hired and the original manager exited three months later" isconfirmed fact; but "the original manager did it to pass the buck" is a motive judgment, and without more evidence it can only be written asstrong inference。

Item What to check How to judge Degree of automation
Passing the buck and running away Transferring a losing product to a newcomer during a decline A manager change occurs in a quarter with a drawdown >15%, and the successor has less than 2 years of experience → red flag 🟢 Headline "newly hired" + drawdown data can be automatically screened
Cherry-picking Taking over only after others have produced performance At the time of takeover, the product already had significant positive excess return, and excess return decayed after takeover → red flag 🟡 Requires comparing performance before and after takeover
Hiding the bodies Failed products are liquidated and hidden away Official website résumé vs regulatory filing does not match, or liquidated products do not appear in the résumé → red flag 🟡 Requires cross-verification of two data sources
Riding on performance Joint management under one's name is counted as personal track record Returns during joint management are promoted as personal performance → strip out and label 🟢 Announcements clearly distinguish joint management/sole management
Raising money at highs Aggressively launching new funds when the market is good, or reopening subscriptions at highs New products or large subscriptions opened during high market/style valuation periods → red flag. Must also overlay "was the gate closed after fundraising finished?" 🟡 Requires judging the valuation percentile at the time + reading the gate announcement
Year-end ranking push Making a year-end gamble for ranking Q4 position or exposure to hot sectors is significantly higher than in other quarters → red flag. False signal: Q1/Q3 only have top ten holdings, so comparing the number of holdings is prohibited; the first year of establishment is treated as the position-building year and excluded. For reference card, not included in total score 🟢 Q4 vs non-Q4 concentration/turnover rate/quarterly return can be automatically calculated
Fake persona What is said does not match what is actually bought Quarterly report statements contradict holdings → red flag 🔴 Requires reading text paragraphs
Switching the ruler Quietly changing the benchmark Contract benchmark change, or promotional benchmark inconsistent with the contract → red flag 🟡 Need to compare different versions of the recruitment prospectus
Conflicts of interest Relatives involved in affiliated institutions Abnormal commissions in the related-party transactions section / immediate family members working at affiliated brokerages / holding heavily weighted stocks 🔴 Limited disclosure, cannot be fully checked

Regarding the boundary of the last item (This is a hard rule):

Only checkRelated parties and conflicts of interest — whether relatives work at affiliated institutions, whether they hold heavily weighted stocks of this fund, and whether commission allocation is abnormal. These have public sources (the related-party transactions section of periodic reports, company announcements), and they genuinely affect investment judgment.

Do not collectPrivate biographical information such as spouse's name, occupation, and education. A spouse is a private individual without a public identity; such information can neither be found in reliable public records nor has investment meaning — knowing that "the wife teaches at a certain middle school" will not change any position decision.

When the disclosure granularity is insufficient, one can only write "not found,"cannot write "does not exist"。

Output: number of red flags / number requiring attention / number passing + résumé authenticity rating.If any red flag holds, it must be listed as a veto candidate in the IC conclusion.

The script will automatically provide nine conclusions based on this product's tenure, JJGG titles, sector exposure, gate percentiles, and the list of products under the name, with each item falling under the three-tier evidence system. The original quarterly report text, relatives' employment, the full recruitment prospectus, and the successor's years of experience are still marked as not obtained and cannot be written as "does not exist." Motive judgment can at most be a strong inference.

STEP 4 · Historical behavior reconstruction

Reconstruct holdings, position levels, sectors, individual stocks, buys and sells and position increases and decreases, concentration, and turnover quarter by quarter.

⚠️ Quarterly reports only disclose the Top10; only semi-annual/annual reports have full holdings.Must indicate the disclosure basis, do not treat the Top10 as full holdings when calculating concentration. ⚠️ Disappearance from the top ten ≠ selling; it can only be recorded as "exited the top ten."


STEP 5 · Independent Decision Alpha ★ Core module

This is the most important step and carries the highest score in the manager rating.

Simply "being different from the company" is not called ability. This step must be fully completed through Non-Consensus → Correct → Repeatable three-stage verification.

5.1 Construct the House Consensus Portfolio

Aggregate the holdings of all active equity funds of the fund company,by quarterinto the company consensus portfolio.

Example 2020Q4:

Sector Company average active weight
Baijiu +13.2%
Food and beverage +8.1%
Pharmaceuticals +4.8%
New energy +1.2%
Semiconductors -0.7%

→ This company's House View at the time was essentially consumer/Baijiu.

Now look at the target manager in the same period:

Sector Manager active weight
Baijiu -8.1%
Food and beverage -4.2%
Pharmaceuticals +1.3%
New energy +9.4%
Semiconductors +6.8%

→ At the time, he was indeed running counter to the company's mainstream direction.

Four steps for constructing the control group (hard rule, the order cannot be changed)

  1. Take all company products: currently serving (manager-product mapping) + announcements to backfill products of historically departed managers. If not all can be obtained, mark the control group coverage rate in the report
  2. Exclude products managed by the target manager(including co-managed ones), otherwise his holdings leak into the control group
  3. Exclude debt-like products and mini positions: type filtering (bond-biased hybrid/balanced hybrid) is not enough — set a threshold based on the sum of disclosed weights (top ten total <8% is treated as debt-like/empty position, exclude), judged dynamically each quarter
  4. First normalize each fund to 100, then equally weight and average: comparing the weights of a flexible allocation fund with a 30% equity position and an equity-biased fund with 90% directly, the divergence will be contaminated by the position level — it must first be converted to the same fully invested basis

Divergence that violates 3/4 is a systematically inflated false number; better not to calculate it. When the agent retrieves data, make the greatest effort to get it all (API → browser → user login), use whatever is obtained, butthe control group count, coverage, and what was excluded must be written in the report。

Two sets of weights must be calculated at the same time

Basis Meaning
AUM Weighted House View Large funds carry more weight
Manager Equal-Weighted House View One vote per fund manager

Why two sets are necessary: Suppose one person manages 80 billion and the other 20 people together manage 50 billion. Based only on AUM, the "company consensus" is actually just that one person's personal view.

The two sets must be able to answer: is it a few star managers' large capital that formed thesurface consensus, or have most of the company's managers really formed acommon view?

5.1.1 School identification — average does not equal consensus (hard rule)

The two bases, AUM/equal weight, solve "large funds hijacking the average," but they have not yet solved a more hidden problem:a company may have no unified view at all, but instead have multiple schools.

例:公司一半经理重仓消费,另一半重仓科技
平均以后 → 消费 50% + 科技 50%(看着像"均衡共识")
目标经理重仓科技 → 与平均组合差异很大
但公司里实际有一半人跟他站在一起
→ 他不是孤狼,只是属于公司里的科技派

Therefore, before calculating Independent Thinking, three indicators must first be calculated:

New indicator What question it answers
Same-school consensus strength Does this company actually have a unified opinion
Distance to nearest school How different he is from the group of colleagues most similar to him
Distance to company-wide average How different he is from the surface average portfolio

Correct determination:

Scenario Determination
Company consensus is very strong + he clearly deviates Truly anti-consensus
The company is inherently split internally + he belongs to one of the factions Faction member, not a lone wolf
He is different from all major factions Truly independent

Algorithm: For each quarter, cluster the company managers' holdings by industry vector (e.g., Agglomerative / KMeans, with the optimal number of clusters determined by silhouette). Take the largest cluster as the "main school" and calculate:

  • Average pairwise similarity within the main school = same-school consensus strength
  • Distance from the manager to the nearest school centroid = distance to nearest school
  • Distance from the manager to the company-wide average portfolio = distance to company-wide average

Two accompanying hard rules:

  • The same manager managing ten clone-type products counts as only one vote (merge before equal-weighting managers)
  • Any product in which the target manager participates in co-management must not enter House Consensus — otherwise his holdings will leak back into the control group

Make the front end into a "Company School Map": 8 people in the Consumption faction / 5 in the Technology faction / 6 in the Balanced faction / which one the target manager belongs to. One-line verdict:

He is not going against the company; rather, there has always been a Technology faction inside the company. Or: The company has three factions, and he resembles none of them—he is a truly independent decision-maker.

5.2 House Divergence Score

Compare the manager's portfolio vs the company consensus portfolio, calculating deviation on each of five dimensions:

Dimension Description
Stock level Overlap and active weight difference
Industry level Industry active weight difference
Style Factor level Differences in size/value-growth/quality/momentum exposure
Economic driver level Whether different industries are exposed to the same economic driver (anti-fake diversification)
A/H market level Market allocation difference
个股偏离 86 · 行业偏离 72 · Factor 偏离 61 · 经济暴露偏离 79
→ House Divergence Score  78/100

5.3 Contrarian Alpha — Did it actually make money after divergence?

High Divergence is not a skill; only making money after divergence is.

Take at least the past 5 years (≥20 quarters), group by House Divergence, and calculate future 6M / 12M / 24M performance relative to four benchmarks: the contractual Benchmark, peer funds,Shadow Benchmark、the company House Portfolio。

Adaptive horizon (hard rule)

You cannot use only a fixed future 12 months — that would unfairly penalize two types of managers:

  • High-turnover managers: holdings have already changed after three months, so 12-month returns no longer correspond to the original decision
  • Long-horizon managers: industry judgments need two to three years to play out; 12 months may only be "right early but losing first"

Must calculate simultaneously:

  • Next 6 months
  • Next 12 months
  • Next 24 months
  • An adaptive horizon matched to the manager's historical median holding period

The front end does not display four sets of numbers, only one plain-language sentence:

He is usually not right immediately; it takes 12–18 months to pay off. Or: His independent decisions often lose in the first three months, but the win rate rises markedly after a year.

高 Divergence 季度 → 未来 12M Factor-adjusted Alpha  +6.8%
低 Divergence 季度 → 未来 12M Factor-adjusted Alpha  +1.2%

→ This manager's greatest Alpha comes precisely from the times he dares to differ from everyone else at the company. This is extremely strong Manager Evidence.

Conversely, if high-Divergence periods are actually worse, the conclusion is equally important:His independence is a negative asset.

Two clocks + copy-the-homework index (individual investors' favorite)

Clock Starting point What question it answers
Manager clock The point when the manager actually built the position or publicly disclosed holdings Does he himself have first-mover ability?
Ordinary person clock The day the quarterly or semiannual report is actually made public After an ordinary person sees it and copies the homework, is there still any return?

The front end creates a component copy-the-homework index:

经理自己做:未来 12 个月超额 +14%
等季报披露后再跟:未来 12 个月超额 +2%
→ 他有先手,但抄不到

Another manager might be:

经理自己做:+9%
披露后跟随:+7%
→ 他的判断兑现慢,季报仍有参考价值

This is a question individual investors care about especially, yet the vast majority of fund research does not answer it at all.

The retention rate must be given a verdict (hard rule) — the copy-the-homework index is not a fun number; it directly identifies "how much the timing first-mover value is worth":

Excess return retention rate Verdict Meaning
≥70% Homework can be copied His skill lies in "what to choose," not "when to buy"; this corroborates stock-level timing separately; in theory, following the quarterly reports and copying him yourself would save the management fee
40-70% Semi-copyable First-mover advantage has value but is not fatal
<40% Has first-mover advantage, cannot be copied Timing/trading is part of its Alpha; to capture returns, you can only buy the fund

An honest reminder must be included: copying the homework gets you the buy orders,but not the sell points and position adjustments; by the time you see the quarterly report, he has already finished building his position in newly entered small caps. If his selling ability itself is a weakness, then the loss from "cannot copy the sell points" is limited — the two modules must reference each other.For every manager, returns must be calculated twice: once from the manager's time point, and once from the disclosure time point.

Correct judgment vs. ultimately making money — split into four quadrants (hard rule)

"Correct judgment" and "ultimately making money" must be separated to prevent outcome bias:

Whether the judgment is correct Whether money is ultimately made Verdict
Right Made money Truly good decision
Right No money made Bought too expensive, too early, or execution problems
Wrong Made money Luck, cannot be counted as ability
Wrong Lost money Truly wrong
例1:经理判断某行业利润即将下滑,基本面确实下滑,但股票因估值扩张继续上涨。
→ 方向判断对了,但卖得太早,执行能力拖累了基本面判断。

例2:公司业绩持续恶化,但因市场主题炒作上涨,经理赚了钱。
→ 这场仗赚钱了,但原始判断并未得到基本面验证,属于结果好、决策未必好。

Every campaign card must give a four-quadrant verdict, not just "win/loss." This upgrades campaign cards from "looking at gains and losses after the fact" to a true decision-quality analysis.

5.4 ⚠️ Product Mandate-induced false independence must be ruled out first

This step is the most prone to failure.

The whole company buys baijiu, but what he manages is atechnology-themed fund — of course he cannot overweight baijiu. This cannot count as independence 100.

First control the following constraints; onlyactive deviations within the contractually permitted scopecount as independent decisions:

  • Product industry restrictions / thematic fund constraints
  • Contract Benchmark
  • Stock scope (A/H, Stock Connect, Shanghai/Shenzhen)
  • Large-cap/small-cap positioning
  • Position upper and lower limits

Method: construct Mandate-Adjusted House Consensus — use products of the same mandate and same category (not the whole company) as the comparison benchmark, then calculate Divergence.

5.5 Manager Master Book — cross-product verification

Cannot look only at a single product.

张三: A 基金买半导体 · B 基金买半导体 · C 基金也买半导体
   → 这是经理本人的观点  ✅

张三: 只有那只科技主题基金买半导体
   → 很可能是 Mandate 造成  ⚠️

Merge all of that manager'sall productsinto a Master Book, and identifyActive Bets that repeatedly appear across products. Only deviations consistent across products are strong evidence of personal views.

5.6 Independent Calls campaign file (record both wins and losses)

Success case format

Independent Call #1 · 2020Q2
House View:  白酒/消费明显超配
该经理:      白酒明显低配,新能源明显超配
行业配置偏离: 87/100
之后 12 个月: 经理 +56% | House Portfolio +33% | Shadow Benchmark +28%
Independent Alpha: +23% vs House
判定: 🟢 高价值独立判断

Failure cases must be recorded with equal length

Failed Independent Call · 2023Q1
House View:  逐步增配 AI
该经理:      坚持低配科技,继续重仓消费
之后 12 个月: 相对 House -11.2%
判定: ❌ 独立判断失败

Writing up only the winners = the entire report loses credibility. This is hard rule #4.

Summarize Contrarian Hit Rate and odds

过去 5 年重大独立判断: 11 次
成功 7 · 失败 4
Hit Rate  63.6%

成功平均  +12.4%
失败平均   -5.3%
→ 胜率不离谱,但赔率很好

Odds are more important than win rate, and must be displayed on the same screen; do not give only the Hit Rate.

5.6.1 Historical Situation Timeline — collected by the agent itself

Campaigns cannot be discussed in a vacuum. Behind every buy and sell action there was the market situation at the time, and the agent mustsearch and verify on its ownA historical event timeline aligned with the analysis window, used for: battle replay subtitles, battle card backgrounds, and behavioral attribution of "what he did under X circumstances".

Collect five categories of events

Type Example Main source Scope
Macro macro Trade war begins / pandemic outbreak and lockdown / Russia-Ukraine war / reciprocal tariffs News search (headline + date verifiable) Global
Market market Crowded-trade stocks peak / US stock circuit breaker / AI rally ignites / micro-cap liquidity crisis / 924 policy surge News search + index movements back-inferred (automatically flagged for single-day ±5%) Global
Fund itself fund Sold out in one day and trending on hot search / subscription cap begins / manager change announcement / abnormal scale change / trending on hot search and criticized Fund announcements + news search Global
Industry industry Solar 531 new policy / volume-based procurement / Entity List affecting semiconductors / platform antitrust / lithium carbonate crash Policy documents + industry associations + news search With codes, only displayed when replaying the corresponding heavy-weight stock
Company company SMIC STAR Market listing / added to Entity List / Kirin battery launch / WuXi added to UVL / Kuaishou listing Company announcements + news search With codes, only displayed when replaying that stock

Industry/company events are collected stock by stock according to heavy-weight holdings:agent searches for major industry policies and company events within each stock's holding window for every stock entering the buy/sell review (1-4 items per stock). Events are written to the codes array to mark applicable stocks, and filtered by the current stock during replay.

Hard rules

  • Each event must have an exact date (at least to the month) and be publicly traceable— supported by news headlines, announcement numbers, or market data. Any rumor whose source cannot be found is not included
  • Density: 2-6 items per year, better to have fewer than to pad. Filler like "some index rose" does not count as an event
  • Events and actionsDo not force causality: subtitles only state "what happened at this time + what he did"; whether they are related is left to the reader; only with actual evidence (mentioned in the original quarterly report) may it be marked "he responded to this matter in the quarterly report"
  • Fund-specific events have the highest priority—trending on hot search, blockbuster launch, subscription cap, being redeemed; these directly affect subscriptions/redemptions and manager behavior
  • Output format:events.json, field date / title / kind(macro|market|fund) / source_hint
  • kind=fund is automatically generated by the script for this product(inception, manager change, scale peak, max drawdown start and end, underwater end, gate);kind=market is automatically marked using CSI 300 single-day rise/fall ≥5%(do not fabricate news headlines). Existing industry/macro/company entries are retained if they fall within this fund's holding window; copying the Heyi handwritten timeline to other tickers is prohibited

Frontend usage (battle replay)

Add a ▶ replay to the trade review panel: the K-line grows week by week from the window's starting point, and when it advances to an event date, a news caption pops up (macro in red / market in yellow / fund in purple); when it advances to a buy/sell point, an action prompt pops up ("📌 At this point he liquidated LONGi"). Let the user watch with their own eyes "what he was doing the week the trade war started."

5.7 Idea Origination — Lead / Lag Analysis

There is another kind of manager who is even more impressive: it's not "the whole company buys baijiu but he buys semiconductors," but rather "he buys semiconductors first, and half a year later the whole company follows". This means he may be the company's source of Alpha.

For each important industry/stock, record the time the manager first significantly overweighted it vs. the time other managers at the company began significantly increasing their allocation:

2020Q1  张三开始重仓半导体
2020Q2  公司仅 2 名其他经理开始买
2020Q3  公司 9 名经理开始买
2020Q4  成为公司主要重仓方向
→ 平均领先 House Consensus 约 2-3 个季度
→ Idea Origination Score: 94

Three-tier classification:Idea Generator(leading) / 平台共创(in sync) / Idea Consumer(lagging).

This score directly determines "how much he is still worth after leaving this platform"。

5.8 Internal Alpha Leader — Company Internal Influence Map

If he was the earliest to enter many important industries and other managers gradually followed:

        张三
     ↙   ↓   ↘
   李四  王五  赵六
    ↓         ↓
   ...       ...

He is Internal Alpha Leader, even if he is not the investment director.This is more meaningful than the title itself.

The reverse should also be checked for shadow managers: whether the portfolio has long followed another core manager (high overlap with a 1-2 quarter lag).

5.9 Module Output

The homepage displays seven numbers:

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%

Add an automatic conclusion, for example:

The manager's most valuable period is precisely when his portfolio clearly diverges from the company's mainstream view. Over the past five years, 7 of 11 major non-consensus allocations created significant positive excess returns, and allocations in multiple core industries led the company consensus by about 2 quarters, making him a relatively strong independent Idea Generator.

5.10 Independence at the Fund Company Level

Move the same methodology up one level:Is this fund company independent relative to the entire public fund market?

  • The degree of deviation between the company's overall holdings and all public fund holdings
  • Whether the company has long huddled in a few tracks
  • Whether the company makes money after overall Divergence
  • Whether the company is a leader or a follower in industry style

Use: distinguish "the manager is independent" from "the whole company is running naked". If the manager is independent relative to the company, but the company is highly huddled relative to the market, then his "independence" may just be changing lanes within a crowded track.

5.10.1 Synchronization with This Year's Hot List (Required)

Pull the top 10 active funds by this year's return across the whole market (Eastmoney open-end ranking by "Year-to-Date", excluding index/feeder/QDII, deduplicating A/C share classes), compare each one's latest top ten holdings with the target manager's top ten by number of same-name stocks (synchronization = n/10), and render with a progress bar.

The question this ruler answers is different from House/all-market deviation:Is his return riding on this year's hot list?

  • Average synchronization < 4/10 → "The return was not chased from hot spots; people who want to ride the ranking's popularity should not buy him"
  • Average synchronization ≥ 4/10 → "He is sitting right on this year's main upward wave; he rises fast, and when the tide goes out he gets beaten along with everyone else"

Reference implementation scripts/fetch_top_funds.py, output .cache/fund_<code>/top_funds.json。

See details in references/step5-independent-alpha.md。


STEP 6 · Benchmark Engineering

Four layers, none can be missing:

Layer Function
Contract Benchmark Statutory benchmark, usually not very useful
Peer Benchmark Median of funds of the same type
Shadow Benchmark A "fake fund" constructed using his actual holdings style
House Portfolio Company consensus portfolio (STEP 5.1 output)
Industry ETF comparison ★ How much could he get if he only bought one industry ETF (new)

Shadow Benchmark is key: if the returns can be replicated by a "small-cap + value" index combination, the Alpha is not his.

6.1 Industry ETF comparison (hard rule)

The question this layer answers: he buys an active fund, why not just buy an ETF?

When to activate (hard gate): A single Shenwan level-1 industry accounts for ≥50% of equity holdings and persists for ≥2 quarters.Thematic funds (pharma/semiconductors/defense) naturally satisfy this, and this comparison is "mandatory" for them — the contract has locked him into the industry, and the only value he can contribute is stock selection within the industry; if he can't even beat the industry ETF, this fund has no reason to exist.

Split total excess return into two segments (linking with the Alpha autopsy):

总超额 vs 市场 ≈ 行业溢价(一个行业 ETF 就能拿到) + 行业内选股 Alpha(经理真正的活)

Pre-selected (hard rule): The ETF code must be fixed in advance, no picking one after the fact that favors oneself.

The fee-adjusted comparison is key: The active fund's NAV has already deducted a 1.5% management fee, while the ETF deducts 0.5%. The retail question is "for this extra 1% paid, what did you get":

Manager vs industry ETF (after fees) Interpretation Action
Clearly outperforms (>+3%) Has stock-picking skill within the industry Management fee is worth it
On par (±1%) Skill = betting on the right industry Buy the ETF directly
Clearly underperforms Doesn't even understand the industry Avoid
Outperforms but high turnover Net returns may flip Must look at after fees

Two traps that must be guarded against (otherwise the conclusion is false):

  1. Style mismatch within the industry: small-cap pharma manager vs large-cap pharma ETF → factors not aligned, conclusion false. Need to add a "style-aligned version" (same industry + same market-cap percentile).
  2. Timing contamination: he adds/reduces positions within the industry, so the vs-ETF excess return is mixed with timing. Report two measures: full period vs only during the period he held the industry.

Make the front end the third session of the "three-way joint review": add a third contestant to the arena, "industry ETF (robot)", with three verdicts: win/draw/loss.

His money mainly comes from betting right on pharma, not from stock selection within pharma. Buy the pharma ETF directly and save the 1% management fee. Or: his stock selection within pharma really earned 2.1% more than the pharma ETF, so this management fee is worth it.

STEP 7 · Alpha autopsy

Break it into a waterfall; the sum of all items must equal total return (error < 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%

Alpha Evidence six-item test (★1-5)

Test Pass criteria
Factor-adjusted Alpha > 0 and t > 2
Proportion of positive Rolling 36M Alpha > 60%
Positive Alpha years ≥ 2/3
Excluding Top1 winner Still positive
Excluding Top3 winners Still positive
Alpha Breadth Contributions diversified, not a single bet
One-off gains stripped out IPO/Private Placement/Convertible Bond Contributions Listed Separately

Turning Negative After Removing Top3 = Luck, Not Skill, must be stated explicitly.

STEP 8 · Decision Lab · Skill Verification

Rating each item A-F:

Skill Test
Buy Skill 3M/6M/12M excess return after buying
Sell Skill How much the security continued to rise after selling
Sizing Skill Whether high-weight positions truly have a high win rate
Holding Skill Whether long-term holdings truly outperform
Error Correction See 3.4
Talk vs Action Whether the quarterly report matches actual holdings

Must provideone specific weakness, e.g. "Typical weakness: tends to sell too early; historically, after selling, the security on average continued to rise 14% over the next 12M."

STEP 9 · Portfolio and Risk

Active Share / Tracking Error / Risk Contribution / Hidden Concentration / Tail Risk / Scenario Stress Testing.

Hidden Concentration is the key point: an industry may look diversified but could all be micro/small caps = a single risk factor.

Scenario buttons: micro/small caps -30% / rapid liquidity tightening / large-cap blue-chip market / style switch, each with an estimated impact.

Regime Map

The 2D chart answers "in what kind of world is this manager strongest":

              价值占优
                 ↑
   表现一般      │      表现较好
小盘 ───────────┼─────────── 大盘
   表现极强      │      表现较弱
                 ↓
              成长占优

STEP 9.5 · Steering Wheel Ownership (a derivative of STEP 4, to prevent "figurehead star")

Co-management by fund managers, product cloning, and a company-wide unified research platform all make "this person created the performance" uncertain. Three indicators:

Indicator Calculation
Driver Score Proportion of time managed solo / number of co-managed products / whether major holdings changes occurred during co-management / behavioral changes after co-managers join or leave
Product Cloning Rate Holdings overlap across different funds of the same manager / whether ten funds are essentially one fund with a changed shell / whether a new fund simply clones an old product
Driver Load How many funds managed simultaneously / total AUM / how many strategies covered / pace of new product launches

Front-office phrasing:

He has 12 funds under his name, but 9 of them have highly overlapping holdings—essentially one car with 9 license plates. Or: The main track record of this fund occurred during a period of three-person co-management, and it is currently impossible to confirm in whose hands the steering wheel mainly rests.

Product Cloning RateAlready implemented as the report's "one car, multiple plates" comparison card (not included in the total score). Latest full-holdings quarter top ten: if ≥6 names overlap, or his weight in shared stocks is ≥35% → mark as isomorphic. Driver Score / Driver Load still require manual work.

Before/After Fame Slider

Many managers had Alpha in the past, but after becoming famous there appear: scale inflation / more products / small caps become unbuyable / holdings shift toward large-cap crowding / declining independence / worsening turnover. Compare before and after fame:

Indicator Before Fame After Fame
AUM 2.8 billion 18.6 billion
Independent differentiation 74 41
Small-cap proportion 38% 9%
Annualized independent Alpha 8.1% 2.2%

One-line verdict:

He was indeed excellent in the past, but the current product can no longer accommodate his old playbook.

Entertainment title:Scale Victim — fame grew faster than skill.

Cards Revealed (true number of bets)

Holding 50 stocks does not mean diversification. Calculate the "number of real bets": industry correlation / style factor correlation / earnings driver correlation / exposure to the same industry chain / correlation during stress periods.

On the surface, 46 stocks are held, but in reality only four things are bet on: consumer recovery, RMB appreciation, falling interest rates, and large-cap growth.

Escape door (the truth about liquidity)

Normally it looks like there are 46 exits, but when the market stampedes, only 3 can actually be sold at the same time.

Capacity and liquidity suddenly become very intuitive.

Crash manual (summary of error types)

The existing battle cards should not only record wins and losses, but also summarize error types: bought too expensive / judged too early / added more as it fell / overconcentration / value trap / sold too late / sold too early / chased hot sectors / refused to adjust after a mistake.

Then calculate three metrics:

Metric Plain-language explanation
Error frequency How often a major judgment goes wrong
Speed of admitting error How soon after being wrong the position starts being reduced
Single-instance damage How much a single mistake usually costs the portfolio

The most important thing ishow many times the same pit was fallen into:

It is not that he cannot make mistakes, but that over the past five years he made the same mistake three times in high-valuation growth stocks, and each time continued to add after the decline.

This is far more meaningful than "risk management 62 points."

Whether heavy positions are really more accurate (position sizing as an expression of ability)

When he is more confident, is he really more accurate?

Compare: win rate of the top five heavy positions / win rate of ordinary holdings / future returns after adding / future returns after reducing / profit-loss ratio of high-conviction decisions.

The hit rate of his heavy positions is actually lower than that of ordinary holdings, indicating that his judgment ability is decent, but his position sizing often amplifies mistakes. Or: the heavier the position, the higher the future return; he not only knows how to pick, but also knows when to bet big.

This corresponds to Buy / Sell / Sizing / Holding, but these English terms do not need to appear in the front end at all.

STEP 10 · Capacity · Capital · Platform

Capacity: Strategy capacity estimate / current AUM / Capacity Utilization progress bar / Days to Liquidate / Alpha Decay curve.

预计容量 20-30 亿 · 当前 12.5 亿
Capacity Utilization ████████░░░░ 48%  🟢 健康

Capital profile (badge system, lit with evidence, gray without evidence, guessing prohibited):

🟢 经理本人  🟢 基金员工  ⚪ 国家队  ⚪ 险资
⚪ 社保      ⚪ 养老金    ⚪ FOF    ⚪ 外资

Prohibitions: employee holdings ≠ manager self-purchase; local state capital ≠ national team; institutional holdings ≠ future returns.

10.1 Gate timeline (comparison card)

Assess scale judgment, not net value. Pin purchase limits / suspension of large subscriptions / reopening of subscriptions to the CSI 300 and his style index high and low points, and use the 12-month subsequent trend for a postmortem.

Four quadrants (remove false signals before entering the sample):

High position (≥80th percentile over the past 3 years) Low position (≤20%)
Closed Blocking people from entering (conscience candidate) May be for liquidity/compliance/survival, not necessarily bad
Open Open and taking money (money-grabbing candidate) Taking money when cheap (friendly to holders)

Three types of false signals must be removed, otherwise company risk control will be mistaken for his conscience:

  1. The whole company imposes purchase limits on the same day → use peer funds as a control; company risk control is not his decision
  2. Forced purchase limits after hitting the 10% dual-ten line → Same as passive position reduction, not a decision
  3. Bear market + sharp shrink in shares → Liquidation line to survive, not necessarily conscience

Data: Eastmoney JJGG?type=0 fund announcements. Titles containing "suspend subscriptions and suspend redemptions" or "non-Hong Kong Stock Connect" = holiday fake gate, not included in sample. "Open daily subscriptions" after the closed period ends is a contractual action, not a discretionary door opening.

Stack self-purchases where obtainable: company proprietary fund self-purchases have announcements; manager personal self-purchases often have no standalone interface, if unobtainable write "not obtained". Employee holding ratio ≠ manager self-purchase.

"Conscience" is not treated as a 0–100 score crammed into the behavioral total score. Use the three-tier evidence system: timeline overlap is a confirmed fact, "he has a conscience" at most a strong inference.

After the door opens, verify againThe fate of that batch of money: whether net shares rise or fall in the 1–2 periods after opening. Net shrinkage cannot be written as opening the door to collect money (subscriptions and redemptions cannot be separated); for lagging batches whose scale climbs back from a low after unlocking, count 12 months from the day of the high point. Holder structure is stacked on the same axis: when locked-period shares do not move, changes in institutional proportion are on-market turnover, not subscriptions.

10.2 Year-end ranking push (control card)

Compare Q4 with other quarters: top-ten concentration / single-stock cap / top-ten turnover rate / fund return that quarter; stock position only from interim report vs annual report (full holdings). Red flags require ≥2 items significantly higher in Q4. False signals: Q1/Q3 only have top ten, do not compare by number of holdings; exclude the first year after inception as a position-building year. Control card, not included in total score.

10.3 One cart, multiple plates (control card)

Take the top ten holdings in the latest full-holding quarter of his other active equity products under his name (in house/funds.json self: true, excluding this product), calculate the number of shared stocks and overlap weight (take the smaller weight on both sides and sum). Overlap ≥6 or his weight on shared stocks ≥35% → isomorphic fact. Hong Kong stock codes use the same Eastmoney convention as this product. Control card, not included in total score.

Platform: Split Alpha into Personal / Platform / Factor three parts, give Platform Dependence. Whether team stability and loss of core researchers harms the corresponding Alpha.

STEP 11 · Forward Alpha

No historical extrapolation; must deduct item by item:

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%

Also give Alpha Replicability (0-100)。

Alpha take-home rate (individual investor perspective, hard rule)

The money the manager earns ≠ the money ordinary people take home. Build a "leaky pipe", deducting layer by layer:

历史主动超额:     8.4%
刨掉行业风口:     5.9%
规模扩大损耗:     4.6%
扣除费率成本:     3.1%
普通持有人行为损耗后: 1.7%

How to calculate "fund investor behavior loss": Use fund share changes, scale changes and NAV to estimatemoney-weighted return(what fund investors actually take home), compared with the fund's owntime-weighted return(as published by the fund).

The most viral expression:

The fund gained 68% over five years, but a typical holder may have gained only 24%. It is not that the manager did not make money, but that most of the money came in only after the rise was over.

This sentence directly answers an extremely important question:Why is the fund's performance very good, yet fund investors' experience very poor?

One hundred thousand yuan holding experience (hard rule)

Do not just tell users the maximum drawdown is 32.6%; translate it directly into something people can feel:

历史投入 10 万元
最差时账面剩 6.74 万元
最长连续亏损 14 个月
最长等待回本 29 个月
任意时点持有三年,78% 的起点赚钱
任意时点持有三年,54% 的起点跑赢同类指数

Make an amount slider on the front end: users enter 50k / 100k / 500k, and all historical stress numbers change in sync. You can call it "One Hundred Thousand Yuan Disaster Movie"。

He can make money, but before making money he often first makes you lose a third. If you cannot hold on, no matter how excellent the manager is, it is meaningless.

Also add "Ten people draw lots to buy": 10 random entry points, 8 people made money after three years, 5 beat the index, 2 were once down more than 30% along the way. Far more intuitive than comparing annualized returns or Sharpe ratios.

Why not just buy an ETF (Three-Court Review)

Session Him vs whom What is being judged
First Court Other people at the company Whether he has independent decision-making ability
Second Court Managers of the same type Whether he merely looks excellent among poor companies
Third Court Low-fee ETF / robot stand-in Whether this management fee is actually worth it

Third Court's robot stand-in: same equity exposure, same industry exposure, similar large/small-cap style, no active stock selection. Ask:

If the fund manager were replaced by a robot that does not think, how much could it still have earned over the past five years?

Verdict:

He beat his colleagues, but he did not beat the comparable index. It belongs to being first in the class but failing the whole grade. Or: after fees, he earned only 1.2% more than the ETF, but had 9 percentage points less maximum drawdown. What you bought with the management fee was mainly greater stability, not higher returns.

Verdict validity period and conditions for revision

Every report has averdict validity periodand four alarms:

本判决有效至:下一期完整持仓披露后
触发重新审查:
1. 经理离任或新增核心共管人
2. 管理规模较当前再增长 50%
3. 连续四个季度高分化、负 Alpha
4. 产品持仓与历史行为 DNA 明显偏离

It is not that you can always buy, but that before these conditions change, the current judgment holds.

STEP 12 · IC conclusion

Four tiers:APPROVED / WATCH / DO NOT ADD / RE-UNDERWRITE

Fourfold verdict (hard rules, replacing a single "can buy")

The current giant score and "can buy" stamp easily mix four questions together. The first screen must give four independent verdicts:

Verdict Question answered
Person Whether this manager is worth trusting
Product Whether this fund fully contains his ability
Current Whether current size, crowding, and style valuation are eroding ability
You Whether your holding period and drawdown tolerance suit it

Possible:

人:通过
产品:有限通过
当前:不宜追涨
适配:更适合卫星仓,不适合作为唯一底仓

The "You" dimension cannot be a single conclusion — it depends on the user's own holding period and drawdown tolerance, so make it conditional ("if you hold for more than 3 years and can tolerate -18% → suitable").The 100,000-yuan disaster movie is exactly what to feed it.

Must include:buy_now Boolean value + Chinese label · Conviction · Why We Like Him (3-5) · Why We May Be Wrong (3-5, cannot be omitted) · suggested position · veto items · Forward Alpha range · Quantifiable Review Triggers。

Review Triggers examples: AUM > 2.5 billion / micro-cap correlation > 0.9 / Residual Alpha < 0 for 4 consecutive quarters / House Divergence suddenly drops below 40 (starts crowding together) / Manager departure / opening large subscriptions.

Triggering any one → RE-UNDERWRITE。

Three-stage prosecution-defense-judgment structure (hard rule)

Add one adversarial review before the final conclusion:

Role Responsibility
Pro Try to prove that this manager really has ability
Con Try to prove his track record comes from a tailwind / luck / platform / a single hot stock / small scale / survivorship bias / a cheap starting point
Verdict Use only facts acknowledged by both sides, and explain why one side is credited

Front desk:

辩方:他四次逆共识决策中三次获胜
控方:其中两次都发生在同一轮成长股牛市
裁决:存在独立判断,但跨周期证据不足,评级上限 B+

This is much more interesting than the usual "risk warning," and more credible.


Scoring framework

Tier-1 weight

Module Weight 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

Manager / People 28-point breakdown

Independent Decision Alpha is worth 8 points exclusively, the highest for a single item.

Sub-item Score
Independent Decision Alpha 8
├ Independent Thinking (House Divergence) 2
├ Independent Alpha (whether it makes money after divergence) 3
├ Contrarian Hit Rate + odds 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 (manager buying own fund / purchase limits) 1

⚠️ Independent Thinking alone has no score cap:When Thinking is high but Alpha is negative, this sub-item is converted by Alpha, and at most only 2 points are given. Having independent views but worthless independent views earns no extra points.

Rating mapping

Total score Rating Status 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

When Evidence Confidence is 🟠 Low or 🔴 Insufficient,the rating cap is B+, no matter how many points are calculated.

Giant score display (hard rule)

Do not show only one number precise to the ones place 78 — it gives ordinary users an unnecessary sense of scientific precision. Must also display:

78
可信区间:74—82
证据置信度:中高
数据截至:2026-06-30

U: Unidentified (hard rule)

Insufficient evidence ≠ a bad manager.Low / Insufficient Under this confidence level, do not mark D tier, but mark U (Unidentified):

U 不是差
U 是目前没有足够证据下结论

Evidence deduplication ledger (hard rule)

"Independent Decision Alpha" is very likely to affect multiple modules at the same time: Manager / Edge / Regime / Portfolio / Future.The same piece of evidence can only enter one primary scoring module, and at most can then serve as a correction item for another module; it cannot be fully scored repeatedly across multiple modules.

例:
"高分化期未来超额显著更高" → 主要计入 Independent Alpha
在 Repeatability 只计入"是否跨周期重复出现",不再把收益加一遍
在 Portfolio Construction 只评价仓位表达是否合理,不再重复奖励判断正确

Rarity system (two-dimensional judgment)

Rarity does not answer "how strong," but rather "how strong × how many people know". The two dimensions are judged separately, then combined.

Strength tier (objectively calculated, mapped from IC total score)

Rarity Total score Feel
UR ≥ 85 Strong and known by few people, the rarest
SSR 70–84 Worth buying, with clear constraints
SR 55–69 Mediocre or has weaknesses
R < 55 Don't touch

Scarcity (agent subjective judgment, 0–100)

"Niche" = few people know about him + few people are willing to give him money.

Why it must be judged subjectively by the agent and cannot be purely calculated:

  • AUM and institutional ownership can only count as "cold-start clues" (1.25 billion → on the small side; institutions 5.3% → more retail-oriented)
  • The real "niche feel" is hidden in text and circle signals:
    • Media heat:Search his name. Is there a pile of news interviews, or only fund announcements?
    • Whether the company promotes him:Has it made him into a star product (posters/interviews/roadshows)?
    • Reputation within the circle:Do sell-side research reports cover him? Do fund bloggers mention him? Are there posts like "discovering a hidden-gem manager"?
    • Holder quality: institutional heavy positions (recognized within the circle, not scarce) or small retail holders spontaneously piling in (no one promoting, truly niche)?

After the agent reads the evidence, give a 0–100 scarcity score + one verifiable reason:

稀缺度:72/100
理由:全网搜"陈述"几乎只有基金公告和少量研报提及,公司未将其作为明星产品
推广,持有人以散户小额自购为主,机构占比五年持续下滑 —— 属于"圈内偶有提及、
大众完全没听过"的极度稀缺型经理。

Merge matrix

Strength tier Scarcity → final rarity
SR (78 points) Extremely scarce (70+) SSR
SR (78 points) Mass (20) SR
A+(85+) Extremely scarce (70+) UR
A+(85+) Mass SSR
R(55-69) Extremely scarce SR or R

The same strength, the fewer people know about it → the rarer it is. But note the correction:Low visibility may mean less scale pressure, more sufficient strategy capacity, and lower position crowding, but it does not inherently mean higher future returns. The net asset value of an open-end fund is not directly bid up just because more people buy it.

Scarcity two-dimensional chart (upgraded)

Don't just give a "scarcity 72"; give two-dimensional coordinates:

Low capital attention High capital attention
High media heat Marketing is pushing, capital is not following Mass star
Low media heat Truly obscure or ignored by everyone Inside-circle hidden card

The media barely mentions it, but institutional capital has increased for four consecutive periods — this is an inside-circle hidden card, not something truly ignored by everyone.

Downgrade / floor (hard rules)

Condition Handling
Evidence confidence Low / Insufficient Cap at R (mark U rather than poor)
Independent Alpha ≤ 0 Cap at R
God-making detection red flag Directly N (no matter how many more points are scored, out)
Still positive after excluding Top3 + odds > 2 + evidence High + no confirmed red flags At least SR capability baseline

"No negatives" does not constitute a positive floor — not finding negatives may simply mean public information is incomplete. Note the wording is "no confirmed red flags", not "no negatives".

Rarity must not change the investment rating(hard rule). SSR is only a dissemination label and cannot in turn improve investment judgment.

Investment rating: A- / APPROVED WITH WATCH Cognitive scarcity: 78 / inside-circle hidden card Card rarity: SSR

Case: statement 78 points = SR strength + scarcity about 70 (extremely scarce) → final SSR. He is not a top-tier score, yet he is a rare card — the rarity comes from "few people know", not from inflated scores.


Report interface specification

Refer to UZI-Skill's verified design language:Zero chart libraries, pure CSS visualization, conclusion first, giant numbers, brutalist punchlines.

Design system

Use a clean OLED dark base (few variables, accurate names), do not reuse --neon-* / --bg-void that set of misnamed historical leftovers:

: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; }

Font size hierarchy: giant score 160px/w900 · manager name 72px/w900 · section-title 32px/w800 · punchline 26px/w700 · label 11px + letter-spacing:.25em。

Card:border-radius:16px; padding:28px; border:1px solid var(--line); background:var(--surface)。

ProhibitedHardcoded in the light theme background:#ffffff then overwrite one by one — all colors go through variables.

Six Tabs (12 steps in the backend, only 6 screens in the frontend)

Tab What the user really wants to know Core content
Verdict Does it actually work Fourfold verdict, score range, evidence level, greatest strength, biggest fatal flaw
This person What type of manager he is Career path, behavioral DNA, saying-doing consistency, driving degree, driver load
War of Independence Does he have what it takes when he differs from others Company school map, dual scores, campaigns (four quadrants), first-mover, follow-suspicion
Exposing luck Is the performance really just a tailwind Alpha autopsy, robot stand-in, ETF triple review, teardown experiment, fame decay
How you will lose What the most painful moment looks like after buying 100,000 yuan experience, crash manual, weather map, hole card, escape hatch
How to use it What it is suitable for Product purity, base/satellite position, holding period, fee shares, copy-the-homework index, re-judgment conditions

None of these six names contain financial jargon — the user completes a natural decision by reading through: does it work → why → is it independent capability → is it luck → how will I lose → finally how should I use it.

Independence is an independent Tab and cannot be stuffed into Manager as a subsection. It is where this product's differentiation lies.

Navigation: single-page scroll + fixed anchor rail on the left (position:fixed; left:16px; top:50%),scroll-behavior:smooth,scroll-padding-top:72px。

First screen (conclusion first)

┌─────────────────────────┬──────────┬──────────┐
│ 缪玮彬                   │   78     │  🟢      │
│ Macro Allocator /        │  /100    │ 可以买    │
│ Diversified Small-Cap    │          │          │
│                          │ A-       │ 建议仓位  │
│ [单人管理8年+]            │          │ 核心仓    │
│ [经理本人>100万份]        │          │          │
│ [低抱团][主动限购]        │          │          │
│ [Key Person Risk高]      │          │          │
└─────────────────────────┴──────────┴──────────┘

.score-giant 160px, JS eases from 0 to the target value (1-Math.pow(1-t,3),1400ms),::after append /100。

Giant scores must carry range and confidence(see scoring framework), do not display bare 78。

Immediately follow withFourfold verdict(person / product / current / you), then the verdict line (.punchline: dark background + 12px --accent left border + 5px solid shadow):

Miao Weibin's core capability is not traditional concentrated stock picking, but asset allocation and small/micro-cap non-consensus opportunities; over the past five years, 11 major non-consensus allocations beat the company portfolio 7 times, and the biggest constraint is strategy capacity and small/micro-cap liquidity.

Four sentences banned on the first screen: only person ✓ / only product ✓ / only current ✓ / only fit ✓ are none of them a complete verdict. All four are needed.

The second screen is the Manager Profile + DNA radar.Do not lead with the net value curve.

Cross-cutting layer: evidence ledger / data shelf life / sample chips

Mechanism Content Frontend label
Evidence ledger Each judgment saves: conclusion / evidence type (public fact / mathematical calculation / inference / agent judgment) / data cutoff / source / confidence / strongest counterevidence / which module it counts toward Physical evidence / calculation / inference / judgment
Data shelf life Each holding conclusion displays: snapshot date / disclosure date / time since "This is a holdings photo from 74 days ago, not real-time monitoring"
Sample chips Don't just write High/Medium, state clearly how many events the conclusion is supported by "So far there have only been three hard battles, enough to make the watchlist, not enough to be crowned"

Company faction map (Independence War Tab core)

Consumer faction 8 people / Tech faction 5 people / Balanced faction 6 people / Which one does the target manager belong to. One-line verdict:

He is not going against the company; the company already has a tech faction internally. Or: the company has three factions, and he resembles none of them, making him a true independent decision-maker.

Debunk Lab (Debunk Luck Tab)

Several switches: remove the top three biggest winners / remove the best-performing year / remove the most profitable industry / restore scale to before fame / start calculating again from the quarterly disclosure date / neutralize style and market Beta. After clicking, Alpha, rating, and verdict update in real time:

原始五年超额:7.8% → 去掉头号牛股:2.6% → 去掉前三大: -0.4%
→ 他的历史成绩高度依赖三只股票。这证明他有抓大牛股的能力,也说明他的容错率很低。
原始五年超额:6.1% → 去掉表现最好的一年:5.3%
→ 拆掉最好的一年后成绩几乎没变,他不是靠单年运气。

Mouth-Hand Reconciliation Statement (This Person Tab)

他说:长期投资,不参与短期热点
他做:过去八个季度换手率持续处于同类前 10%
判词:嘴上是长期主义,手上是高频交易。
他说:回避高估值热门股
他做:相关赛道高估值阶段持续低配
判词:说到做到,不是路演话术。

Independence Tab exclusive component

1. Dual-score comparison bar — the single screen the whole product should be remembered for:

Independent Thinking  ████████████████░░░░  88
Independent Alpha     ██████████████████░░  91
                      ↑ 两条必须同屏,永不合并

When Thinking is high and Alpha is low, the Alpha bar is rendered as --danger color and labeled 有主见,但主见没价值。

2. House vs Manager industry comparison — two-way horizontal bars, company consensus on the left, manager active weight on the right, divergent industries highlighted --indep color.

3. Independent Calls battle cards — winning cards have a left border --ok, losing cards have a left border --danger。Winning and losing cards must be exactly the same size and length, failing cases are not allowed to be made smaller.

4. Hit Rate + odds dual numbers — two large numbers side by side, showing only Hit Rate is prohibited.

5. Idea Lead timeline — horizontal timeline, the manager's first overweight is marked with a --accent dot, company managers gradually following are marked with gray dots, annotating the number of quarters of lead.

Share card

Playwright screenshot hides DOM nodes,device_scale_factor=2, first page.evaluate("document.fonts.ready")。

  • #share-card 1080×1920 vertical: brand bar → manager name 72px → fund name/ticker → giant score + verdict → three independent decision numbers (Divergence / Independent Alpha / Hit Rate) → battle record bar → quote box → QR code → disclaimer
  • #war-report 1920×1080 horizontal: information on the left, large INDEPENDENT ALPHA number on the right

Subtitles uniformly use the // xxx prefix. QR code is generated locally,do not call api.qrserver.com(offline it will return a blank image).

Chart implementation

Zero chart libraries. HP bars, comparison bars, waterfalls, radar, and timelines are all CSS gradient + width transitions + inline SVG. Do not import echarts.

Templates use Jinja2, do not use str.replace + <!-- INJECT_XXX --> anchor (the UZI set has already accumulated technical debt from three layers of anchor fallbacks).

Copy guidelines

  • Judge first, then prove
  • One module = one verdict + three pieces of evidence + one counterevidence
  • Banned: overall / worth watching / from a long-term perspective / on one hand, on the other hand / excellent performance / broad prospects
  • Quotes must contain specific numbers
  • Funny titles may only come from behavioral evidence ("scale victim" "bear market security guard" "lone wolf who does not herd"), and must not mock appearance, region, or privacy
  • Data and sources are collapsed by default,key gaps must not be collapsed and hidden

See references/ui-spec.md。


Execution method

Fetch the data yourself: you are the data-fetching agent, the script is only a reference

The one fetching the data is you (the agent), not any hardcoded script. The reason is practical:

  • Public fund data is scattered across TianTian Fund, Eastmoney, Xueqiu, CNINFO, company official websites, and periodic report PDFs, with different structures and frequent redesigns. A hardcoded scraper runs today and is dead next quarter
  • The truly hard part is not fetching the data, it isjudging whether the fetched data is correct — Did the "top ten disappearing" mean it was sold or fell out of the top ten? Has this fund's benchmark been changed midway? These must be watched by a person; the script cannot give the answer
  • Many key pieces of evidence exist only in the text: how the manager explains their operations in the quarterly report, the timing of change announcements, the industry restrictions in the prospectus. These need to be read, not scraped

Three-layer data-fetching model (degrade in order, only enter the next layer after each layer fails)

第一层 · 公开 API      akshare / baostock / 东财裸接口 —— 结构化、快、可缓存
   ↓ 接口失效 / 限频 / 字段缺失
第二层 · 浏览器抓取    用你手上的浏览器工具直接开网页拿 —— JS 渲染页、PDF、图表数据
   ↓ 数据在登录墙 / 付费墙后面
第三层 · 请用户登录    暂停,让用户在浏览器里登录,然后你继续抓
   ↓ 用户没有账号 / 拒绝
第四层 · 标注缺口      写"未获取,原因 X",按硬规则压置信度,绝不编数

Every layer mustkeep evidence: data lands in .cache/ and record the source (interface name + parameters / page URL + fetch time). Numbers whose source cannot be found are not allowed into the report.

Manager photo: TianTian Fund manager profile page (fund.eastmoney.com/manager/<id>.html, id looked up in reverse from fundf10.eastmoney.com/jjjl_<code>.html ) of #photo is the official photo, save .cache/fund_<code>/manager_photo.png, embed as base64 when rendering to keep it a single shareable file; if unavailable, fall back to a placeholder with the first character of the surname, network image hotlinks are not allowed.

One-shot hit interface: pingzhongdata (takes priority over scattered interfaces)

https://fund.eastmoney.com/pingzhongdata/<code>.js(with UA+Referer, utf-8-sig decoding) returns a dozen or so at once var, can replace most of the scattered requests of the first layer. Key variables:

Variable Content Where we use it
Data_netWorthTrend / Data_ACWorthTrend Full-history unit/cumulative net value (including daily change) Net value metrics
Data_buySedemption Subscription/redemption/total shares per period Redemption evidence for determining passive position reduction, no longer need to infer backwards from holder data
Data_fundSharesPositions Recent estimated stock position series Current position snapshot (note it is an estimated value, mark as derived)
Data_holderStructure Institutional/individual/internal holding ratio time series Holder profile
Data_fluctuationScale Size per period + period-over-period Size curve
Data_currentFundManager Manager tenure/total assets under management/star rating/photo URL/Eastmoney five-dimension ability score Manager card + platform score comparison
Data_performanceEvaluation TianTian Fund five-dimension evaluation (stock selection/returns/risk resistance/stability/timing) "The platform gives him X points, we only give Y points" comparison
Data_rateInSimilarType Same-category ranking trend Ranking time series chart

The platform five-dimension score is only for comparison display and must not be counted in our behavioral score (someone else's ruler can only be hung on the wall to look at).

Fund investor sentiment (optional entertainment slot): fund bar list page guba.eastmoney.com/list,<code>,2_1.html can read holder post titles, make a "are fund investors cursing or praising right now" atmosphere card; display only, not included in the score.

First layer: public API — prefer akshare, judgment still belongs to the agent

akshare has enough coverage, it is your foundation. But key judgments (historical product backfill, announcement title parsing) still need the agent to do them.

The following five interfaces must be mastered:

# 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="单位净值走势")

When spanning many targets/quarters, dispatch subagents in parallel. Managed directly by a single manager in a single quarter.

Five things the agent must determine

Scenario Why a script can't do it
Historical "company product list" fund_manager_em only reflects those currently in office; a product managed by a manager who left in 2020 will be missed. You need to use fund_announcement_personnel_em to backfill the complete list for each point in time
Announcement title parsing "Additional appointment" vs "adjustment", name extraction, and the order of co-managers must be determined by reading the title
Whether the benchmark was changed mid-course A contract benchmark change won't label itself; you need to compare different versions of the prospectus
Disappearing from the top ten ≠ sold You can only record "exited the top ten"; whether it was shorted or pushed out of the top ten by a new entrant must be judged together with position changes
Mandate constraint extraction Statements like "this fund invests no less than 80% in the pharmaceutical industry" cannot be automatically structured

Data source comparison table for each step

What is needed Interface / source Note
Basic fund information fund_individual_basic_info_xq Share classes must be correct
Manager change history fund_announcement_personnel_em Title contains "additional appointment" → a sign of blame-shifting
Net value series fund_open_fund_info_em(indicator="单位净值走势") Adjusted basis must be consistent
Quarterly top ten holdings fund_portfolio_hold_em Only the top ten
Semi-annual/annual reportFull holdings Periodic report PDF akshare has no such interface; you must parse it yourself
Company's full product holdings(at a point in time) fund_manager_em + announcement backfill Largest volume; dispatch subagents in parallel
Whole-market cross-section fund_report_stock_cninfo(date=...) Faster than looping one by one
Fund contract constraints Prospectus Mandate judgment
Holder structure Annual report PDF Evidence for the capital badge
Scale and subscriptions/redemptions fund_individual_basic_info_xq may contain scale or periodic report
Purchase limit / gate announcement Eastmoney https://api.fund.eastmoney.com/f10/JJGG?type=0 Suspension of large subscriptions/limits/resumption of subscriptions/early end of offering. Bilateral suspension during holidays is a fake gate. Check whether funds in the same family have purchase limits on the same day
Other products' holdings under the manager fund_portfolio_hold_em(same interface as this product) One vehicle, multiple plates. The current manager is inferred from managers.json ; do not hard-code names

Judgments when retrieving data cannot be left to scripts

  • Has the benchmark been changed mid-course? If so, the periods before and after are not comparable and must be segmented
  • Share class: Is the analysis of Class A or Class C? The fee difference will eat part of the excess return
  • Disappearing from the top ten ≠ sold, can only be recorded as "exited the top ten"
  • The company product list must exclude products managed by the target manager themselves, otherwise House Consensus is contaminated
  • The "company's full product" at a historical point in time must be backfilled using announcements —— fund_manager_em only gives those currently in office
  • "Additional appointment" announcements are a sign of blame-shifting — In a down period, the title contains "additional hiring" and the successor has less than 2 years of experience, flagged as a candidate for deity-making detection.
  • If nothing can be found, write "no reliable public information found",do not pad it with similar data

Anti-scraping countermeasures (a real akshare problem)

akshare's Eastmoney interface has rate limits; issues repeatedly mention "how much connection frequency before you get restricted". The community has a patch akshare-proxy-patch(184 stars) but it treats the symptoms, not the root cause.

Hard rules:

  • Must cache locally —— .cache/{code}/raw/ Store raw responses by interface + parameters + date; do not run online in real time
  • Random delay of 0.8–2.5 seconds — especially important when batch-scraping all products of a company
  • Do not retry more than 3 times on failure — if it still fails on the 3rd try, downgrade to the second layer (browser); do not loop endlessly and trigger a ban
  • For large batch tasks (>50 tickers), switch to fund_report_stock_cninfo cross-sectional, getting the whole market at once

Second layer: browser scraping — you have a browser, use it

In the following scenarios, the API cannot get the data or cannot get all of it,so directly use a browser tool to open the web page(playwright / cursor browser / any browser automation you have available):

Scenario Where to go How to get it
JS-rendered pages Eastmoney f10 holder structure and size change pages Open the page and wait for rendering to finish, then take the table from the DOM (tested: FundArchivesDatas.aspx the raw interface also works; try the raw interface first)
Periodic report PDFs Cninfo / fund company official websites Search for the report → download the PDF → read "fund unitholder structure at the end of the reporting period", full holdings details, and manager discussion and outlook
Prospectus / fund contract Cninfo / official website Read the mandate constraints ("no less than 80% invested in the XX industry"), benchmark definition, and all historical amendments
Special fund unitholders Fund annual report PDF "Single investor holding more than 20% of shares" and "top ten unitholders (exchange-traded/LOF)" — the only source for direct fund holdings by national teams/insurance capital/pension funds; unitholder structure (institutional/individual/employee) can go through Eastmoney FundArchivesDatas.aspx?type=cyrjg raw interface
Special shareholders of individual stocks Eastmoney top ten tradable shareholders interface National team (Huijin/CSF)/social security portfolios/basic pension/insurance capital/northbound (Hong Kong Central Clearing)/QFII, identified by regular expressions on shareholder names; Hong Kong stocks do not have this scope
Manager interviews / roadshows / hot searches Search engines + Xueqiu + news sites The "mouth" in mouth-versus-hands reconciliation, media heat for scarcity determination, and event verification for scenario timelines
Verify dates of historical news Search engines (with time range restricted) Every event in the 5.6.1 scenario timeline must have a searchable source
Fund bar / community sentiment Eastmoney fund bar / Xueqiu discussions Unitholder texture (retail spontaneous vs institutional recommendation); only observe, do not collect personal information

Browser scraping guidelines:

  • If the raw interface works, do not open the page(fast and stable); opening the page is for JS rendering and PDFs
  • Frequency same as the API layer: pause 1-3 seconds between pages, do not bombard the same site concurrently
  • Captured tables/key paragraphsSave to .cache/ and record URL + capture time, a screenshot as evidence is even better
  • Page redesign makes data unfindable → switch sites; the same data has at least 2-3 public sources

Layer 3: Ask the user to log in — interaction is not a failure, it is part of the process

Some data is behind a login wall (Xueqiu portfolio data, Tian Tian Fund watchlist/auto-invest data, Choice/Wind terminals, Jiuequaner member data).When you hit a login wall, pause and explicitly ask the user for help, format:

我需要 [XX数据] 来完成 [XX模块],它在 [站点] 的登录墙后面。
请你在打开的浏览器页面里登录一下(我不需要也不会保存你的密码),
登录完成后告诉我,我继续抓取。
如果你没有账号或不方便,我会跳过该数据并在报告中标注缺口。

Security boundaries (hard rules):

  • Never enter account credentials on the user's behalf, only wait for the user to complete login themselves
  • Never scrape the user's private data(holdings, assets, transaction records), only scrape public research data visible after login
  • If the user refuses or has no account → immediately downgrade to Layer 4, do not ask a second time

Layer 4: Mark the gap

If you cannot get it, write "Not obtained: reason + layers attempted", and suppress the evidence confidence per the hard rules.Never fabricate numbers, never pad with similar data.

The scripts' place: reference implementations, not a mandatory path

Repo root scripts/ under (relative to this file: ../../scripts/), the fetch/analyze scripts arethe reference implementation of a real run (Xingquan Heyi 163417)—— they prove the data pipeline works and how to implement the algorithm, butwhen switching to another fund/environment, do not assume they will still run:

Script Purpose
fetch_fund.py / fetch_stock_klines.py / fetch_stock_industry.py / fetch_house.py / fetch_pingzhong.py / fetch_top_funds.py / fetch_gates.py Data-fetch reference: windows/industries/fees/style indices/peer comparisons recalculated for the chosen fund.fetch_house.py 's 4b scrapes the holdings of other products under the name (one cart, many plates). When the API fails,fetch the data yourself using the three-layer model, do not fix the script until the end of time
analyze_fund.py / analyze_house.py / analyze_gates.py / analyze_addons.py / build_replay_data.py Pure-computation reference: event inference/passive deleveraging determination/post-mortem/House disagreement/gate quantiles/year-end ranking push/one cart many plates/opening batches. Once the inputs are complete it is deterministic computation and can be reused directly
build_fund_report.py / build_v2.py Rendering reference: design system and module assembly
export_cards.py Share card screenshot

Judgment-type work (announcement interpretation, Mandate extraction, event verification, scarcity grading) has no scripts, and never should have any. For individual stock industries, use Eastmoney/HK stock F10 public classifications to fetch automatically; handwriting a comparison table for a given fund is prohibited.

Process

Fetch data → compute → you make the qualitative judgment → write agent_analysis.json → render the report.

Prosecution-defense-judge three seats (parallel when subagents are available)

The five-seat review is upgraded to a prosecution-defense-judge structure — this is the formalization of the same thing:

Seat Responsible for Role in prosecution-defense-judge
people_investigator All of STEP 3 + feature boundaries ProsecutionWitness
independence_forensic All of STEP 5, the heaviest seat in this Skill ProsecutionWitness
alpha_forensic STEP 2, 6, 7, 11 + ETF comparison ProsecutionWitness
portfolio_detective STEP 4, 9, 10 + steering wheel OppositionWitness (specifically looking for "non-ability sources" of performance)
chief_underwriter STEP 12 + Verdict Adjudicator

The opposition is not going through the motions; it is dedicated to finding loopholes: Tailwind / luck / platform / single hot stock / still-small scale / survivorship bias / cheap starting valuation. The verdict must: first list the conflicts and both sides' evidence before choosing a side · use only facts acknowledged by both sides · give buy_now boolean value · four reasons + veto items + conditions for overturning · distinguish manager individual / co-managed / platform / factor / one-off gains.

Without subagents, do five rounds of independent notes in order, mark single_agent_fallback: true, confidence must not be higher than Medium.

agent_analysis.json

{
  "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 离职", "开放大额申购"]
  }
}

Mode

Trigger Behavior
Default Full 12 STEP
/independence Run only STEP 5, output independent decision evidence
/manager-only STEP 1-4 + 8
/alpha STEP 6-7
/capacity STEP 10 capacity section
/quick Skeleton score, page must be marked "not deeply evidenced"
/compare A vs B Two managers side by side, focus on comparing Independent Alpha

Data contract

All fall under .cache/{code}/ .are all extracted and organized by you yourself, no script will generate them for you.

File Content Purpose
identity.json Fund information, manager list, company product list Full process
tenure.json Tenure segmentation results Foundation; if wrong, the whole thing is invalid
changes.json Manager change announcements item by item + market at the time Deification detection
gates.json Subscription gate announcement classification + same-house comparison Gate timeline / fundraising at highs
house/hold_{他管产品}_{year}.json Holdings of other products under the name One car, multiple plates
analysis.json of ability.yearend/clones/cohorts/holder_flow Year-end ranking push / one car multiple plates / opening batches / holder turnover Comparison card, not included in total score
holdings.json Quarterly holdings, clearly mark disclosure basis STEP 5-10
house_consensus.json Company consensus portfolio, two sets of weights Foundation of the independence module
master_book.json All products of that manager merged Cross-product verification
attribution.json Factor attribution results STEP 8, 11
agent_analysis.json All your judgments The only input for rendering the report

Output:reports/{code}_{date}/report.html + share-card.png + war-report.png


Competitors and gaps

In 2026-08, surveyed the GitHub open-source world; core conclusion:What you want to do, no one is doing.

Five keywords, zero results

Search GitHub with these five words; all repositories with ≥15 stars are 0:

active share holdings          0
fund holdings overlap          0  
portfolio crowding             0
herding institutional holdings 0
fund manager skill             0

Three structural blind spots of existing libraries

Blind spot Why
The unit of analysis is "portfolio", not "person" There are no concepts like "this person also managed other products", "this decision he also made before", "how others did it at the same time". Your Non-Consensus (cross-sectional comparison), Correct (decision attribution), and Repeatable (time-series pattern) all fall outside this unit.
Attribution is "additive decomposition over a period", not "event-level attribution" pyfolio's perf_attrib Factor exposures are calculated independently every day, decomposing a certain period of returns onto factors. But there is no concept of a "decision" — identifying "underweight baijiu in 2020Q2" → anchoring at the decision point in time → tracking the relative contribution 12 months later: none of the existing libraries do these three steps.
There is no concept of a "control group" The benchmark for all libraries is an index or another net value curve; no library supports "synthesizing a benchmark from the holdings of other managers at the same company." And that is the entire content of House Consensus.

Six projects worth knowing

Project Stars Maintenance What it actually does
akshare 21.9k ✅ The main gateway to Chinese financial data, the foundation of this Skill
quantstats 7.5k ✅ Statistical reports at the net value level (Sharpe / DD / Calmar, etc.), no attribution
ffn 2.6k ✅ Side-by-side comparison of multiple net value series,GroupStats can produce side-by-side tables, but only down to the net value level
pyfolio-reloaded 604 Semi-stopped The only one doing factor attribution at the holdings level,perf_attrib reusable
investool 2.2k Semi-stopped Go, does fund holdings similarity, but pairwise between funds, not between managers, and there is no "house consensus" benchmark
who-is-the-best-manager 26 ✅ Hand-picked four managers with traceable comparison, in Claude Skill form, the direction closest to yours, but not scalable

The original quantopian/pyfolio has been unmaintained for 961 days with 166 open issues,stefan-jansen That set of -reloaded forks is the de facto standard now.

The largest open-source implementation of Brinson attribution has 89 stars, has been unmaintained since 2020, and still depends on Wind.There is no production-grade open-source Brinson.

Where Chinese fund projects stop

The vast majority are net value tracking, 4433 screening, and return ranking. Searching "fund holdings" brings up 15 repositories; apart from investool,all have ≤15 stars, mostly personal bookkeeping tools.

The ceiling is not at "net value ranking" but at "single-period holdings snapshot display." What truly no one does iscross-period behavior sequences + deviation from the same-company benchmark — that is, "dare to be different, and when different, be right."

What can be reused

Only two pieces:

  1. pyfolio-reloaded's perf_attrib as the filter for "is this excess return beta or alpha"
  2. empyrical / ffn's metric calculations —— Sharpe / Sortino / Max DD / Calmar

Non-Consensus's cross-sectional comparison, decision event identification, and Repeatable's pattern statistics — these three layers have no wheels to reinvent and must be built yourself.


Reference documents
  • references/step5-independent-alpha.md — House Consensus construction, Divergence formula, Mandate adjustment, Lead/Lag algorithm
  • references/step2-tenure.md — tenure segmentation and co-management conversion
  • references/step3-manager-dd.md — manager due diligence methods and evidence prohibitions
  • references/step7-alpha-autopsy.md — factor models and A-share adaptation parameters
  • references/ui-spec.md — interface specifications, black-and-white dual themes, brutalist component library, full Chinese label comparison table
  • references/reusable-components.md — which open-source libraries can be reused and which cannot, and why not use Brinson
  • references/step11-forward-alpha.md — quantification methods for each discount
  • references/ui-spec.md — six-Tab component specifications and propagation cards
  • references/data-sources.md — data sources and degradation strategy
  • references/evidence-protocol.md — evidence grading and inference prohibitions

Completion criteria
  • tenure.json Tenure segmentation complete, predecessor performance stripped out
  • house_consensus.json Both sets of weight calibers have been calculated
  • factions Style recognition complete, peer consensus strength / distance to nearest style / distance to firm-wide average are all present
  • agent_analysis.json present and agent_reviewed: true
  • Independent Calls >= 3 successful cases + all failed cases (if failures are empty, a search log must be provided)
  • Each battle card is given a four-quadrant verdict (judgment correct x ultimately profitable)
  • Independent Thinking and Independent Alpha are presented separately, not merged
  • Mandate fake independence has been ruled out with reasons stated
  • Mistake Ledger >= 2 cases, with error-type categorization
  • God-making detection: all 9 items have conclusions, each mapped to the three-tier evidence system (clue / strong inference / confirmed fact)
  • Gate timeline has been run(false signals removed, 12-month postmortem written, comparison card not folded into the total score)
  • Year-end ranking push has been run(position-building year excluded, did not compare Q1/Q3 share counts only against Q4)
  • One cart, multiple plates has been run(top-ten overlap of products under the name written, comparison card not folded into the total score)
  • Opening-batch fate has been run(net shares != subscriptions; net shrinkage not written as opening inflows; in-lockup secondary turnover not treated as subscriptions)
  • Items where red flags hold have entered the IC veto candidate list
  • Alpha waterfall sum = total return (error < 0.3pp)
  • All six Alpha Evidence checks executed
  • Industry ETF comparison calculated (if industry concentration >= 50%), ETF code selected ex ante
  • Both clocks calculated(manager clock vs disclosure clock), with copycat index
  • Forward Alpha has an item-by-item deduction derivation chain
  • Both Career and Recent 5Y metric sets are displayed
  • Evidence Confidence is annotated, low confidence has capped the rating ceiling, insufficient is marked U
  • Fourfold verdict (person/product/current/you) has been given
  • Rarity two dimensions have been judged(ability tier objective + scarcity agent judgment + reasons)
  • Alpha capture rate calculated(five-layer deduction: history -> trend -> scale -> fees -> behavior)
  • Holding experience on 100,000 yuan calculated
  • All Review Triggers are quantifiable, with verdict validity period
  • HTML six tabs complete (verdict/person/independence war/exposing luck/how you would lose/how to use), no console error, share-card QR code not blank

Start from STEP 1. This Skill only needs to prove one thing:

When he differs from the company mainstream view, has he repeatedly proven himself right.

Then remember the second thing:

Whether this Alpha can, through this fund, truly reach ordinary people's accounts.