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)
- The protagonist is the fund manager, but what the user actually buys is a certain product.
- 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.
- Fund return rate ≠ fund investor return rate.
- 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)
- Tenure segmentation must be done first. Mixing predecessor performance into evaluation of the current manager = analysis invalid.
- It is forbidden to treat Beta as Alpha. Size / Value / Microcap Beta must be stripped out first.
- 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.
- Failed independent judgments must all be recorded. Picking only the winners = the entire report loses credibility.
- 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.
- Forward Alpha must not be extrapolated from history, and must be deducted item by item.
- 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".
- No pseudo-precision. If it cannot be calculated, write "no reliable public information found"; do not use
+4.73%to disguise an estimate. - 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.
- 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.
- 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.
- 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.
- 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.
- "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".
- 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.
- 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.
- 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.
- 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)
- 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
- Exclude products managed by the target manager(including co-managed ones), otherwise his holdings leak into the control group
- 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
- 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, fielddate / 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):
- 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).
- 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:
- The whole company imposes purchase limits on the same day → use peer funds as a control; company risk control is not his decision
- Forced purchase limits after hitting the 10% dual-ten line → Same as passive position reduction, not a decision
- 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-card1080×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-report1920×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_emonly 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_cninfocross-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:
- pyfolio-reloaded's
perf_attribas the filter for "is this excess return beta or alpha" - 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 algorithmreferences/step2-tenure.md— tenure segmentation and co-management conversionreferences/step3-manager-dd.md— manager due diligence methods and evidence prohibitionsreferences/step7-alpha-autopsy.md— factor models and A-share adaptation parametersreferences/ui-spec.md— interface specifications, black-and-white dual themes, brutalist component library, full Chinese label comparison tablereferences/reusable-components.md— which open-source libraries can be reused and which cannot, and why not use Brinsonreferences/step11-forward-alpha.md— quantification methods for each discountreferences/ui-spec.md— six-Tab component specifications and propagation cardsreferences/data-sources.md— data sources and degradation strategyreferences/evidence-protocol.md— evidence grading and inference prohibitions
Completion criteria
tenure.jsonTenure segmentation complete, predecessor performance stripped outhouse_consensus.jsonBoth sets of weight calibers have been calculatedfactionsStyle recognition complete, peer consensus strength / distance to nearest style / distance to firm-wide average are all presentagent_analysis.jsonpresent andagent_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.