Signal

Command Palette

Search for a command to run...

Scoring Methodology — Signal

All scores are 0–100. Pipeline for every score: compute raw components per company → winsorize at 1st/99th percentiles → percentile-rank within the S&P 500 universe → weighted blend → 0–100. Weights below are v1 starting points; every score run records its weights in score_runs.config so runs are reproducible. Missing components: reweight remaining components proportionally; if >50% of weight is missing, score is null (displayed "insufficient data").

LLM scores: temperature 0, JSON-schema structured output, per-dimension 0–10 with mandatory evidence citations (a dimension without ≥1 citation is rejected and retried once, then nulled). Prompts include 2 fixed anchor-company exemplars to calibrate the scale. Rubric files live in app/llm/rubrics/ and are versioned; the rubric version is recorded in score_runs.config.


Financial (quant)

TTM values from fundamentals (sum of last 4 quarters; fall back to latest FY).

ComponentDefinitionWeight
RONTAEBIT ÷ (total assets − goodwill − intangibles − total liabilities); if denominator ≤ 0, assign top-decile flag and exclude from ranking (score via other components)30%
ROICNOPAT ÷ invested capital, where NOPAT = EBIT × (1 − effective tax rate), invested capital = total debt + equity − cash25%
StrengthComposite: Piotroski F-score (9 signals, from YoY fundamentals) 50% + interest coverage (EBIT/interest expense) 25% + net debt/EBITDA (inverted) 25%25%
Sales growth3Y revenue CAGR 60% + TTM YoY revenue growth 40%20%

GARP (quant)

Growth at a reasonable price: growth percentile vs. valuation percentile.

ComponentDefinitionWeight
Growth3Y revenue CAGR 40% + 3Y diluted-EPS CAGR 40% + TTM YoY EPS growth 20% (EPS growth winsorized hard; negative-base EPS → component null)50%
Valuation (inverted rank)Earnings yield (TTM EPS/price) 40% + EBIT/EV 40% + sales yield (revenue/EV) 20%50%

Blend rule: score = percentile of (growth_pct − 0.8 × valuation_expensiveness_pct) — cheap fast growers top, expensive slow growers bottom. Tune the 0.8 after first backfill.

PayScore (quant)

ComponentDefinitionWeight
SBC ratioTTM SBC ÷ TTM gross profit (lower = better)50%
SBC trend3Y avg SBC ratio vs TTM (improving = better)20%
Dilution3Y diluted share count CAGR, net (buybacks show up here as negative)30%

Surge (quant)

From prices (adjusted closes):

  1. Compute last 12 calendar-month returns r₁ (most recent) … r₁₂.
  2. Weighted momentum M = Σ wᵢ·rᵢ with exponential weights, half-life = 3 months (w₁ normalized sum to 1).
  3. Cross-sectional z-score of M across the universe on the run date ("normalized to current market dynamics").
  4. Map z to 0–100 via percentile rank. Skip-month variant (exclude most recent month, classic momentum) is computed and stored as a component for later evaluation but not used in v1 score.

Leaders (hybrid)

Quant components (60%):

ComponentDefinitionWeight
CEO-tenure TSRAnnualized total shareholder return from CEO start date vs. equal-weighted sector peers over same window25%
Financial trajectoryROIC trend (5Y slope) + margin trend under current CEO20%
Capital allocationBuyback effectiveness (shares repurchased at below current-run median valuation multiple = good) + goodwill-impairment history (impairments within 5Y of acquisitions = bad)15%

LLM components from DEF 14A + 8-K + news dossier (40%): governance quality (board independence, dual-class, related-party flags) 15%, track-record narrative (delivery vs. stated strategy across filings) 15%, red flags (abrupt departures, restatements, investigations) 10%.

AI (LLM)

Dossier: 10-K Items 1/1A/7 excerpts (AI-relevant passages pre-filtered by keyword windows), news_events tagged AI, patent_stats.ai_related, R&D/revenue from fundamentals.

Dimensions (0–10 each): AI product depth (real deployed capability vs. narrative) ×3, AI infrastructure (own models/chips/datacenters/data moat) ×2.5, technical talent & research output ×2, potential impact of AI on the business (upside or disruption-resilience) ×2.5. Sum × weights → 0–100 rubric score → percentile-ranked.

Tech (LLM)

Same dossier family as AI. Dimensions: core infrastructure strength ×2.5, industry/ecosystem position ×2.5, AI & AGI capability ×2.5, innovation potential (patent velocity, R&D intensity, new-product cadence) ×2.5.

Note: AI and Tech overlap by design (AI dimension appears in both); they answer different questions — "how good is their AI?" vs. "how strong is their overall technology position?"

Product: 1Y (LLM)

Input: news_events from trailing 365 days, classified (launch/partnership/acquisition), plus 8-K material-agreement/acquisition items. Two stages:

  1. Per-event LLM classification: type, significance 0–3, sentiment −1..1 (cached per event, incremental).
  2. Rubric roll-up: launch execution ×3, partnership/M&A quality ×3, market sentiment ×2, strategy coherence ×2.

Product: 5Y (LLM)

Dossier: 5 years of 10-K Item 1/1A + competitive-position passages, long-window news sample, peer list (same GICS industry). Dimensions: competitive strength vs. named peers ×3, product quality & customer satisfaction ×2.5, innovation & competitive edge durability ×2.5, 5Y execution trajectory ×2.


Refresh cadence

ScoresCadence
Surgedaily
Financial, GARP, PayScoreweekly
AI, Tech, Leaders, Product 1Y, Product 5Yquarterly + manual trigger

Validation & calibration (ongoing)