| name | parallax-ai-buffett |
| description | Applies the Buffett-style factor profile (per Frazzini-Kabiller-Pedersen 2018, 'Buffett's Alpha', FAJ), reconciled for 21st-century intangibles-heavy valuations per Lev-Srivastava 2022, to a single stock's current Parallax factor scores. Returns a match/partial/no-match verdict based on Quality, Value, Momentum, and Defensive factor criteria. Third-person framing, academic citation, AI-inferred from public information. NOT financial advice. NOT personalized. Accepts plain tickers or RIC format. NOT for portfolio-level health check (use /parallax-portfolio-checkup). For all five profiles simultaneously use /parallax-ai-consensus. |
Parallax AI Buffett Profile
When not to use
- Portfolio-level analysis → use /parallax-morning-brief or /parallax-portfolio-checkup
- Full due diligence → use /parallax-due-diligence
- Quick stock evaluation without a specific investor lens → use /parallax-should-i-buy
- Peer comparison → use /parallax-peer-comparison
- Running backtests → use /backtest
- Other investor profiles → use /parallax-ai-soros, /parallax-ai-greenblatt, /parallax-ai-klarman
- Cross-profile consensus → use /parallax-ai-consensus
Gotchas
- JIT-load _parallax/parallax-conventions.md for RIC resolution, parallel execution, fallbacks, and HK ambiguity protocol
- JIT-load _parallax/AI-profiles/profile-schema.md for the dispatcher workflow and cross-validation gate
- JIT-load _parallax/AI-profiles/output-template.md for the required output structure and disclaimer
- JIT-load _parallax/AI-profiles/profiles/buffett.md for the profile spec (frontmatter + narrative)
- Cross-validation gate (spec §6.4) is NON-BYPASSABLE — refuse to render on name mismatch
- Disclaimer language is verbatim — do NOT paraphrase "not financial advice," "AI-inferred," or "consult a qualified financial advisor"
- NEVER use first-person impersonation of Buffett — always frame as "Buffett-style" or "the BKP 2018 factor profile"
- Profile is derived from public academic sources only (BKP 2018 + Lev-Srivastava 2022) — no private data, no get_assessment
- Thresholds are calibrated for 21st-century intangibles-heavy valuations — KO/AXP return match, BRK parent and AAPL return partial (documented)
- JIT-load
_parallax/white-label/integration-pattern.md before the Pre-Render step. Loader call is load_visual_branding() (7-key visual subset; voice structurally excluded — branding["voice"] raises KeyError). Apply §5 (Branding Header) and §7 (About This Report) in Output Format.
Applies the Buffett-style factor profile documented in Frazzini, Kabiller, and Pedersen's 2018 Financial Analysts Journal paper "Buffett's Alpha" to a single stock's current Parallax factor scores.
Usage
/parallax-ai-buffett AAPL
/parallax-ai-buffett BRKb.N
/parallax-ai-buffett 005930.KS
Accepts plain tickers (auto-resolved to RIC via get_company_info) or RIC format directly.
Workflow
Execute using mcp__claude_ai_Parallax__* tools. This dispatcher is generic — all differentiation for the Buffett profile lives in _parallax/AI-profiles/profiles/buffett.md.
Step 0 — JIT-load dependencies
Before the first Parallax tool call in the session:
- Load
_parallax/parallax-conventions.md — RIC resolution, parallel execution, fallback patterns, HK ambiguity.
- Load
_parallax/AI-profiles/profile-schema.md — dispatcher workflow + cross-validation gate.
- Load
_parallax/AI-profiles/output-template.md — required output structure and disclaimer.
- Load
_parallax/AI-profiles/profiles/buffett.md — Buffett profile spec.
Call ToolSearch with query "+Parallax" to load the deferred MCP tool schemas before the first mcp__claude_ai_Parallax__* call.
Step 1 — Resolve ticker
Use get_company_info with the input ticker. If empty, retry with exchange suffixes per shared conventions. For .HK/numeric codes, apply the HK ambiguity cross-check from conventions §2.
Step 2 — Fire data calls in parallel
Once the RIC is confirmed, call all of the following simultaneously (per conventions §3):
| Tool | Parameters | Purpose |
|---|
get_peer_snapshot | symbol | Factor sub-scores: quality, value, momentum, defensive |
get_financials | symbol (statement defaults to "summary") | Revenue/income narrative for context |
get_score_analysis | symbol (weeks defaults to 52) | 52-week factor trend direction |
IMPORTANT — MCP parameter serialization: Do NOT pass numeric parameters like weeks or periods as explicit arguments via the :weeks=52 or :periods=4 syntax — the MCP transport serializes them as strings, causing "Expected number, received string" validation errors. Rely on server defaults (52 weeks, 4 periods) or pass them as properly-typed integer arguments at the individual tool-call site.
Step 3 — Pre-render cross-validation gate (MANDATORY per spec §6.4)
After get_peer_snapshot returns, cross-check the target_company field returned by get_peer_snapshot against the name field returned by get_company_info for the same symbol. (Note: the peer snapshot tool uses target_company, not name, for the queried stock; the name field on individual peer entries refers to each peer.)
If names diverge: refuse to render and emit exactly:
Error: Symbol cross-validation failed for <ticker>.
get_company_info returned: "<name_a>"
get_peer_snapshot target_company: "<name_b>"
Cannot render Buffett-style profile — possible wrong-company mapping (see parallax-conventions.md §2).
Do not proceed to Step 4 on mismatch. This check is non-bypassable.
Step 4 — Apply Buffett thresholds
From the profile spec buffett.md frontmatter (tuned 2026-04-06 from anchor test), the thresholds are:
- Quality ≥ 5
- Value ≥ 4
- Momentum ≤ 6
- Defensive ≥ 7
For each factor, compare the score returned by get_peer_snapshot against the threshold. Record pass/fail per factor. Thresholds are reconciled for 21st-century intangibles-heavy valuations per Lev & Srivastava (2022) — do not tighten without re-anchoring against KO/AXP.
For any factor score in the threshold zone (≥7 or ≤3 — notably strong or weak), call explain_methodology for that factor to include the Parallax definition in the output. This is the pedagogy hook from spec §7 row 3.
Step 5 — Compute verdict
Count passed factors (out of 4):
- 4 of 4 →
match
- 1-3 of 4 →
partial_match (specify the count, e.g., "2 of 4")
- 0 of 4 →
no_match
Step 6 — Render through output template
Format the output per _parallax/AI-profiles/output-template.md. The template requires, in order:
- Header:
Buffett-style profile applied to <ticker>
- Citation block (full BKP 2018 citation + DOI)
- Profile characterization statement (one sentence from the profile spec body)
- Data table: Factor | Target | Score | 52-wk trend | Match
- Verdict: "Profile fit: <match/partial/no> — N of 4 factor criteria met"
- Synthesis (REQUIRED for every verdict, including
match) — 1-2 sentences naming which legs of the BKP-2018 Buffett profile the stock fits and which it misses, with the one-line takeaway. A match is not self-explanatory: state why (e.g. "cheap, high-quality, low-beta — the cluster BKP attribute Berkshire's alpha to"). Do not leave a match as a bare table.
- Methodology footer (workflow derivation, anchor-test date, legal-review date — renders only once completed, tool sequence, token cost)
- Standard disclaimer (VERBATIM — substitute
[Investor] with Warren Buffett and nothing else)
Step 7 — Emit
Steps 1–6 are silent. Perform the ticker resolution, cross-validation, scoring, threshold logic, and verdict computation internally — none of that working appears in your reply. Your entire visible response is the rendered template and nothing else, beginning at the Header line Buffett-style profile applied to <ticker>. The first character you output is the B of "Buffett-style". Do NOT prepend **Step N** labels, "Cross-validation passed", "All data verified", a "Let me…" preamble, or any narration — if any such text would precede the Header, delete it. The Output example below shows the complete response, first character to last.
Output example
Buffett-style profile applied to KO.N
Source: Frazzini, A., Kabiller, D., Pedersen, L. H. (2018). Buffett's Alpha. Financial Analysts Journal, 74(4), 35-55.
(https://doi.org/10.2469/faj.v74.n4.3)
Frazzini, Kabiller, Pedersen (2018) decompose Berkshire Hathaway's 1976-2017 returns into factor exposures: strong Quality, strong Value, and positive Defensive (low-beta), with ~1.6x leverage overlay at portfolio level (momentum is not a meaningful part of the profile).
| Factor | Target | KO.N score | 52-wk trend | Match |
|-----------|-----------|------------|-------------|-------|
| Quality | ≥ 5 | 8 | ↑ stable | YES |
| Value | ≥ 4 | 4 | → stable | YES |
| Momentum | ≤ 6 | 4.83 | → stable | YES |
| Defensive | ≥ 7 | 10 | ↑ stable | YES |
Profile fit: match — 4 of 4 factor criteria met.
**Synthesis:** KO fits all four legs of the BKP-2018 profile — high-quality (Quality 8), reasonably priced (Value 4), low-momentum (4.83), and strongly low-beta (Defensive 10) — the cheap-safe-quality cluster the paper attributes Berkshire's alpha to. It sits at the quality-and-safety end of that style rather than deep value.
Verdict sensitivity: Value 4 is at the ≥ 4 boundary; the verdict drops from match to partial (3 of 4) if Value falls below 4. The next-nearest input, Momentum 4.83 against the ≤ 6 ceiling, has 1.17 points of headroom.
Workflow derived from: Frazzini, Kabiller, Pedersen (2018), "Buffett's Alpha", FAJ 74(4):35-55.
Last anchor-tested: 2026-04-06 (KO.N, AXP.N)
Tool sequence: get_company_info, get_peer_snapshot, get_financials(summary), get_score_analysis(52w), explain_methodology
Token cost: 4 tokens
---
This output is an AI-inferred interpretation of Warren Buffett's approach, derived solely from publicly available information — the cited source, Parallax factor data, and Parallax's public methodology. It is produced by the Parallax AI Investor Profiles framework. It is not financial advice, not personalized, not endorsed by Warren Buffett or his representatives, and not a recommendation to buy or sell any security. For illustrative and educational use only. Past characterization does not guarantee future relevance. Please consult a qualified financial advisor before making investment decisions.
Note: the 52-week trend column uses arrows (↑ up, ↓ down, → stable). The scores shown above are from the KO.N anchor test (2026-04-06); actual scores at invocation time come from live Parallax data.
Output additions (white-label branding + §9.2 disclosure)
These additions apply to the rendered output ABOVE in addition to the persona-specific disclaimer shown in the output example. They are required regardless of view state.
Pre-Render — Load white-label branding
Load _parallax/white-label/integration-pattern.md §2 and compute white_label_active + client_name per that section. Apply §5 (Branding Header) and §7 (About This Report) when composing the Output Format.
- Branding Header (only if
white_label_active AND client_name != "") — single line at the very top of the rendered output: **<client_name>** Buffett-style profile. Logo handling per integration-pattern.md §5.
- About This Report (always present): one line stating branding state per integration-pattern.md §7. If a logo was skipped, append
Logo on file: <basename> as a second About This Report line.
AI-interaction disclosure (required regardless of view state): Render parallax-conventions.md §9.2 immediately above the disclaimer below. The persona-specific disclaimer in the output example characterizes the source of the framing; the §9.2 banner characterizes the LLM-generated synthesis itself.
Render the standard disclaimer verbatim from parallax-conventions.md §9.1.
Graceful fallback
Apply the graceful fallback patterns from parallax-conventions.md §4. If any required tool call fails after retry, mark the relevant section as "Data unavailable" and compute the verdict using available factors only. A verdict computed on <4 factors must be flagged as "partial data — N of M factor criteria available" and CANNOT be rendered as match even if all available factors pass. Consumers downstream (e.g., the /parallax-ai-consensus meta-skill) should treat such outputs as partial_match at best.