longbridge-graham-stock-analysis
Prompt-only deep-value diagnostic. Given a single ticker, produces a Graham-style cigar-butt verdict: static cheapness score, dynamic trend adjustments, value-trap flagging, liquidation-value table, and an expected holding-period view. Every numeric input is reconciled across statements and footnoted to its source.
Response language: match the user's input language — Simplified Chinese / Traditional Chinese / English.
When to use
- "帮我诊断一下腾讯控股 00700" / "幫我診斷一下騰訊控股 00700" / "diagnose 700.HK with Graham cigar-butt"
- "BABA 是不是烟蒂股" / "BABA 是不是煙蒂股" / "is BABA a Graham net-net"
- "600519 NCAV 多少" / "600519 NCAV 多少" / "what is 600519's NCAV"
- "我持有这只股 6 个月了,还值得继续拿吗" / "我持有這隻股 6 個月了,還值得繼續拿嗎" / "I've held this 6 months, still worth holding"
- "这只股是真便宜还是价值陷阱" / "這隻股是真便宜還是價值陷阱" / "is this a real bargain or a value trap"
For multi-stock value screening use longbridge-value-screen. For DCF intrinsic value use longbridge-dcf. For three-statement reading use longbridge-financial-report.
Cognitive frame (do not skip)
Graham cigar-butt is patient arbitrage, not a dip-buy signal. Expected holding periods: 6–18 months (explicit catalyst), 1–3 years (sector re-rating), 3–5 years (organic accrual), or never (value trap — exit). Every output must surface holding-period expectation alongside the score; never display a score number without it.
Two failure modes the user must be able to distinguish:
- "Cheap but time hasn't come" → NCAV stable, keep holding.
- "Value trap" → NCAV shrinking quarter on quarter, exit.
Workflow
- Resolve symbol to
<CODE>.<MARKET>(e.g.00700.HK,BABA.US,600519.SH). - Detect sector. If banking / insurance / REIT / pure financial → halt and tell the user NCAV is not the right model; suggest
longbridge-valuation-methodologyinstead. - Fetch raw data via Longbridge CLI first (parallel where possible). See §CLI.
- Reconciliation gate (勾稽校验) — internal correctness check; must pass before scoring. Do not print this check or its results in the report unless it fails. See §Reconciliation.
- Static score (0–100). See
references/scoring.mdfor the six-dimension table and NCAV haircut defaults. - Dynamic adjustments — four factors (industry cycle, earnings trend, insider activity, NCAV trajectory). Industry-cycle data may not be in Longbridge; use WebSearch for PMI / inventory cycle / capacity utilisation. See
references/scoring.md§Dynamic. - Value-trap check — if any 2 of 5 rules trip, override to "⚠️ value trap" regardless of static score. See
references/scoring.md§Value-trap. - Output the 8-section report defined in
references/output.md; finish with the Data source appendix (mandatory — every figure tagged to its source).
CLI
Run longbridge <subcommand> --help to verify exact flags before each call. Primary calls (run in parallel):
# Balance sheet — NCAV inputs (cash, AR, inventory, other CA, ST/LT debt)
longbridge financial-report <SYMBOL> --kind BS --report af --format json # last 5 annual
longbridge financial-statement <SYMBOL> --kind BS --report qf --format json # last 4 quarterly (NCAV trajectory)
# Income statement — PE, earnings stability (5y no-loss), EPS trend (4q)
longbridge financial-report <SYMBOL> --kind IS --report af --format json
longbridge financial-report <SYMBOL> --kind IS --report qf --format json
# Cash flow — operating CF (value-trap rule 4: persistent negative OCF)
longbridge financial-report <SYMBOL> --kind CF --report qf --format json
# Snapshot: PE, PB, market cap, dividend yield, shares outstanding
longbridge calc-index <SYMBOL> --format json
longbridge quote <SYMBOL> --format json
# Dividend history (for "等待成本" — 3% threshold)
longbridge dividend <SYMBOL> --format json
# Ownership / insider activity (value-trap rule 2: 大股东持续减持)
longbridge ownership <SYMBOL> --format json
longbridge insresearch <SYMBOL> --format json
WebSearch fallback (only when Longbridge has a gap)
Use WebSearch only for items not available from Longbridge:
| Missing data | WebSearch query pattern |
|---|---|
| Industry PMI / inventory cycle | "<industry name> PMI 2025", "<industry> inventory cycle", "中国制造业PMI" |
| Capacity utilisation | "<industry> capacity utilization" |
| Sector outlook (qualitative) | "<sector> outlook 2025 site:reuters.com OR site:bloomberg.com" |
Recent insider transactions if ownership is stale | "<ticker> insider selling 2025" |
Each WebSearch-sourced figure must be tagged [Source: WebSearch — <publisher>, <date>] in the appendix; do not mix it silently with Longbridge data.
Reconciliation (勾稽校验) — internal gate, not user-facing
Before any scoring, verify the fetched figures internally. Reconciliation is a correctness gate for the analysis pipeline; it is not part of the user-facing report. Do not print the check table, do not show per-row gap percentages, do not narrate "勾稽通过" in the conclusion. Reconciliation results only surface to the user in two situations:
- A check fails by > tolerance → halt scoring, tell the user which specific figure(s) cannot be relied on and why no score is emitted.
- A field carries a residual gap within tolerance that materially affects a downstream number → note it inline in the Data Source Appendix row for that field (e.g. "BS current-assets sum −1.4% vs reported total — within tolerance").
| Check | Formula | Tolerance |
|---|---|---|
| IS↔BS | This-period net income ≈ Δ Retained earnings (BS) − dividends paid (CF) | ±3% |
| IS↔CF | Net income + non-cash items (D&A + impairments + WC changes) ≈ Operating CF | ±5% |
| CF↔BS | ΔCash from CF = Cash(t) − Cash(t−1) on BS | ±1% |
| Current assets sum | Cash + AR + Inventory + Other CA ≈ Total current assets (BS) | ±2% |
| Liabilities sum | ST debt + LT debt + Other liabilities ≈ Total liabilities (BS) | ±2% |
| Shares outstanding | calc-index shares × current price ≈ market cap from quote | ±2% |
| Period alignment | All statements from the same fiscal period (or note the lag) | exact |
Silent-pass principle: if everything passes within tolerance, emit the scored report directly without referencing the reconciliation step at all.
Output
Single-stock diagnostic with 8 fixed sections (full template in references/output.md). The reconciliation check is an internal gate — do NOT include its table or pass/fail rows in the user-facing report; reconciliation only appears if a check failed (in which case no score is emitted) or if a residual within-tolerance gap needs to be flagged inline against a specific Data Source Appendix row.
- Adjusted cigar-butt score card (静态分 → 动态调整 → 调整后分, with verdict tier 🟢🟡🟠🔴)
- Six-dimension static breakdown (NCAV / PE / PB / dividend / debt coverage / earnings stability)
- Dynamic adjustment detail (industry cycle, EPS trend, insider activity, NCAV trajectory, value-trap verdict)
- Holding-period view (catalyst presence, waiting cost via dividend yield, expected horizon range)
- Liquidation-value table (default vs industry-adjusted haircuts, adjusted NCAV per share)
- Safety-margin price band (current price / default NCAV line / adjusted NCAV line / Graham buy line = adjusted NCAV × 0.67)
- Three-line summary (valuation level / adjusted safety margin / Graham quantitative assessment — neutral, factual, no buy/sell recommendation)
- Data source appendix — mandatory; every figure tagged with source, fetch time, and period (and any within-tolerance reconciliation note for that field)
Always close with the boilerplate disclaimer (see references/output.md §Disclaimer).
Compliance note: The three-line summary in section 7 must be stated as objective metric readings, not directional recommendations. For example:
- "当前价格低于格雷厄姆计算的内在价值估算,符合格雷厄姆 NCAV 量化标准(仅供参考)" — not "建议买入 / 低估