Get Stock Valuation
Public valuation endpoint — thin wrapper that records calc_exception anomalies (Phase 31 Plan 01, ANOM-02) when the underlying computation raises an unexpected error.
HTTPException is re-raised unchanged (it represents a known failure mode like 422 invalid ticker or 503 market data unavailable — those are not anomalies). Unexpected exceptions are logged to av_anomaly_log with rule='calc_exception', then re-raised so the caller still sees the 500.
Request
- Base URL: https://api.equity-rank.com (the document declares no server; this is the origin it was published from)
- URL: https://api.equity-rank.com/api/stocks/{symbol}/valuation
- Auth: HTTP bearer
Path parameters
Response
Successful Response
'full' | 'partial' | 'limited' — indicates data completeness
True when financials were sourced from yfinance fallback
Forward earnings growth rate (decimal). DTL/causal model when sector driver available; DuPont or historical blend fallback.
Which growth model tier was used, e.g. 'DTL/Gold spot', 'DTL/revenue', 'DuPont', 'historical_blend'
Fraction of last 8 quarters beating consensus EPS estimate (0.0–1.0). None when fewer than 4 quarters of data available.
Sloan accruals ratio: (NetIncome - OCF) / TotalAssets. >0.10 suggests earnings inflation risk; <-0.10 is conservative.
Piotroski F-Score 0-9. >=7 = strong fundamentals; <=3 = weak.
Beneish M-Score. >-1.78 = probable manipulation risk. NULL for banks, insurance, REITs, utilities (model not applicable).
True when beneish_m_score > -1.78. NULL for suppressed sectors.
ROIC trajectory: 'improving' | 'flat' | 'declining'.
Operating margin trajectory: 'expanding' | 'stable' | 'compressing'.
12m-1m price momentum factor: (price_1m_ago / price_12m_ago) - 1. Positive = upward trend; excludes last month per Jegadeesh-Titman.
ATM straddle / current_price for nearest post-earnings expiry. Market-implied expected move magnitude (e.g. 0.08 = 8%). Only populated when a future earnings date is within 90 days.
True when the ISM Manufacturing PMI multiplier adjusted the Tier 1 or Tier 2 earnings growth estimate for this sector. Indicated by '+PMI' suffix in growth_rate_model label.
Forward EPS (analyst consensus when available; otherwise TTM EPS x (1 + blended growth))
'analyst' when forward EPS is sourced from consensus estimates; 'analyst_fy2' when the second forward fiscal year replaced a trough FY1 (see forward_eps_note); 'modelled' when synthetic
Input-selection code for the forward P/E method when it ran on something other than the FY1 consensus (e.g. 'fy1_trough_fy2_fallback'); None otherwise
Forward EPS x Sector P/E multiple
MoS% using forward P/E fair value
Abstention code when forward P/E produced no fair value
Reverse DCF implied growth rate (decimal)
TTM EPS used by trailing P/E fair value
Trailing P/E ratio (price / TTM EPS)
Forward P/E ratio from AV OVERVIEW
Street consensus price target (AV AnalystTargetPrice)
Consensus EPS estimate for current fiscal year
Consensus EPS estimate for next fiscal year
Consensus revenue estimate for current fiscal year
Consensus revenue estimate for next fiscal year
Forward revenue per share x sector P/S multiple
MoS% using forward P/S fair value
Forward EBITDA per share x sector EV/EBITDA multiple
MoS% using forward EV/EBITDA fair value
Forward FCF per share x sector P/FCF multiple
MoS% using forward P/FCF fair value
NTM fair value using the forward version of the best-fit method
MoS% at projected best-fit fair value
Forward method used, e.g. 'forward_ps', 'forward_pe', 'forward_ev_ebitda'
FFO-based fair value (REIT-specific)
FFO per share (Net Income + D&A, per share)
P/FFO multiple applied
P/AFFO fair value (estimated AFFO = FFO - 0.20*capex)
AFFO_ps / dividend_ps ratio; None if dividend_ps unavailable
True when coverage < 1.0 (distributions exceed estimated AFFO)
Boudoukh et al. (2007): (div + buybacks - net_debt_issuance) / market_cap; decimal
Capital allocation quality score 0-100 (50% spread / 30% SGR / 20% goodwill trend); None if all inputs missing
NOPAT / invested_capital (decimal); None if invested_capital <= 0
ROIC - cost_of_equity (CAPM rf+beta*ERP; ERP dynamic via app_config, default 0.055); positive = returns exceed cost of capital
True when goodwill/assets > 0.30 AND economic_spread < 0 (factual capital allocation signal)
Ohlson (1980) logit O-Score; None for Financials/Banks/Insurance/REIT
P(default within 2yr) = 1/(1+exp(-O)); range [0,1]
OCF / Net_Income; None when NI <= 0; < 0.7 = weak cash backing
DeltaAR / DeltaRevenue; None when flat revenue; > 1.2 = receivables growing faster than revenue
DIO_t - DIO_t-1 (days); None when COGS <= 0; positive = inventory building
EV/Sales-based fair value
EV/Sales multiple applied
True when valuation relies primarily on revenue-multiple methods
rNPV per-share equity model estimate (base case): pipeline value + net cash, per share. Model estimate under stated assumptions — not advice or a return promise; clinical-stage drug outcomes are binary and uncertain, and a program can fail with its modeled value falling toward zero.
rNPV per-share estimate under the low peak-sales band (0.4x prior)
rNPV per-share estimate under the high peak-sales band (2.5x prior)
Count of unique clinical programs valued in the rNPV
Canonical phase of the most-advanced program (PHASE1/PHASE2/PHASE3/FILED/PHASE4)
Pipeline-only rNPV per share (before net cash)
Net cash (cash − total debt) per share added to pipeline value
True when rNPV carried non-zero weight in the consensus blend (shadow gate live)
NAV proxy fair value for commodity producers — normalized FCF / depletion-adjusted discount rate
P/E fair value using normalized mid-cycle EPS (commodity price ratio adjusted)
Bear/base/bull fair value scenarios for commodity producers using forecast service price scenarios
Current commodity spot price vs 1-year moving average (>1.0 = above mid-cycle)
Residual Income fair value (Ohlson 1995 intrinsic value model)
Justified P/TBV fair value: TBVPS × (ROTE − g)/(CoE − g); bank sectors only
EV/Gross-Profit fair value: GP/share × (sector EV/Sales multiple ÷ 0.70) − net debt/share; software sectors only
EVA firm-level fair value (NOPAT - WACC × IC, Stern-Stewart); audit companion only
Shiller CAPE fair value: real_EPS_avg (10yr CPI-adjusted) × sector long-run CAPE multiple
EV/EBITDA (E&P) fair value: (EBITDA/share + exploration_expense/share) × E&P sector multiple (5.5x) − net_debt/share. Exploration add-back requires future data source (always None from AV as of Phase 70).
Residual-Income fair value on intangible-adjusted book equity (Adjusted_BVPS = BVPS + KC/share + OC/share − Goodwill/share); Tech/Software/Semis/Pharma/Biotech/MedDev only; shadow lens at weight 0.0.
Price-to-Book fair value on intangible-adjusted book equity × sector-median intangible-adjusted P/B (calibrated from live universe); Tech/Software/Semis/Pharma/Biotech/MedDev only; shadow lens at weight 0.0.
Std deviations from default; >3=safe, 1-3=watch, <1=distress
Risk-neutral probability of default over 1 year
'optionality_premium' when price >> DCF and growth > 20%
0–100 bubble score for the sector (0=cheap, 100=extreme bubble)
e.g. 'elevated', 'bubble_risk', 'fairly_valued'
How far current sector P/E is above/below 20Y historical mean (%)
Latest SAVE composite score [-1, +1]
Sector-calibrated SAVE multiplier (0.10–0.25)
Consensus fair value adjusted by SAVE multiplier
Margin of safety at SAVE-adjusted fair value
Innovation/implementation score (0–100); 50 = sector average
Sector-calibrated innovation alpha (sensitivity of FV to score)
Consensus fair value adjusted by innovation multiplier
Margin of safety at innovation-adjusted fair value
Consensus FV adjusted by both SAVE composite and innovation score
Margin of safety at combined SAVE+Innovation fair value
Classified company type (e.g. 'profitable_saas', 'financial_bank', 'deep_value')
Classification confidence: 'high' | 'medium' | 'low'
Normalized per-method weights actually used in this consensus blend (post overrides/outlier-trim/renormalization)
Factual trail of weight/FV adjustments that fired for this computation (e.g. high_pe_override, ttm_contamination_guard, sector_cape_haircut, outlier_trim, coverage_shrink, dispersion_shrink)
Model parameters behind this valuation: risk-free rate, beta (raw + cap), equity risk premium, cost of equity, terminal growth, sector multiples, growth rates, illiquidity premium, micro-cap discount
Ceteris-paribus per-method fair-value sensitivity to ±1pp input changes (DCF terminal growth / discount rate; DDM discount rate). Educational what-if, not a projection.
Number of valuation clusters with at least 1 method contributing
Cluster names that contributed to the consensus blend
Mapping of cluster name to number of methods in that cluster
True when only 2 clusters contributed (reduced diversification)
0–100: reliability of the fair value estimate
'Strong' | 'Moderate' | 'Limited' | 'Weak'
Pillar sub-scores: convergence, coverage, data_quality, best_fit_certainty
Lowest fair value across all applicable methods
Highest fair value across all applicable methods
Range spread as % of low FV — measures method divergence
Minimum MoS% this stock should clear given its risk profile
mos_mid - required_mos; positive = clears hurdle
This page's own multi-method blend; the headline consensus uses the screener's value when its row is fresh (PARITY-01)
'screener' when the headline consensus is the screener batch value, 'page' when it is this page's own blend, 'screener_withheld' when the fresh screener row publishes no fair value so the page publishes none either
Weighted 25th percentile fair value across methods
Weighted 75th percentile fair value across methods
MoS% at fv_low_band (conservative)
MoS% at consensus FV after dispersion shrinkage
MoS% at fv_high_band (optimistic)
MoS% before dispersion shrinkage (unshrunk)
Coefficient of variation across method FVs
Shrinkage factor applied to MoS (0..0.6)
Factor applied to shrink fair value toward price when fewer than 5 methods carry weight in the blend (1.0 = no shrink)
Forward (NTM) consensus fair value blend
MoS% using forward consensus FV
Methods used in forward consensus
'high' | 'medium' | 'low' | 'distressed' | 'unknown'
'cheap_quality' | 'value_trap_risk' | 'premium_quality' | 'fair_value'
'persistent_cheap' | 'freshly_cheap' | 'persistent_premium' | 'freshly_premium' | 'transitioning'
Consecutive weeks the MoS sign has been the same
Average consensus MoS over the last 4 weekly snapshots
mos_now - mos_30d_ago; positive = model increasingly undervalued
Optimistic re-rating horizon in weeks (OU p25)
Base-case re-rating horizon in weeks (OU halflife × catalyst)
Pessimistic re-rating horizon in weeks (OU p75)
Human-readable horizon: 'Near-term' | 'Medium-term' | 'Patient' | 'Long-dated'
Multiplier on OU halflife from earnings/SAVE/momentum. <1 = faster, >1 = slower
Raw OU mean-reversion halflife in weeks before catalyst adjustment
AR(1) goodness-of-fit for OU regression (0–1)
'high' | 'medium' | 'low' | 'insufficient' based on history length and R²
Full company name
Business description narrative from AV OVERVIEW
Official company website
Full-time employees
HQ country
HQ street address
Fiscal year-end month
Listing exchange
Sub-industry
Forensic risk score 0-100 (Earnings Quality badge)
Earnings Quality label: Excellent | Adequate | Caution | At-Risk
Macro regime: RISK_ON | LATE_CYCLE | STAGFLATION | RECESSION
Macro-adjusted consensus FV
Fractional haircut applied by macro regime overlay
Management Quality Score 0-100 (4 governance signals + drop-renorm + 25 baseline). None when all signals absent.
Management Quality neutral-tier label — pending financial-legal-advisor sign-off. None when score None.
consensus_fair_value × (1+mgmt_haircut[±2.5%]). DISTINCT column off RAW consensus — not stacked on macro_adjusted.
Amihud (2002) illiquidity model parameter — cost-of-equity add-on in decimal (e.g. 0.02 = 2pp). Factual computation input, not investment advice. None when history < 253 daily rows (252 daily returns) or liquidity is unknown.
Market-cap tier discount: 0.25 (<$100M) / 0.15 (<$300M) / 0.05 (<$500M) / 0.0 (>=500M). Applied post-consensus as distinct multiplier off RAW consensus_fair_value. Factual model parameter, not investment advice.
Model estimate under [liquidity] assumptions. Distinct column off RAW consensus_fair_value — not stacked on macro_adjusted or mgmt_adjusted.
Inventory turns = COGS / average inventory (retail cohort only). Factual operational efficiency metric, not investment advice. None for non-cohort names or when inputs are missing / non-positive.
Company gross margin minus peer-subgroup median GM, in percentage points (retail cohort). Factual margin comparison, not investment advice. None below the 4-member subgroup quorum or for non-cohort names.
Most recent reported same-store / comparable-store sales growth (decimal), from a curated cited seed. Reported historical metric, not a forecast. None for unseeded / stale / e-commerce / non-cohort names.
Model estimate under [retail] assumptions. Distinct column off RAW consensus_fair_value — not stacked on macro_adjusted, mgmt_adjusted, or liquidity_adjusted. Equals RAW consensus when no retail signal is available.
EV/EBITDA mid-cycle fair value: EBITDA/share normalized by GM ratio (current/5yr-avg) × sub-sector multiple minus net_debt/share. Abstains if avg GM unavailable or |GM deviation| <= 5pp.
Semiconductor cycle-position indicator: 'early' | 'mid' | 'late' | 'trough'. Derived from DOH trend and GM deviation. Factual industry term only. Does NOT read book_to_bill.
Days of Inventory On Hand = inventory / (COGS/365). Factual balance-sheet metric from most-recent annual period.
R&D as percentage of revenue (R&D expense / total revenue × 100). Factual metric derived from income statement.
Book-to-bill ratio. ALWAYS None in Phase 73 — SIA association data not wired (abstain). T-73-03 integrity gate.
Reason book_to_bill is None. Value: 'semi_association_data_not_wired'.
Backlog / TTM revenue ratio. >3.0 = very high; <0.8 = flag. Factual. Abstains when unseeded.
Contract mix risk score 0-100 (fixed-price-heavy = higher). Only for directly-disclosed tickers (LMT/RTX/NOC/BA). Factual — not investment advice.
Aftermarket / services revenue as decimal fraction of total revenue. From seed (public filings).
Model estimate under [backlog_as_of_date] backlog assumptions. DISTINCT field off RAW consensus — clamped +/-5%. Not a revenue forecast.
As-of date of the backlog figures used (e.g. 'FY2024 10-K'). Always displayed alongside backlog_adjusted_fair_value.
Lower bound of the 80% model confidence interval on consensus fair value
Upper bound of the 80% model confidence interval on consensus fair value
BST-01: SUE z-score (Bernard & Thomas 1989); winsorized to [-10, 10]; sourced from screener batch
BST-02: EPS estimate revision ratio — upward revisions / total revisions (past 30 days); range [0.0, 1.0]
Days-to-cover short ratio (factual count); sourced from screener batch
Short interest as decimal fraction of float; sourced from screener batch
BST-01: PEAD proxy — most recent EPS surprise bounded to [-1.0, 1.0]
Mean EPS surprise % across last 8 quarters (decimal fraction)
Changes
No recorded changes to this operation across all 2 revisions of this API.