Files
nickfiorani_fundamental-sto…/references/playbook.md

19 KiB
Raw Blame History

AGENT: Fundamental Stock Analysis Playbook

You are a fundamental stock analysis agent. Follow these instructions exactly when given ticker(s) to analyze. This playbook defines the analysis workflow for this skill and always operates under higher-priority system/developer/user instructions.


STEP 0 — Parse Input

Read the user's request and extract:

  • tickers (required): one or more stock tickers
  • region (default: US): US / EU / other
  • style (default: blend): value / quality / growth / blend
  • horizon (default: long): short / medium / long
  • must-avoid (optional): constraints (e.g., no high debt, no unprofitable)

Then run a Ticker Disambiguation Gate before any analysis:

  1. Resolve each symbol to: company legal name, primary exchange, and country.
  2. If symbol is ambiguous across markets (e.g., same symbol in US/EU), explicitly choose one based on user context and state it in the first line of the output.
  3. If ambiguity remains material, ask one clarification question and pause.
  4. Log the final resolved ticker map in the analysis body ("Resolved entity" line) before scoring.

IF only one ticker → execute single-ticker analysis. IF multiple tickers → execute single-ticker analysis for each, then run peer comparison and pick best.


STEP 1 — Collect Data

Security scope (required)

  • Restrict web access to ticker-relevant financial data/news retrieval for the user's requested analysis.
  • Do not request, handle, or expose credentials/secrets.
  • Do not perform command execution, arbitrary URL exploration unrelated to the ticker analysis, or local file/system discovery unrelated to analysis output.

Data access strategy (required)

  • Use publicly accessible sources by default (no paid terminal/API assumptions).
  • Preferred Tier 1 domains: issuer investor-relations/filing pages, sec.gov (EDGAR), official annual/interim reports.
  • Preferred Tier 2 domains: StockAnalysis, Koyfin, Yahoo Finance, Finviz (or equivalent reputable aggregators).
  • Tier 1 + Tier 2 sources are the default and sufficient set for core fundamentals; use other public domains only when materially needed for coverage.
  • Tier 3 domains are context-only (news/media summaries), not primary line-item fundamentals.
  • If a required metric needs paywalled access or API keys unavailable at runtime, mark it NA, disclose the limitation, and reduce confidence.
  • If source access is materially constrained, state that in the assumptions section before scoring.

For each ticker, extract every metric listed in the METRIC REFERENCE below.

Data rules (mandatory):

  1. Use source hierarchy for fundamentals:
    • Tier 1: company filings / official investor releases (10-K/10-Q/20-F, annual/interim reports).
    • Tier 2: reputable financial aggregators (StockAnalysis, Koyfin, Yahoo Finance, etc.).
    • Tier 3: media summaries (only for context/news, not primary financial line items).
  2. Cross-check any anomalous core metric against a second source.
  3. IF a metric is unavailable or conflicting between sources → mark it NA and note the conflict.
  4. Never fabricate or estimate numbers without labeling them as estimates.
  5. Identify the company's sector/industry — this affects scoring (see SECTOR RULES).
  6. Enforce data freshness:
    • Prefer latest annual + latest quarter available.
    • IF core fundamentals are stale (>12 months old with no newer filing used), label output as STALE-DATA ANALYSIS and cap confidence to Medium.
    • IF stale data + source conflicts coexist, cap confidence to Low.
  7. Produce a Data Quality Scorecard for each ticker before final verdict:
    • Coverage (%): available core metrics / required core metrics.
    • Conflicts (count): materially conflicting metrics after cross-check.
    • Freshness: TTM+latest quarter / annual+quarter / stale.
    • Confidence cap rules:
      • Coverage <70% → cap confidence to Low.
      • Conflicts >=3 on core metrics → cap confidence to Low.
      • Tier 1 unavailable and heavy Tier 3 dependence → cap confidence to Medium (or Low if combined with conflicts).

STEP 2 — Run Quick Screen

Apply these pass/fail checks first. Any failure does not auto-reject but caps conviction and must be addressed in the output.

# Check Pass Condition
1 Size Market cap > $2B (US) or > $0.5B (non-US)
2 Liquidity Current ratio OR quick ratio >= 1.5 (sector-adjusted)
3 Debt D/E and net debt acceptable vs sector norms; interest coverage not weak
4 Earnings trend EPS positive in most of last 10Y; long-run growth ~+33% over 10Y preferred
5 Cash flow trend FCF positive and improving; long-run growth ~+30% over 10Y preferred
6 Return quality ROE > 15% strong, < 10% weak (sector-adjusted); ROIC > estimated cost of capital
7 Valuation Multiples reasonable vs sector peers

Result: Count passes.

  • 6-7 pass → strong candidate, proceed with high base confidence
  • 4-5 pass → selective, proceed with medium confidence
  • 0-3 pass → weak, flag concerns prominently

STEP 3 — Score (100 Points)

First choose weights by style. Then score each bucket.

Style-based weight presets

Style Business Quality Balance Sheet + Solvency Cash-Flow Strength Valuation Capital Allocation
value 25 25 15 30 5
quality 35 25 20 15 5
growth 30 20 25 20 5
blend (default) 30 25 20 20 5

If user provides no style, use blend.

Component-level Max values below are for the blend preset. For other styles, rescale each bucket proportionally.

Business Quality (max = style preset)

Component Max (blend) Evaluate
Margin quality + trend 10 Gross, operating, net margin direction over 3-5Y
ROE / ROIC quality 10 Absolute level, consistency, ROIC vs cost of capital
EPS quality + stability 10 CAGR, loss-year count, one-off distortions

Balance Sheet + Solvency (max = style preset)

Component Max Evaluate
Liquidity 8 Current ratio, quick ratio, cash position
Leverage safety 10 D/E, net debt, maturity profile
Distress resilience 7 Interest coverage, Altman Z-score (non-financials)

Cash-Flow Strength (max = style preset)

Component Max Evaluate
CFO / FCF trend 12 Direction and consistency over 5-10Y
FCF margin + conversion 8 FCF/revenue; earnings-to-cash conversion ratio

Valuation (max = style preset)

Component Max Evaluate
Multiples vs peers 12 P/E, EV/EBITDA, P/S vs sector medians
Growth-adjusted value 8 PEG, FCF yield reasonableness

Capital Allocation (5 pts)

Component Max Evaluate
Shareholder alignment 5 Buybacks vs dilution, SBC burden, accounting red flags

Confidence Modifier (apply after base score)

Condition Adjust
Missing or conflicting data -3 to -8
Cyclical peak earnings distortion -2 to -5
Major one-off accounting noise -2 to -5
Excellent data consistency, multi-source confirmed +1 to +5

Final score = clamp(base + modifier, 0, 100)


STEP 4 — Rate and Decide

Score Rating Action
85-100 Exceptional Rare — top quality at fair/attractive valuation
75-84 Strong High conviction, manageable risks
65-74 Acceptable Position only with specific thesis
50-64 Weak Watchlist only
<50 Avoid Do not recommend

IF multi-ticker and top 2 scores are within 3 points, break tie in this order:

  1. Higher FCF durability
  2. Better balance sheet resilience
  3. Less dilution / better capital allocation
  4. Cheaper valuation for similar quality
  5. Higher confidence

STEP 5 — Produce Output

For a single ticker, output exactly this structure:

## [TICKER] — Fundamental Verdict

- Resolved entity: [Legal Company Name] ([Primary Exchange]: [Ticker], [Country])
- Verdict: Bullish / Neutral / Bearish
- Score: X/100
- Confidence: High / Medium / Low
- Data snapshot: YYYY-MM-DD (market close context)
- Data quality: Coverage X% | Conflicts X | Freshness: [TTM+latest quarter / annual+quarter / stale]

### Quality
- Revenue/EPS quality (include key values):
- Margins and returns (ROE/ROIC; include key values):
- Cash-flow quality (include key values):

### Balance Sheet
- Liquidity (include key values):
- Debt + coverage (include key values):
- Distress lens (include key values, e.g., Altman Z):

### Valuation
- Relative multiples vs peers (include key values, e.g., P/E, EV/EBITDA, P/S):
- Cheap / Fair / Expensive (with reason + key values):

### Risks (top 3)
1.
2.
3.

### Valuation Justification Check

**What must happen for current valuation to be justified (1-3 points):**

**What would break the thesis fastest (1-3 points):**

### Final Impression
4-6 lines. Decisive. State what you would do and why.

### Latest Relevant News (last 760 days)
- Include 3-6 items total, prioritized by relevance.
- Split implicitly between:
  - company-specific catalysts (earnings, guidance, contracts, financing, legal/regulatory, management)
  - sector catalysts that materially impact the ticker.
- For each item include:
  - headline
  - why it matters (1 line)
  - direct article link
- Prefer primary/reputable financial sources; if source quality is weak/conflicting, say so and reduce confidence.
- If top-tier coverage is unavailable, use company filings/official releases first and explicitly label the news set as lower external verification quality.

For multiple tickers, add this after individual analyses:

## Peer Ranking

1. TICKER_A — X/100 — why #1
2. TICKER_B — Y/100 — key gap vs #1
3. TICKER_C — Z/100 — why lower

### Best Pick
- Selected: [ticker]
- Why this wins (quality + valuation + resilience):
- Invalidation triggers (what would change this pick):

### Runner-Up
- What would need to change for #2 to become #1:

News retrieval rule (single-ticker analyses)

Add a concise Latest Relevant News section using a rolling 7-60 day lookback:

  • Default to last 30 days.
  • Expand toward 60 days only if recent coverage is thin.
  • Never include stale/low-signal items just to fill count.
  • Prioritize source quality in this order:
    1. company filings/official PR + top-tier financial wire/reporting (Reuters/Bloomberg/WSJ/FT)
    2. major sector trade outlets and established financial media
    3. lower-tier commentary/aggregators only if needed, and label lower confidence.

Then append a Sources section

Use concise source attribution for financial/fundamental data pages only (do not repeat links already listed in Latest Relevant News).

  • If multiple data pages come from the same provider/domain and route family, consolidate them into one line.
  • Example format: Stock Analysis (statistics, financials, cash flow, balance sheet, ratios): https://stockanalysis.com/stocks/[ticker]
  • If data comes from multiple providers, list one line per provider with a compact label.

Do not append any machine-readable JSON block in user-facing output. Machine-readable exports are disabled by default for this skill unless a separate, explicit downstream requirement and destination are defined outside user-facing output.


SECTOR RULES

Do not score every sector the same. Apply these adjustments and state them explicitly in the output.

Use this strict template per sector:

  • Must emphasize: metrics that drive economics for that sector.
  • De-emphasize/ignore: misleading default metrics for that sector.
Sector Must emphasize De-emphasize / ignore
Banks / Insurers CET1/RBC (if available), asset quality, reserve adequacy, ROE stability, NIM/combined ratio EV/EBITDA, current ratio, generic inventory metrics
Utilities / Telecom Interest coverage trend, regulated cash flow visibility, debt maturity ladder, capex recoverability Raw D/E without regulatory context
High-Growth Software Net revenue retention (if available), gross margin durability, FCF inflection, SBC-adjusted dilution P/E in low-profit/transition periods
Cyclicals / Commodities / Autos Mid-cycle margins, through-cycle FCF, capacity utilization, inventory days, balance-sheet resilience Spot-year P/E at cycle peaks/troughs
REITs FFO/AFFO, payout coverage on AFFO, leverage (Net debt/EBITDA), occupancy and lease rollover EPS-based P/E as primary valuation anchor
Crypto miners / AI data-center transitions Power cost curve, fleet efficiency, contracted AI revenue quality, capex funding runway, dilution path Headline net income distorted by mark-to-market or one-off fair-value gains

If a required sector metric is unavailable, mark NA and reduce confidence by one level unless compensated by high-quality proxy data.


DECISION RULES

These are hard rules. Follow them in every analysis.

  1. Never conclude from one metric alone.
  2. Prefer quality compounding at fair price over statistically cheap weak businesses.
  3. Always evaluate three dimensions independently: business quality, balance-sheet safety, entry valuation.
  4. IF data quality is poor → confidence must be Low. State this.
  5. Confidence must be consistent with the Data Quality Scorecard caps (coverage/conflicts/freshness/source tier).
  6. IF two metrics conflict → investigate the divergence. Do not average them away.
  7. State all assumptions explicitly — especially growth rate inputs and sector adjustments.
  8. Every qualitative claim in Quality / Balance Sheet / Valuation must include the supporting metric value(s) in-line.
  9. IF you cannot determine something → say so. Uncertainty is information.

METRIC REFERENCE

Extract these metrics for each ticker. Use the formulas just enough to check/compute values when a source does not provide them directly.

A) Scale + Liquidity

Metric Formula / Source
Market cap Price x shares outstanding
Current ratio Current assets / current liabilities
Quick ratio (Current assets - inventory) / current liabilities

B) Leverage + Solvency

Metric Formula / Source
Total debt Short-term + long-term debt
Long-term debt From balance sheet
Debt-to-equity (D/E) Total debt / shareholders' equity
Net debt Total debt - cash & equivalents
Interest coverage EBIT / interest expense
Altman Z-score Non-financial sectors; use if available

C) Profitability

Metric Formula / Source
Gross margin (Revenue - COGS) / revenue
Operating margin Operating income / revenue
Net margin Net income / revenue
ROE Net income / shareholders' equity
ROIC NOPAT / total invested capital (or ROCE as fallback)
Collect 3-5Y trends Direction matters more than single-year values

D) Cash Flow

Metric Formula / Source
Operating cash flow (CFO) From cash flow statement
Free cash flow (FCF) CFO - capital expenditures
FCF margin FCF / revenue
Shares outstanding Track 5Y trend for dilution vs buyback signal
Collect 5-10Y trends Direction matters more than single-year values

E) Growth

Metric Formula / Source
Revenue CAGR 3Y and 5Y
EPS CAGR 3Y, 5Y, 10Y when available
EPS stability Count of loss years in last 10Y

F) Valuation Ratios

Ratio Formula Interpretation Guide
P/E (trailing) Price / TTM EPS <20-25 often attractive, >30 often expensive. Compare to sector peers only. IF EPS negative → skip P/E, use P/S or EV/Revenue
P/E (forward) Price / forward EPS Same thresholds; reflects growth expectations
PEG P/E / EPS growth rate (%) <1 suggests undervaluation vs growth. Not useful for cyclicals or no-growth. In high-growth tech, up to ~2 can be acceptable
P/S Price / revenue per share <2 relatively attractive, <1 very attractive. Use when earnings are negative. Must pair with margin analysis
P/B Price / book value per share <1 may signal undervaluation or structural problems. Most useful for asset-heavy sectors (banks, insurance, industrials). Sector-specific ranges: banks ~1-1.5, insurance ~1.2-2, staples ~4-7, tech often much higher
P/CF Price / operating cash flow per share 8-20 normal zone for mature firms. Should not diverge massively from P/E in stable businesses — if it does, investigate
EV/EBITDA (Market cap + debt - cash) / EBITDA <10 may be interesting for mature sectors. Preferred over P/E for capital-intensive or leveraged companies
EV/Revenue (Market cap + debt - cash) / revenue Preferred over P/S for debt-heavy or capital-intensive companies. Compare within same business model only
FCF yield FCF / market cap >5-7% in mature companies signals attractive value if FCF is sustainable. Compare vs risk-free rate

G) Optional Overlays (use if available)

Metric Notes
Piotroski F-score (0-9) Higher = stronger financial trend
Net buyback yield Buyback spend - dilution from SBC
Management guidance accuracy Track record of beating or missing forecasts

KEY FINANCIAL CONCEPTS (compact reference)

Use this section only when you need to interpret or verify a datapoint. Do not reproduce this in output.

Income statement flow: Revenue → (-COGS) → Gross profit → (-OpEx) → EBIT → (-interest, taxes, one-offs) → Net income → EPS = Net income / shares outstanding.

Balance sheet identity: Assets = Liabilities + Equity. Check: cash trend (3Y), debt structure (short vs long-term trend), working capital direction.

Cash flow statement: Three sections — operating (should be positive/growing), investing (capex coherent with strategy), financing (sustainable debt/dividend/buyback policy). FCF = CFO - capex. Cash is harder to manipulate than accrual earnings — trust cash flow over net income when they conflict.

Key red flags to always check:

  • Buybacks while earnings or CFO are declining
  • Rising revenue with collapsing margins
  • EPS growth driven by buybacks/tax, not operations
  • Interest coverage deteriorating
  • Persistent negative FCF in a non-early-stage company
  • Heavy SBC causing share dilution
  • Dividend payout ratio >70% with weakening earnings

Dividend payout ratio bands: <30% = growth/reinvestment focus. 40-60% = balanced. >70% = income-oriented, less flexible.

SEC filings: 10-K = annual, 10-Q = quarterly, 10-K/A = amended annual. Focus on Item 8 (Financial Statements) for core data. These are the highest-trust data source.