diff --git a/alembic/versions/027_snapshot_weighted_avg_diluted_shares.py b/alembic/versions/027_snapshot_weighted_avg_diluted_shares.py new file mode 100644 index 0000000..fcca808 --- /dev/null +++ b/alembic/versions/027_snapshot_weighted_avg_diluted_shares.py @@ -0,0 +1,43 @@ +"""fundamental_snapshots.weighted_avg_diluted_shares — market-cap fallback + +Revision ID: 027 +Revises: 026 +Create Date: 2026-07-24 00:00:00.000000 + +Multi-class issuers report the cover-page share count per share class. That is a +dimensional fact and Company Facts is non-dimensional, so it is absent entirely: +META has never tagged it, CMCSA stops in 2009, BRK-B in 2011, CHTR in 2016 (when +the Time Warner Cable deal made it multi-class). `shares_outstanding` is +therefore null for a large slice of the mega-cap universe, which silently removes +both `market_cap_est` and `fcf_yield`. + +The weighted-average diluted count is always present (EPS requires it) and is +consolidated across classes. Measured against issuers where the true +point-in-time count IS available, it lands within ~0.6%: GOOGL 0.9936, MRNA +1.0045, AAPL 0.9974, MSFT 0.9978. + +Stored as its own column rather than backfilled into `shares_outstanding`, so the +point-in-time column keeps its strict meaning and the fallback stays an explicit, +labelled read-time decision. Existing rows are null until a reparse. +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +revision: str = "027" +down_revision: Union[str, None] = "026" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.add_column( + "fundamental_snapshots", + sa.Column("weighted_avg_diluted_shares", sa.Float(), nullable=True), + ) + + +def downgrade() -> None: + op.drop_column("fundamental_snapshots", "weighted_avg_diluted_shares") diff --git a/app/models/fundamental_snapshot.py b/app/models/fundamental_snapshot.py index afdc469..6b3a8c4 100644 --- a/app/models/fundamental_snapshot.py +++ b/app/models/fundamental_snapshot.py @@ -12,8 +12,10 @@ class FundamentalSnapshot(Base): Keyed by issuer (CIK), not ticker — multi-class issuers (GOOG/GOOGL) share one CIK and one set of fundamentals; the ``tickers.cik`` column is the only join point. Amendments are retained: every accession is a distinct immutable - row, and readers pick the newest valid ``accepted_at`` per - (cik, fiscal_year, fiscal_period) at read time — no flags, no mutation. + row, and readers resolve (cik, fiscal_year, fiscal_period) at read time by + taking the newest ``accepted_at`` **per field**, falling back to the newest + accession that actually reports one — a partial amendment (a 10-K/A adding + Part III reports no financial facts) must not blank the period — no flags, no mutation. **Facts are stored as the filing reports them, never as derived quarters.** Duration facts (revenue, net_income, operating_income, diluted_eps, cfo, @@ -70,6 +72,12 @@ class FundamentalSnapshot(Base): # reported "as of" its own date, which can differ from period_end — store it # so market cap uses the right point-in-time count. shares_outstanding_date: Mapped[date | None] = mapped_column(Date, nullable=True) + # Weighted-average diluted count for the filing's most recent quarter — the + # market-cap fallback when the cover-page count is absent, which it always is + # for multi-class issuers (per-class facts are dimensional, and companyfacts + # is not). An average is not cumulative, so unlike the duration facts above + # this is NOT a YTD value: it is the shortest-span fact ending at period_end. + weighted_avg_diluted_shares: Mapped[float | None] = mapped_column(Float, nullable=True) import_run_id: Mapped[int | None] = mapped_column( ForeignKey("data_import_runs.id", ondelete="SET NULL"), nullable=True diff --git a/app/services/data_import.py b/app/services/data_import.py index 11f1adf..f65992b 100644 --- a/app/services/data_import.py +++ b/app/services/data_import.py @@ -145,11 +145,17 @@ async def run_import( importer: SourceImporter, *, engine: AsyncEngine | None = None, + force: bool = False, ) -> DataImportRun | None: """Run one import for ``importer``. Returns the recorded ``DataImportRun`` (promoted / no_op / failed), or None when the per-source advisory lock is already held (another run is active). + + ``force`` runs even when the revision is unchanged. The revision tracks the + *source*, so a re-import driven by a change on our side — a parser fix that + makes stored rows stale — is a no_op under the normal gate. Manually invoked + only; scheduled jobs must leave it False so an unchanged source stays a no_op. """ engine = engine or app_engine source = importer.source @@ -189,7 +195,7 @@ async def run_import( revision = await importer.detect_revision(session) run.revision = revision last_rev = await _last_promoted_revision(session, source) - if revision is not None and revision == last_rev: + if not force and revision is not None and revision == last_rev: run.status = STATUS_NO_OP run.completed_at = _now() await session.commit() diff --git a/app/services/fundamentals_api_service.py b/app/services/fundamentals_api_service.py index 33541bb..05efb79 100644 --- a/app/services/fundamentals_api_service.py +++ b/app/services/fundamentals_api_service.py @@ -155,6 +155,17 @@ def _build_valuation(derived, subject_price, peer_derived, peer_price_by_cik, tw "pe": _round(pe, 2), "fcf_yield": _round(fcf_yield, 2), "market_cap_est": _round(market_cap, 0), + # market_cap_est and fcf_yield both rest on the share count. When it came + # from the weighted-average diluted fallback (multi-class issuers, whose + # per-class cover-page count is absent from companyfacts), say so rather + # than presenting a period average as a point-in-time count. + "shares_estimated": bool( + market_cap is not None and derived.shares_outstanding_estimated + ), + # A null P/E is ambiguous: no earnings data, or earnings we deliberately + # suppressed. Only the latter carries a caveat, so a split-contaminated + # TTM says why instead of looking like missing data. + "pe_caveat": derived.ttm_diluted_eps_caveat if pe is None else None, "pe_industry": pe_industry, "fcf_yield_industry": fcf_yield_industry, "price_date": _iso(price_date), diff --git a/app/services/fundamentals_derivation.py b/app/services/fundamentals_derivation.py index d9790ce..43a7610 100644 --- a/app/services/fundamentals_derivation.py +++ b/app/services/fundamentals_derivation.py @@ -8,8 +8,10 @@ schema decision. No I/O, no DB: it takes an issuer's snapshot rows (ORM rows or any objects with the same attributes) and returns structured metrics. Rules: -- **Amendment selection:** for each (fiscal_year, fiscal_period), the row with - the newest `accepted_at` wins. +- **Amendment selection:** for each (fiscal_year, fiscal_period), the newest + `accepted_at` wins **per field**, falling back to the newest row that actually + reports one. A partial amendment (a 10-K/A adding Part III carries no financial + facts) must not blank the period. - **Discrete quarter** = YTD(Qn) − YTD(Qn−1); Q1 = YTD(Q1); **Q4 = YTD(FY) − YTD(Q3)**. Any missing period → the derived value is null, never partial. - **TTM** = sum of the trailing four discrete quarters ending at a period. @@ -21,6 +23,7 @@ from __future__ import annotations from dataclasses import dataclass, field from datetime import date +from types import SimpleNamespace from typing import Any, Iterable _FP_TO_Q = {"Q1": 1, "Q2": 2, "Q3": 3, "FY": 4} @@ -38,6 +41,20 @@ _FLOW_FIELDS = ( "revenue", "net_income", "operating_income", "diluted_eps", "cfo", "capex", "depreciation_amortization", ) +# Reported facts resolved independently across a period's accessions (see +# _merge_amendments); period identity/provenance is taken from the newest one. +_MERGED_FIELDS = ( + *_FLOW_FIELDS, + "cash_and_st_investments", "total_debt", "shares_outstanding", + "shares_outstanding_date", "weighted_avg_diluted_shares", + # period_start is set alongside revenue by the parser, so it follows the same + # fallback: a bare amendment reports neither and must not blank it. + "period_start", +) +_CARRIED_FIELDS = ( + "fiscal_year", "fiscal_period", "period_end", "filed_date", + "accepted_at", "form", "accession", "cik", +) @dataclass @@ -60,8 +77,15 @@ class DerivedFundamentals: metrics: dict[str, MetricSeries] = field(default_factory=dict) # request-time valuation inputs (ratios are computed in the API with price) ttm_diluted_eps: float | None = None + # Set when ttm_diluted_eps was suppressed rather than simply unavailable. + ttm_diluted_eps_caveat: str | None = None ttm_fcf: float | None = None shares_outstanding: float | None = None + # True when shares_outstanding came from the weighted-average diluted count + # because the point-in-time cover-page count was absent (always so for + # multi-class issuers). Consumers must label anything derived from it as + # estimated — it is a period average, not a point-in-time count. + shares_outstanding_estimated: bool = False latest_period_end: date | None = None latest_filed_date: date | None = None @@ -85,6 +109,15 @@ def derive(snapshots: Iterable[Any]) -> DerivedFundamentals: result.latest_period_end = latest_row.period_end result.latest_filed_date = latest_row.filed_date result.shares_outstanding = getattr(latest_row, "shares_outstanding", None) + if result.shares_outstanding is None: + # Multi-class issuers (META, CMCSA, BRK-B, CHTR, FOXA, NWSA, LEN) report + # the cover-page count per class, which is dimensional and so absent from + # companyfacts — leaving market cap and FCF yield silently unavailable for + # some of the largest names. The weighted-average diluted count is always + # present and within ~0.6% of the true count where both exist, so fall + # back to it and mark the result estimated rather than show nothing. + result.shares_outstanding = getattr(latest_row, "weighted_avg_diluted_shares", None) + result.shares_outstanding_estimated = result.shares_outstanding is not None result.ttm_diluted_eps = _ttm(discrete["diluted_eps"], *latest) ttm_cfo = _ttm(discrete["cfo"], *latest) ttm_capex = _ttm(discrete["capex"], *latest) @@ -102,7 +135,14 @@ def derive(snapshots: Iterable[Any]) -> DerivedFundamentals: "net_debt_to_ebitda": _leverage_series(selected, discrete, tape), "share_count_change_yoy": _share_change_series(selected, tape), } - _guard_split_sensitive_metrics(result.metrics) + # TTM EPS sums four quarters of *per-share* values, so a split inside that + # window mixes pre- and post-split units — the same distortion the guard + # already catches for the series, and the one that produced BKNG's P/E of + # 1.10. Left unguarded it does not merely mislead: a nonsense-low P/E clamps + # to a perfect 100 fundamental sub-score, so it must null out like the rest. + if _guard_split_sensitive_metrics(result.metrics): + result.ttm_diluted_eps = None + result.ttm_diluted_eps_caveat = SPLIT_SENSITIVE_CAVEAT for series in result.metrics.values(): series.period_end = latest_row.period_end series.filed_date = latest_row.filed_date @@ -112,17 +152,57 @@ def derive(snapshots: Iterable[Any]) -> DerivedFundamentals: # -- period selection -------------------------------------------------------- def _select_latest_per_period(snapshots: Iterable[Any]) -> dict[tuple[int, str], Any]: - best: dict[tuple[int, str], Any] = {} + grouped: dict[tuple[int, str], list[Any]] = {} for row in snapshots: fp = getattr(row, "fiscal_period", None) fy = getattr(row, "fiscal_year", None) if fp not in _FP_TO_Q or fy is None: continue - key = (fy, fp) - cur = best.get(key) - if cur is None or _accepted(row) > _accepted(cur): - best[key] = row - return best + grouped.setdefault((fy, fp), []).append(row) + return {key: _merge_amendments(rows) for key, rows in grouped.items()} + + +def _merge_amendments(rows: list[Any]) -> Any: + """Resolve one period from its accessions: newest wins, per field. + + Amendments are frequently partial — a 10-K/A filed only to add Part III + reports no financial facts at all. Taking the newest accession wholesale + would blank every field it omits and null the period downstream (and with + it TTM and YoY, which need an unbroken quarter chain), so each field falls + back to the newest accession that actually reports it. + + Only rows sharing the newest row's ``period_end`` are merged. A same-key row + covering a *different* period is a mislabelled filing, not an amendment, and + blending the two would silently mix fiscal years. + """ + if len(rows) == 1: + return rows[0] + ordered = sorted(rows, key=_amendment_order, reverse=True) # newest first + newest = ordered[0] + same_period = [ + row + for row in ordered + if getattr(row, "period_end", None) == getattr(newest, "period_end", None) + ] + if len(same_period) == 1: + return newest + merged = SimpleNamespace(**{name: getattr(newest, name, None) for name in _CARRIED_FIELDS}) + for name in _MERGED_FIELDS: + merged_value = None + for row in same_period: # newest first + value = getattr(row, name, None) + if value is not None: + merged_value = value + break + setattr(merged, name, merged_value) + return merged + + +def _amendment_order(row: Any) -> tuple[bool, Any]: + # (has-timestamp, timestamp) so a row without one sorts oldest instead of + # raising when compared against a row that has one. + accepted = _accepted(row) + return (accepted is not None, accepted) def _accepted(row: Any): @@ -255,18 +335,21 @@ def _share_change_series(selected, tape) -> MetricSeries: return _series(pts) -def _guard_split_sensitive_metrics(metrics: dict[str, MetricSeries]) -> None: +def _guard_split_sensitive_metrics(metrics: dict[str, MetricSeries]) -> bool: """Suppress historical comparisons likely distorted by a corporate action. Company Facts has no point-in-time split factors. A large YoY share-count move can therefore make both the point-in-time share comparison and per-share EPS growth non-comparable. Keep the raw facts in snapshots, but expose nulls plus an explicit caveat in the user-facing derived series. + + Returns True when the *latest* period is suspect, so callers can apply the + same suppression to per-share scalars derived from that window. """ shares = metrics.get("share_count_change_yoy") eps = metrics.get("eps_growth_yoy") if shares is None or eps is None: - return + return False suspect_periods = { point.period_end @@ -275,18 +358,21 @@ def _guard_split_sensitive_metrics(metrics: dict[str, MetricSeries]) -> None: and abs(point.value) >= SPLIT_SUSPECT_SHARE_CHANGE_PCT } if not suspect_periods: - return + return False + latest_suspect = False for series in (shares, eps): latest_guarded = bool( series.history and series.history[-1].period_end in suspect_periods ) + latest_suspect = latest_suspect or latest_guarded for point in series.history: if point.period_end in suspect_periods: point.value = None series.value = series.history[-1].value if series.history else None if latest_guarded: series.caveat = SPLIT_SENSITIVE_CAVEAT + return latest_suspect def _net_debt(row: Any) -> float | None: diff --git a/app/services/sec_facts_parser.py b/app/services/sec_facts_parser.py index 99239cc..6a6e8f9 100644 --- a/app/services/sec_facts_parser.py +++ b/app/services/sec_facts_parser.py @@ -8,6 +8,9 @@ fixture and verifiable against a real companyfacts pull. The load-bearing rules (design Decision 2 + review): - Period identity comes from `end == submissions.reportDate`, never `fy/fp` (fy/fp is the *filing's* context; comparatives inside a filing repeat it). + This applies to the stored `fiscal_year`/`fiscal_period` too: they are derived + from `reportDate` against the issuer's `fiscalYearEnd` (see `_period_identity`), + because SEC's fy/fp collide and invert often enough to break the quarter chain. - Duration facts are stored as **cumulative YTD**: pick the fact whose span matches the fiscal-period-to-date length (Q1≈3mo … FY≈12mo) within tolerance. If no YTD-length fact exists, store null — never a discrete masquerading as YTD. @@ -15,7 +18,10 @@ The load-bearing rules (design Decision 2 + review): is a single consolidated value: the cover-page `dei` fact (its own cover-date `end` stored separately) if present, else `us-gaap:CommonStockSharesOutstanding` at period end (e.g. Alphabet has no `dei` fact) — never a class sum or the - weighted-average/diluted count. + weighted-average/diluted count. Multi-class issuers report it per class, which + is dimensional and therefore absent from companyfacts entirely, so + `weighted_avg_diluted_shares` is stored alongside as an explicit fallback for + market cap — a separate column, never backfilled into `shares_outstanding`. - Cash and debt composites are aggregate-first and mutually exclusive (each source tag counted at most once). @@ -29,7 +35,7 @@ from __future__ import annotations import logging import math from dataclasses import dataclass, field -from datetime import date, datetime +from datetime import date, datetime, timedelta from typing import Any, NamedTuple logger = logging.getLogger(__name__) @@ -37,14 +43,35 @@ logger = logging.getLogger(__name__) # Expected YTD span (days) per fiscal period; a duration fact must land within # tolerance of this to count as the period's cumulative value. _EXPECTED_YTD_DAYS = {"Q1": 91, "Q2": 182, "Q3": 273, "FY": 365} -_YTD_TOLERANCE_DAYS = 20 # covers 52/53-week fiscal calendars +# Period identity (see _period_identity): how far a quarter end sits before its +# fiscal-year end, and how far a fiscal-year end may drift from the nominal MMDD. +# The quarter bands are 91 days apart, so ±35 stays unambiguous even for a 4-4-5 +# filer whose 16-week Q4 puts Q3 112 days out. +_QUARTER_DAYS_TO_FY_END = {"Q1": 273, "Q2": 182, "Q3": 91} +_QUARTER_TOLERANCE_DAYS = 35 +_FYE_DRIFT_TOLERANCE_DAYS = 21 +# Covers 52/53-week calendars *and* 4-4-5 retail ones (12/12/12/16 weeks), whose +# YTD-Q3 is 36 weeks = 251-252 days and missed a 20-day tolerance by ~2 -- so +# COST/PEP lost Q3 every year, breaking the quarter chain and nulling TTM + YoY. +# Q1 84d, Q2 168d and FY 364d were always inside. Adjacent periods stay +# unambiguous at 25 (66-116, 157-207, 248-298, 340-390). +_YTD_TOLERANCE_DAYS = 25 # us-gaap duration concepts (money), priority order; first present wins. _DURATION_USD = { + # Order is load-bearing (first present wins) and the tail entries are + # deliberately *appended*: every issuer that already resolved keeps the same + # concept, and only issuers that resolved to nothing gain a value. + # - IncludingAssessedTax: REITs/consumer filers that tag only this variant + # (e.g. ARE, KHC) reported no revenue at all. + # - RevenuesNetOfInterestExpense: the banks' total-revenue tag. JPM/GS/WFC + # tag it in every 10-Q and `Revenues` only (if at all) in the 10-K. "revenue": [ "RevenueFromContractWithCustomerExcludingAssessedTax", "Revenues", "SalesRevenueNet", + "RevenueFromContractWithCustomerIncludingAssessedTax", + "RevenuesNetOfInterestExpense", ], "net_income": ["NetIncomeLoss"], "operating_income": ["OperatingIncomeLoss"], @@ -62,7 +89,27 @@ _DURATION_USD = { "DepreciationAndAmortization", ], } -_EPS_CONCEPTS = ["EarningsPerShareDiluted"] # unit USD/shares +# unit USD/shares. Appended (not reordered) so any issuer that already resolved +# keeps the same concept. REG tags only the continuing-operations variant on every +# filing; FCX switches by form type -- EarningsPerShareDiluted in its 10-Qs, the +# continuing-ops tag in its 10-K -- which nulled the FY row and killed Q4 + TTM. +# The basic variants are a last resort for a period that tags no diluted EPS at +# all (PPL's 2026 Q1). Basic ignores option/convert dilution so it slightly +# overstates EPS (~1.2% for PPL), but only fires when diluted is entirely absent, +# and high-dilution names always tag diluted -- so it never displaces a real one. +_EPS_CONCEPTS = [ + "EarningsPerShareDiluted", + "IncomeLossFromContinuingOperationsPerDilutedShare", + "EarningsPerShareBasic", + "IncomeLossFromContinuingOperationsPerBasicShare", +] +# Weighted-average diluted share count (unit "shares"), the market-cap fallback +# for multi-class issuers whose cover-page count is dimensional and therefore +# absent from companyfacts. Always present, since EPS is computed from it. +_WEIGHTED_AVG_SHARE_CONCEPTS = [ + "WeightedAverageNumberOfDilutedSharesOutstanding", + "WeightedAverageNumberOfSharesOutstandingBasicAndDiluted", +] # us-gaap instant (balance-sheet) concepts, at end == reportDate. _CASH = ["CashAndCashEquivalentsAtCarryingValue"] _ST_INVESTMENTS = ["ShortTermInvestments", "MarketableSecuritiesCurrent"] # pick one @@ -104,6 +151,7 @@ class SnapshotRow: total_debt: float | None = None shares_outstanding: float | None = None shares_outstanding_date: date | None = None + weighted_avg_diluted_shares: float | None = None @dataclass @@ -127,9 +175,14 @@ def parse_snapshots( companyfacts: dict[str, Any], filings: dict[str, FilingMeta], accessions: set[str], + fiscal_year_end: str | None = None, ) -> ParseResult: """Build snapshot rows for ``accessions`` (those with facts + filing meta). + ``fiscal_year_end`` is the issuer's ``submissions.fiscalYearEnd`` (MMDD) and + is what makes period identity independent of SEC's unreliable fy/fp fields + (see ``_period_identity``). Omitting it falls back to the old fy/fp behaviour. + ``skipped_filings`` = no row produced (missing facts/meta or no usable period identity); ``field_issues`` = a row was produced but a field is null/ambiguous. Callers must not use field issues as failed-row coverage. @@ -143,7 +196,7 @@ def parse_snapshots( if meta is None or not facts: result.skipped_filings.append({"accession": accn, "reason": "no facts or filing metadata"}) continue - row, note = _parse_one(cik, accn, facts, meta) + row, note = _parse_one(cik, accn, facts, meta, fiscal_year_end) if row is None: result.skipped_filings.append({"accession": accn, "reason": note or "unparseable"}) continue @@ -190,12 +243,18 @@ def _index_by_accession(companyfacts: dict[str, Any]) -> dict[str, list[Fact]]: def _parse_one( - cik: str, accn: str, facts: list[Fact], meta: FilingMeta + cik: str, accn: str, facts: list[Fact], meta: FilingMeta, + fiscal_year_end: str | None = None, ) -> tuple[SnapshotRow | None, str | None]: """Returns (row, note). row is None when there's no usable period identity; note is a validation reason (row-skip reason when row is None, else a field-level issue such as ambiguous shares).""" - fy, fp = _fiscal_context(facts, meta.report_date) + fy, fp = _period_identity(meta, fiscal_year_end) + if fy is None or fp is None: + # No fiscal calendar, or a period the calendar cannot place (a transition + # period). Fall back to the filing's own context: an imperfect label still + # beats dropping the filing entirely. + fy, fp = _fiscal_context(facts, meta.report_date) if fy is None or fp not in _EXPECTED_YTD_DAYS: return None, "no usable period identity" @@ -227,9 +286,86 @@ def _parse_one( shares, shares_date, ambiguous = _select_shares(facts, meta.report_date) row.shares_outstanding = shares row.shares_outstanding_date = shares_date + row.weighted_avg_diluted_shares = _select_weighted_avg_shares(facts, meta.report_date) + return row, ("ambiguous shares outstanding" if ambiguous else None) +def _period_identity( + meta: FilingMeta, fiscal_year_end: str | None +) -> tuple[int | None, str | None]: + """(fiscal_year, fiscal_period) from the period end and the issuer's fiscal + calendar — never from the fy/fp fields. + + SEC's fy/fp describe the *filing*, and they are unreliable as period identity: + observed in production, a 10-Q labelled ``FY`` (BXP), a year ending 2025-12-31 + labelled 2024 (FRT, a December filer), a year ending 2025-06-27 labelled 2027 + (STX), and four different period ends all labelled 2022 Q3 (PPL). Because + readers key on (fiscal_year, fiscal_period), colliding labels silently discard + a period and inverted ones scramble the quarter chain — nulling TTM and YoY. + + ``period_end`` is authoritative, so identity is derived from it: the form + decides FY vs quarter, and distance to the fiscal-year end decides which + quarter. Labels need not match the issuer's own naming — a filer whose year + ends in early January (DPZ) shifts by one — they need to be unique, monotonic + and YoY-aligned, which is all the derivation asks of them. Nothing outside the + derivation reads these columns. + + Known limitation: ``fiscalYearEnd`` is the issuer's *current* calendar, so a + company that has changed its fiscal year end gets its historical periods + measured against the new one. The quarter tolerance shunts most of those to + the fy/fp fallback, and a same-key collision resolves newest-wins, so the + failure mode is a degraded old year rather than a scrambled current one. + """ + fy = _fiscal_year_of(meta.report_date, fiscal_year_end) + if fy is None: + return None, None + if meta.form.startswith("10-K"): + return fy, "FY" + nominal_end = _nominal_fy_end(fy, fiscal_year_end) + if nominal_end is None: + return None, None + remaining = (nominal_end - meta.report_date).days + best = min( + _QUARTER_DAYS_TO_FY_END, + key=lambda k: abs(_QUARTER_DAYS_TO_FY_END[k] - remaining), + ) + if abs(_QUARTER_DAYS_TO_FY_END[best] - remaining) > _QUARTER_TOLERANCE_DAYS: + return None, None # transition period or odd filing — let the caller fall back + return fy, best + + +def _nominal_fy_end(year: int, fiscal_year_end: str | None) -> date | None: + """The issuer's nominal fiscal-year end in ``year`` from a MMDD string.""" + if not fiscal_year_end or len(fiscal_year_end) != 4 or not fiscal_year_end.isdigit(): + return None + month, day = int(fiscal_year_end[:2]), int(fiscal_year_end[2:]) + if not 1 <= month <= 12 or not 1 <= day <= 31: + return None + while day > 28: # 52/53-week ends land on 0229/0230/0231 in some filings + try: + return date(year, month, day) + except ValueError: + day -= 1 + return date(year, month, day) + + +def _fiscal_year_of(period_end: date, fiscal_year_end: str | None) -> int | None: + """Which fiscal year ``period_end`` belongs to. + + A 52/53-week calendar's real year end drifts around the nominal MMDD (and can + cross the calendar year), so allow drift before rolling into the next year. + """ + nominal = _nominal_fy_end(period_end.year, fiscal_year_end) + if nominal is None: + return None + return ( + period_end.year + if period_end <= nominal + timedelta(days=_FYE_DRIFT_TOLERANCE_DAYS) + else period_end.year + 1 + ) + + def _fiscal_context(facts: list[Fact], report_date: date) -> tuple[int | None, str | None]: """The filing's (fy, fp) taken as the majority context among the facts that end at reportDate (the current-period facts, which share the filing's @@ -352,6 +488,34 @@ def _select_shares( return None, None, False # simply absent — not a conflict +def _select_weighted_avg_shares(facts: list[Fact], report_date: date) -> float | None: + """The most recent quarter's weighted-average diluted share count. + + Deliberately the **shortest** duration ending at reportDate, not the YTD one: + the shorter the window the closer the average sits to the current count, which + is what a market cap wants. Measured against issuers where the true + point-in-time count is available, the quarter average is within ~0.6%. + """ + best: tuple[int, float] | None = None + for concept in _WEIGHTED_AVG_SHARE_CONCEPTS: + for f in facts: + if ( + f.taxonomy != "us-gaap" + or f.concept != concept + or f.unit != "shares" + or f.start is None + or f.end != report_date + or f.val <= 0 + ): + continue + span = (f.end - f.start).days + if best is None or span < best[0]: + best = (span, float(f.val)) + if best is not None: + return best[1] # first present concept wins, as elsewhere + return None + + def _d(value: Any) -> date | None: if not value: return None diff --git a/app/services/sec_fundamentals_importer.py b/app/services/sec_fundamentals_importer.py index 144497b..46aa2f3 100644 --- a/app/services/sec_fundamentals_importer.py +++ b/app/services/sec_fundamentals_importer.py @@ -21,6 +21,12 @@ Guardrails (design + reviews): - ``promote`` inserts snapshots ``ON CONFLICT (accession) DO NOTHING`` (immutable), reports differing existing accessions, and applies ticker updates in the same transaction. +- ``reparse=True`` is the one exception to immutability, and it is deliberate: + it restages every accession with the current parser and **rewrites** the rows + that now reconstruct differently. Immutability protects SEC's record (one row + per accession, amendments retained) — but the stored row is *our* reconstruction, + so after a parser fix, keeping it is preserving a stale cache, not history. + Manually invoked through ``scripts/reparse_fundamentals.py``; never scheduled. """ from __future__ import annotations @@ -31,7 +37,7 @@ from dataclasses import dataclass, field from datetime import date, datetime, timedelta, timezone from typing import Any, Callable -from sqlalchemy import select +from sqlalchemy import select, update from app.database import insert_for_session from app.models.data_import_run import DataImportRun @@ -57,7 +63,7 @@ _SNAPSHOT_COLS = ( "period_end", "fiscal_year", "fiscal_period", "revenue", "net_income", "operating_income", "diluted_eps", "cfo", "capex", "depreciation_amortization", "cash_and_st_investments", "total_debt", "shares_outstanding", - "shares_outstanding_date", + "shares_outstanding_date", "weighted_avg_diluted_shares", ) # Compare ALL source fields (every column except the accession key) to flag a # differing existing accession — immutable, so we report, never mutate. @@ -75,6 +81,10 @@ class StagedFundamentals: missing_xbrl: list[dict[str, str]] = field(default_factory=list) invalid_payloads: list[dict[str, str]] = field(default_factory=list) existing_accessions: set[str] = field(default_factory=set) + # Tracked issuers whose registrant has NO XBRL 10-K/10-Q at all: they can + # never yield a snapshot, so this is a resolution problem (a ticker pointed + # at a successor shell), not missing data. See sec_universe.CIK_OVERRIDES_KEY. + no_xbrl_filings: list[dict[str, Any]] = field(default_factory=list) discrepancies: list[dict[str, Any]] = field(default_factory=list) backfill: bool = False issuers_fetched: int = 0 @@ -93,9 +103,17 @@ class SecFundamentalsImporter: *, client_factory: Callable[[], SecClient] | None = None, today: date | None = None, + reparse: bool = False, ) -> None: self._client_factory = client_factory or (lambda: SecClient()) self.today = today or _now().date() + # Reparse: re-derive every stored accession with the CURRENT parser and + # rewrite the ones that now reconstruct differently. Snapshots are + # immutable with respect to SEC (one row per accession, amendments kept), + # but the stored row is *our reconstruction* — when a parser bug is fixed, + # leaving it stale is not immutability, it is a stale cache. Manually + # invoked via scripts/reparse_fundamentals.py; never scheduled. + self.reparse = reparse # cached by detect_revision, consumed by stage: self._resolved: ResolvedUniverse | None = None self._index_rows: list[dict[str, Any]] = [] @@ -111,7 +129,10 @@ class SecFundamentalsImporter: self._latest_index_date = await client.latest_index_date(self.today) if self._latest_index_date is None: raise SecError("no EDGAR daily index available") - if last_processed is None: + # Reparse needs every accession restaged, not just those filed since + # the last run — the facts a fixed parser now accepts were never + # stored, so a reparse cannot be served from the database. + if last_processed is None or self.reparse: self._backfill = True self._index_rows = [] else: @@ -175,6 +196,10 @@ class SecFundamentalsImporter: return sub = await client.submissions(cik, include_history=is_backfill) xbrl_meta, nonxbrl = _filing_meta(sub) + if not xbrl_meta: + staged.no_xbrl_filings.append( + {"cik": cik10(cik), "name": sub.get("name"), "tickers": sub.get("tickers")} + ) if is_backfill: accns = set(xbrl_meta) @@ -191,7 +216,11 @@ class SecFundamentalsImporter: # have lagged; fail+retry rather than record nothing for it. staged.missing_xbrl.append({"cik": cik10(cik), "accession": accn}) - result = parser.parse_snapshots(cf, xbrl_meta, accns) + # fiscalYearEnd (MMDD) is what lets the parser derive period identity from + # reportDate instead of SEC's unreliable fy/fp fields. + result = parser.parse_snapshots( + cf, xbrl_meta, accns, fiscal_year_end=sub.get("fiscal_year_end") + ) staged.rows.extend(result.rows) staged.skipped_filings.extend(result.skipped_filings) staged.field_issues.extend(result.field_issues) @@ -241,6 +270,8 @@ class SecFundamentalsImporter: "skipped_filings": len(staged.skipped_filings), "field_issues": len(staged.field_issues), "skipped_non_xbrl": len(staged.skipped_non_xbrl), + "no_xbrl_filings": staged.no_xbrl_filings[:50], + "no_xbrl_filings_count": len(staged.no_xbrl_filings), "missing_xbrl": len(staged.missing_xbrl), "invalid_payloads": staged.invalid_payloads, "cik_updates": len(staged.resolved.cik_updates), @@ -257,9 +288,26 @@ class SecFundamentalsImporter: async def promote(self, db, staged: StagedFundamentals, run_id: int) -> dict[str, int]: inserted = 0 + updated = 0 + # Only accessions whose reconstruction actually changed are rewritten; + # an unchanged stored row is left completely alone. + changed = {d["accession"] for d in staged.discrepancies} if self.reparse else set() for row in staged.rows: if row.accession in staged.existing_accessions: - continue # immutable — keep the original row + if row.accession in changed: + # Write the FULL column set (_row_values covers _SNAPSHOT_COLS) + # so a rewritten row is never half old-parse, half new-parse. + # created_at stays at the original insert; import_run_id + # attributes the rewrite. + values = _row_values(row, run_id) + values.pop("created_at", None) + await db.execute( + update(FundamentalSnapshot) + .where(FundamentalSnapshot.accession == row.accession) + .values(**values) + ) + updated += 1 + continue # otherwise immutable — keep the original row stmt = insert_for_session(db, FundamentalSnapshot).values(**_row_values(row, run_id)) stmt = stmt.on_conflict_do_nothing(index_elements=["accession"]) # race belt-and-suspenders await db.execute(stmt) @@ -269,24 +317,50 @@ class SecFundamentalsImporter: # any existing accession reconstructed differently — kept immutable. if staged.discrepancies: accns = ", ".join(d["accession"] for d in staged.discrepancies[:10]) + disposition = ( + f"REWRITTEN by reparse run {run_id}" if self.reparse else "kept immutable" + ) db.add(SystemEvent( severity="warning", source="sec_facts", - code="snapshot_discrepancy", + code="snapshot_reparse" if self.reparse else "snapshot_discrepancy", message=( f"{len(staged.discrepancies)} stored accession(s) reconstructed " - f"differently; kept immutable: {accns}" + f"differently; {disposition}: {accns}" )[:4000], dedup_key=f"sec_facts:discrepancy:{run_id}", created_at=_now(), )) + # A tracked issuer whose registrant has no XBRL filings can never produce a + # snapshot, and it is restaged on every run forever. That is a resolution + # problem, not missing data, and it is silent without this. + if staged.no_xbrl_filings: + named = ", ".join( + f"{e['cik']} ({e.get('name') or '?'})" for e in staged.no_xbrl_filings[:10] + ) + db.add(SystemEvent( + severity="warning", + source="sec_facts", + code="no_xbrl_filings", + message=( + f"{len(staged.no_xbrl_filings)} tracked issuer(s) resolved to a " + f"registrant with no XBRL 10-K/10-Q. Either a successor shell " + f"(pin the real filer via the '{sec_universe.CIK_OVERRIDES_KEY}' " + f"setting) or a new registrant that has not filed its first " + f"10-K/10-Q yet, which needs nothing and clears itself: {named}" + )[:4000], + dedup_key=f"sec_facts:no_xbrl_filings:{run_id}", + created_at=_now(), + )) + ticker_counts = await sec_universe.apply_ticker_updates( db, staged.resolved, staged.sic_updates ) return { "inserted": inserted, - "existing_unchanged": len(staged.existing_accessions), + "updated": updated, + "existing_unchanged": len(staged.existing_accessions) - updated, "discrepancies": len(staged.discrepancies), **ticker_counts, } @@ -395,5 +469,26 @@ def _row_values(row: SnapshotRow, run_id: int) -> dict[str, Any]: def _diff_fields(row: SnapshotRow, old: FundamentalSnapshot) -> list[str]: - """Source fields where a re-parsed row differs from the stored (immutable) row.""" - return [col for col in _COMPARE_COLS if getattr(row, col) != getattr(old, col)] + """Source fields where a re-parsed row differs from the stored row.""" + return [ + col for col in _COMPARE_COLS + if not _same_value(getattr(row, col), getattr(old, col)) + ] + + +def _same_value(parsed: Any, stored: Any) -> bool: + """Compare a freshly parsed value against its stored round-trip. + + Datetimes need care: every timestamp here is UTC by construction, but + ``DateTime(timezone=True)`` only preserves tzinfo on Postgres — SQLite hands + back a naive value. Comparing representations would report an unchanged row + as differing, which would both spam the discrepancy warning and make a + reparse rewrite every row it touched. Compare instants instead. + """ + if isinstance(parsed, datetime) and isinstance(stored, datetime): + return _as_utc(parsed) == _as_utc(stored) + return parsed == stored + + +def _as_utc(value: datetime) -> datetime: + return value if value.tzinfo is not None else value.replace(tzinfo=timezone.utc) diff --git a/app/services/sec_universe.py b/app/services/sec_universe.py index 9d80bd0..a81efde 100644 --- a/app/services/sec_universe.py +++ b/app/services/sec_universe.py @@ -16,6 +16,7 @@ changes on the framework's failure commit). The proposals are applied only in from __future__ import annotations import hashlib +import json import logging from dataclasses import dataclass, field from typing import Iterable @@ -23,11 +24,21 @@ from typing import Iterable from sqlalchemy import select, update from app.models.ticker import Ticker +from app.services import settings_store from app.services.earnings_alignment import normalise_symbol from app.services.sec_client import SecClient logger = logging.getLogger(__name__) +# JSON {symbol: cik} pinning a ticker to a specific registrant, overriding +# company_tickers.json. Needed when SEC maps a ticker to a successor entity that +# has not filed: XOM points at CIK 2115436 "ExxonMobil Holdings Corp" (zero XBRL +# filings) while every 10-K/10-Q — including one filed 2026-05-04 — is still under +# CIK 34088. Which registrant is the real filer is a judgement about a corporate +# event, so it is pinned explicitly rather than guessed. The importer's +# `no_xbrl_filings` warning is what tells you a pin is needed. +CIK_OVERRIDES_KEY = "sec_cik_overrides" + @dataclass class ResolvedUniverse: @@ -43,6 +54,7 @@ async def resolve_ciks(db, client: SecClient) -> ResolvedUniverse: """Resolve tracked tickers to CIKs via company_tickers.json. **Read-only** — returns the mapping + proposed `tickers.cik` writes; mutates nothing.""" ticker_to_cik = await client.company_tickers() + overrides = await cik_overrides(db) rows = (await db.execute(select(Ticker.id, Ticker.symbol, Ticker.cik))).all() result = ResolvedUniverse() @@ -50,7 +62,7 @@ async def resolve_ciks(db, client: SecClient) -> ResolvedUniverse: if not symbol: continue sym = normalise_symbol(symbol) - cik = ticker_to_cik.get(sym) + cik = overrides.get(sym) or ticker_to_cik.get(sym) if cik is None: continue # ADRs / non-SEC issuers — snapshots simply absent result.symbol_to_cik[sym] = cik @@ -65,6 +77,34 @@ async def resolve_ciks(db, client: SecClient) -> ResolvedUniverse: return result +async def cik_overrides(db) -> dict[str, int]: + """Manual ``{symbol: cik}`` pins from ``SystemSetting[CIK_OVERRIDES_KEY]``. + + A malformed setting must never take the importer down, so anything unparseable + is logged and ignored — the run then falls back to company_tickers.json. + """ + raw = await settings_store.get_value(db, CIK_OVERRIDES_KEY) + if not raw: + return {} + try: + loaded = json.loads(raw) + except (TypeError, ValueError): + logger.warning("%s is not valid JSON — ignoring CIK overrides", CIK_OVERRIDES_KEY) + return {} + if not isinstance(loaded, dict): + logger.warning("%s must be a {symbol: cik} object — ignoring", CIK_OVERRIDES_KEY) + return {} + out: dict[str, int] = {} + for symbol, cik in loaded.items(): + try: + out[normalise_symbol(str(symbol))] = int(cik) + except (TypeError, ValueError): + logger.warning("%s: bad entry %r -> %r — ignoring", CIK_OVERRIDES_KEY, symbol, cik) + if out: + logger.info("resolve_ciks: %d CIK override(s) applied: %s", len(out), sorted(out)) + return out + + async def fetch_sic_updates( client: SecClient, cik_to_ticker_ids: dict[int, Iterable[int]] ) -> list[tuple[int, str | None, str | None]]: diff --git a/reports/fundamentals-parity-20260723-findings.md b/reports/fundamentals-parity-20260723-findings.md new file mode 100644 index 0000000..2f9eb51 --- /dev/null +++ b/reports/fundamentals-parity-20260723-findings.md @@ -0,0 +1,855 @@ +# A5 parity report — root-cause findings + +Investigation of `fundamentals-parity-20260723T210658161480Z.json` (511 tickers, +generated 2026-07-23). Method: replayed the production parser +(`sec_facts_parser.parse_snapshots`) and derivation (`fundamentals_derivation.derive`) +against **live SEC companyfacts**, using the importer's own `_filing_meta` and +backfill accession set, then cross-checked prices against IBKR. No database was +available locally, so every conclusion below is reproduced from source data rather +than read out of prod. + +Repro script: `scratchpad/diag.py` (`--history` replays the full backfill path). +Every claim below was verified on the named issuer. Names that were *not* +individually inspected are listed as unclassified — an earlier draft of this +document guessed their cause from fiscal-year-end dates and was wrong for most of +them, so the guessing is not repeated here. + +## Verdict + +Where both sides have a value the candidate data is good: P/E spearman 0.968, +revenue growth agreeing to 4 decimals for most names, score spearman 0.825. Every +defect found is a **parser/derivation bug or an identity problem** — not a data +quality problem with SEC or Dolt. The largest cluster is period identity, which is +exactly the risk A3 flagged as primary. + +## 1. P/E outliers — splits corrupt TTM EPS, and the split guard doesn't cover it + +`derive()` sets `result.ttm_diluted_eps` at `fundamentals_derivation.py:88` and only +calls `_guard_split_sensitive_metrics()` at line 105, which annotates `result.metrics` +(the `MetricSeries` objects). `ttm_diluted_eps` is a bare scalar and is never guarded. +`fundamentals_parity_service._pe()` consumes it directly. + +The cleanest evidence that the *candidate* side is the broken one: reconcile each +P/E against the report's own price. Legacy comes out sane in both cases, candidate +does not. + +**BKNG — guard fired, nobody listened.** Share count jumps 31.7M → 774.9M between the +FY2025 10-K and the 2026 Q1 10-Q (≈25:1 split). TTM EPS therefore sums three pre-split +quarters (27.31 + 84.01 + 44.18 = 155.50) plus one post-split quarter (1.36) = +**156.86** — mixed units. Live price $172.83 matches the price the report implies +exactly (1.1018 × 156.86 = 172.83), so the price is correct and current. Against that +price, legacy's P/E of 22.44 implies EPS ≈ 7.70 — a coherent post-split number, versus +the candidate's 156.86. The derivation *did* raise `"Not comparable: share count +changed at least 25%; possible split or corporate action."` on `eps_growth_yoy` and +`share_count_change_yoy` — P/E never sees it. + +**KLAC — the guard cannot fire.** The split post-dates the most recent 10-Q (period end +2026-03-31), so no snapshot shows any share-count change (`share_count_change_yoy` = +−1.2%). TTM EPS **35.31** is internally consistent and entirely pre-split; the price +($223.30 live, ≈218.7 in the report) is post-split. Reconciling: legacy P/E 60.21 +against the report price implies EPS ≈ 3.63 ≈ 35.31/9.7 — i.e. legacy is consistent +with a ~10:1 split and correct, and the candidate is off by exactly the split factor. +(IBKR's split-adjusted `open_52w` of 89.36 corroborates 10:1.) + +This is the important case: **a split after the latest filing is undetectable from +snapshots alone.** No share-count test can catch it. Reconciliation needs a corporate +actions source or a price-vs-EPS plausibility check. + +**COF — not a bug, a definition difference.** Shares 383M → 639M in 2025 Q2 is the +Discover acquisition. TTM GAAP EPS is genuinely $3.92 because the merger-charge quarter +(−10.19) sits in the window. Candidate P/E 51.01 is arithmetically correct on a GAAP TTM +basis; legacy's 11.61 is an adjusted/forward convention. Disclose, don't fix. Note this +single row drives the report's largest change (rank 1 → 456). + +## 2. Bank revenue growth — concept-mapping gap (confirmed) + +`sec_facts_parser._DURATION_USD["revenue"]` is: + +``` +RevenueFromContractWithCustomerExcludingAssessedTax, Revenues, SalesRevenueNet +``` + +Banks tag **`RevenuesNetOfInterestExpense`** in their 10-Qs: + +| filer | 2026 Q1 10-Q tags present | parsed `revenue` | +|---|---|---| +| JPM | `RevenuesNetOfInterestExpense` 49,836M, `NoninterestIncome`, `InterestIncomeExpenseNet` | **null** | +| GS | `RevenuesNetOfInterestExpense` 17,227M, `InterestAndDividendIncomeOperating`, … | **null** | +| WFC | `RevenuesNetOfInterestExpense` 21,436M, … | **null** | + +JPM's FY2025 10-K *also* tags `Revenues` (182,447M — identical value), so only the annual +row populates; GS never tags `Revenues` at all. Revenue growth needs five consecutive +quarterly values, so it is null for the whole cluster (JPM, GS, MS, WFC, TFC, MTB, FITB, +RF, SYF, BNY, BX, BLK, SPGI, ACGL, CBOE). + +A second variant of the same gap: **ARE** and **KHC** tag +`RevenueFromContractWithCustomer**Including**AssessedTax` — also absent from the list — +so revenue is null on every row while EPS parses fine. + +**Fix:** add `RevenuesNetOfInterestExpense` and the `IncludingAssessedTax` variant. + +**Latent risk while you're in there:** `RevenueFromContractWithCustomerExcludingAssessedTax` +is *first* and "first present wins". For a bank that tags it, it captures only ASC-606 fee +revenue, not total revenue — a silently **understated** number rather than a null, which is +worse. DVN shows the same hazard from the other side: its 2026 Q1 tags both +`RevenueFromContractWithCustomerExcludingAssessedTax` (4,508M) and `Revenues` (3,807M), +an 18% difference decided purely by list order. + +## 3. Period identity — the largest cluster, three confirmed mechanisms + +### 3a. Fiscal-year label collisions (CRM, FRT, STX) + +`_fiscal_context` majority-votes SEC's `fy`/`fp` fields, and `_select_latest_per_period` +keys on `(fiscal_year, fiscal_period)`. When SEC's labels disagree with the calendar, two +distinct periods collide on one key and **one is silently discarded**: + +- **CRM** — two rows keyed `2025 FY`, ending 2025-01-31 and 2026-01-31. +- **FRT** — two rows keyed `2024 FY`, ending 2024-12-31 and 2025-12-31. +- **STX** — the year ending 2025-06-27 is labelled **`2027 FY`**, so it sorts *after* + `2026 Q3` (period end 2026-04-03) and is taken as the latest quarter. + +The survivor's `period_end` then contradicts the fiscal ordering, Q4 derivation and the +consecutive-quarter chain break, and TTM EPS + YoY both go null. + +**FRT is a calendar-year (Dec) filer**, so this is *not* limited to non-calendar fiscal +years — the earlier assumption that it was is wrong. Any filer SEC labels inconsistently +is exposed. + +### 3b. Amendment selection blanks a period (DVN) + +DVN has two rows for `2025 FY` (both ending 2025-12-31): the 10-K with complete financials, +and a **10-K/A carrying no financial facts at the report date** (`rev=None eps=None`). +`_select_latest_per_period` takes the newest `accepted_at`, so **the empty amendment wins** +and the FY2025 row becomes all-null, breaking the chain. + +This is the most dangerous of the three: it is not exotic. Any issuer filing a 10-K/A — +including routine Part III amendments that restate nothing — silently loses that period. +The rule needs to prefer the newest accession *that actually carries the fact*, per field, +rather than the newest accession outright. + +### 3c. 4-4-5 retail calendar — Q3 only, misses by ~2 days (COST, PEP) + +`_EXPECTED_YTD_DAYS["Q3"] = 273` with `_YTD_TOLERANCE_DAYS = 20` accepts 253–293 days. A +12/12/12/16-week filer's YTD-Q3 is 36 weeks ≈ **251–252 days** — just under the floor. + +Confirmed, facts present and rejected: + +- COST 2026 Q3: `RevenueFromContractWithCustomerExcludingAssessedTax` span=**251d** + val=207,431M, `EarningsPerShareDiluted` span=251d val=14.01 → row stored with + `rev=None eps=None start=None`. Same for 2025 Q3 and 2024 Q3. +- PEP: every Q3 row is `rev=None eps=None`; Q1/Q2/FY all populate. + +Q1 (83d vs 91±20), Q2 (167d vs 182±20) and FY (363–364d vs 365±20) all pass — only Q3 +fails, every year. The code comment claims the tolerance "covers 52/53-week fiscal +calendars"; it does not cover 4-4-5 ones. + +Note this does **not** apply to ordinary 13-week 52/53-week filers (STX's Q3 YTD is 279d and +passes) — their failures are 3a, not this. + +**Fix:** widen the Q3 tolerance to ~25 days, or derive the expected span from the filer's own +fiscal calendar rather than a fixed 91/182/273. + +## 4. CIK identity (XOM) + +SEC's `company_tickers.json` now maps **XOM → CIK 2115436 "ExxonMobil Holdings Corp", which +has 0 filings**. All 26 XBRL 10-K/10-Qs sit under the old CIK **34088 "EXXON MOBIL CORP"**. +XOM therefore has no snapshots at all, and nothing in the pipeline notices that a tracked +issuer resolved to a CIK with zero filings. + +PSKY (5 filings) and Q (3 filings) are genuinely new registrants — expected, not a bug. + +## Status of the 25 names that lose their fundamental score + +Production requires ≥2 metrics (`scoring_service.py:502`), the same rule the parity harness +uses, so these genuinely drop the fundamental dimension and the composite renormalises over +the remaining four. + +| cause (confirmed on the named issuer) | names | +|---|---| +| FY label collision (3a) | CRM, FRT, STX | +| 4-4-5 Q3 span (3c) | COST, PEP | +| revenue concept gap (§2) | ARE, KHC | +| amendment blanks period (3b) | DVN | +| CIK identity (§4) | XOM | +| new registrant — expected | PSKY, Q | +| **not yet classified** | AZO, BXP, CRWD, FCX, HAL, MOS, MTD, NTAP, PPL, REG, SJM, SWKS, WDAY | + +13 of 25 confirmed. The unclassified 13 have not been inspected and should not be assumed to +share a cause — the confirmed set already spans five distinct mechanisms. + +## Recommended order of work + +1. **Amendment selection (3b)** — highest blast radius, affects any 10-K/A filer, and the + current rule is wrong in principle rather than at the margin. +2. **Revenue concept list (§2)** — add `RevenuesNetOfInterestExpense` and + `IncludingAssessedTax`; audit the ASC-606-first priority, which can understate rather + than null. +3. **Q3 YTD span tolerance (3c)** — effectively one line. +4. **XOM CIK remap (§4)** — plus a validation that flags any tracked ticker resolving to a + CIK with zero XBRL filings. +5. **Split safety for `ttm_diluted_eps` (§1)** — propagate the existing guard to the scalar, + and add a price-vs-EPS plausibility check for splits that post-date the last filing. +6. **Fiscal-period identity (3a)** — the deepest fix; consider keying period identity on + `period_end` rather than SEC's `fy`/`fp`. + +Re-run the parity report after these and re-classify the remaining 13 before making a +cutover decision. The current report should not be approved as-is: its coverage gaps are +artifacts of the above, not real absences in the source data. + +--- + +# Fixes applied (items 1–3) + +| # | change | file | effective | +|---|---|---|---| +| 1 | amendment resolution is now **per field** — newest accession that actually reports a fact wins; only rows sharing the newest `period_end` are merged, so a mislabelled filing is never blended in | `fundamentals_derivation.py` | **read time — immediately** | +| 2 | appended `RevenueFromContractWithCustomerIncludingAssessedTax` and `RevenuesNetOfInterestExpense` to the revenue concept list | `sec_facts_parser.py` | parse time — **needs reparse** | +| 3 | YTD span tolerance 20 → 25 days, covering 4-4-5 retail calendars | `sec_facts_parser.py` | parse time — **needs reparse** | + +Fix 2 is deliberately **additive**: the new tags go at the end of the priority list, so +every issuer that already resolved keeps the same concept and only issuers that resolved +to nothing gain a value. A regression test pins that ordering. + +Tests: 7 added across `test_sec_facts_parser.py` and `test_fundamentals_derivation.py`. +The 5 behaviour-changing ones were confirmed to fail against the pre-fix code; the other 2 +are invariance guards that pass both ways. Full unit suite: 795 passed. + +## Validation against live SEC data + +Re-ran the parser + derivation on live companyfacts. Every targeted name recovers, and +the recovered values independently agree with the legacy provider: + +| name | cause | revenue growth before → after | legacy | TTM EPS after | +|---|---|---|---|---| +| COST | 4-4-5 Q3 | null → **9.2311** | 9.23 | 19.88 | +| PEP | 4-4-5 Q3 | null → **5.6197** | 5.62 | 7.63 | +| KHC | concept (Including) | null → **−1.7457** | −1.75 | −4.85 | +| DVN | partial 10-K/A | null → **0.0956** | −1.51 | 3.59 | +| ARE | concept (Including) | null → **−5.3462** | −9.53 | −6.27 | +| JPM | concept (bank) | null → **3.3388** | 108.98 | 20.89 | +| GS | concept (bank) | null → **11.1974** | 6.67 | 54.75 | +| WFC | concept (bank) | null → **4.1847** | 72.75 | 6.47 | + +COST/PEP/KHC matching legacy to two decimals is strong evidence the parse is now correct. +The banks are the opposite case and worth noting for the cutover argument: legacy's JPM +109% and WFC 73% "revenue growth" are not plausible for a bank, while the SEC-derived +3.3% and 4.2% are — here the candidate is **better** than what it would replace. DVN and +ARE still differ from legacy; DVN is the `Revenues` vs ASC-606 ambiguity noted in §2 and +is the one open definition question. + +Regression check on names that were already correct — IRM, KLAC, BKNG — reproduces their +previous values exactly (IRM 15.6375, KLAC 13.3895, BKNG 14.9506; TTM EPS unchanged). +Nothing that worked before moved. + +### Concept consistency across the bank chains (checked, clean) + +Because `Revenues` still outranks `RevenuesNetOfInterestExpense`, a filer could resolve the +FY row to one concept and its quarters to the other — which would make +`Q4 = YTD(FY) − YTD(Q3)` a subtraction across two definitions, and poison every TTM window +containing it. Checked all 15 recovered banks (`scratchpad/concept_check.py`): + +- **14 resolve a single concept across the whole chain** (GS, WFC, MS, TFC, MTB, FITB, RF, + SYF, BNY, BX, BLK, SPGI, ACGL, CBOE). +- **JPM is mixed but benign**: its FY2025 row tags both, at an *identical* 182,447M, so Q4 + subtracts like for like. No filer showed the two tags disagreeing where both appear. + +So the "candidate beats legacy for banks" claim above is safe as stated. **Residual risk:** +a future filer whose two tags differ would fail silently. Cheapest hardening is to treat +the two as one logical revenue concept rather than separate priority entries; the detector +script above turns this into a one-command check. + +## Operational note — the parser fixes need a deliberate reparse + +`sec_fundamentals_importer.promote()` treats snapshots as **immutable per accession**: a +re-run skips any accession already stored and records a `snapshot_discrepancy` SystemEvent +instead. So fixes 2 and 3 change nothing for rows already in the database — recovering +COST/PEP/JPM/etc. requires deleting the affected snapshot rows and re-importing, or adding +an explicit reparse path. Usefully, the discrepancy warning names exactly which stored +accessions now reconstruct differently, so a dry run over existing data will enumerate the +blast radius before anything is rewritten. + +--- + +# Second pass — all 25 lost names now classified + +Re-ran `diag.py --history` over every previously unclassified name, with fixes 1–3 in +place. (One name, DPZ, had been dropped from the unclassified list when this document was +rewritten; it is included here.) + +## 11 of 25 recover + +COST, PEP, KHC, DVN, ARE, **AZO, MOS, SJM, SWKS, HAL, DPZ** — and again the recovered +revenue growth matches the legacy provider to two decimals on every one: + +| name | candidate | legacy | | name | candidate | legacy | +|---|---|---|---|---|---|---| +| AZO | 5.7405 | 5.74 | | SWKS | 2.3303 | 2.33 | +| MOS | 12.3388 | 12.34 | | HAL | −1.7201 | −1.72 | +| SJM | 3.7222 | 3.72 | | DPZ | 5.1573 | 5.16 | + +Precisely: all 11 clear the ≥2-metric floor and regain a fundamental score. P/E returns for +AZO, MOS, SWKS, DPZ, COST, PEP and DVN. ARE, KHC and SJM have genuinely negative TTM EPS, +so their P/E stays null correctly. **HAL's TTM EPS is still null and the cause is not yet +established** — it scores on revenue growth + surprise. Loose end. + +## 14 remain, in four causes + +| cause | names | count | +|---|---|---| +| **fiscal-year label collisions (§3a)** | CRM, FRT, STX, BXP, CRWD, MTD, NTAP, WDAY, PPL | **9** | +| **EPS concept gap (new — §5 below)** | FCX, REG | 2 | +| CIK identity (§4) | XOM | 1 | +| new registrant — expected, not a bug | PSKY, Q | 2 | + +The label bug is now the dominant cause by a wide margin, and it is more varied than first +described — it is not only colliding `fiscal_year` values: + +- **BXP** — a *10-Q* for period end 2026-03-31 is labelled `2026 **FY**`. The **fiscal + period** is wrong, not just the year, so `_select_ytd` then measures the 90-day fact + against the 365-day FY expectation and rejects it too. +- **NTAP, WDAY, MTD, CRWD** — two different period-ends colliding on one key (the pattern + first seen on CRM/FRT). +- **PPL** — the worst observed: **four** rows keyed `2022 Q3`, with period ends 2022-09-30, + 2023-03-31, 2023-06-30 and 2023-09-30. + +## 5. New cause — EPS concept coverage + +`_EPS_CONCEPTS = ["EarningsPerShareDiluted"]` is the only tag read. Confirmed by listing +every `USD/shares` duration concept in the relevant filings: + +- **REG** tags only `IncomeLossFromContinuingOperationsPerDilutedShare`, on every filing — + EPS is null everywhere, so no TTM EPS and no P/E, ever. +- **FCX** is the nastier shape: its **10-Qs** tag `EarningsPerShareDiluted`, but its + **10-K** tags only `IncomeLossFromContinuingOperationsPerDilutedShare`. The FY row loses + EPS, so `Q4 = YTD(FY) − YTD(Q3)` is undefined and TTM dies — an issuer that switches + concept *by form type* looks like partial data rather than a mapping gap. + +**Fix:** append `IncomeLossFromContinuingOperationsPerDilutedShare` to `_EPS_CONCEPTS`. +Same additive shape as the revenue fix; recovers REG outright and FCX's FY row. + +**Related decision, not a fix:** PPL's 2026 Q1 tags *no diluted variant at all* — only +`EarningsPerShareBasic` and `IncomeLossFromContinuingOperationsPerBasicShare`. Adding the +diluted continuing-ops tag does not help it. Falling back to basic EPS is a definition +change (basic ≠ diluted) and should be an explicit call, not a silent one. + +--- + +# Third pass — fixes #2 and #3 applied + +| # | change | file | effective | +|---|---|---|---| +| 2a | `_guard_split_sensitive_metrics()` now returns whether the *latest* period is split-suspect, and `derive()` nulls `ttm_diluted_eps` (setting `ttm_diluted_eps_caveat`) when it is | `fundamentals_derivation.py` | read time — immediately | +| 3 | appended `IncomeLossFromContinuingOperationsPerDilutedShare` to `_EPS_CONCEPTS` | `sec_facts_parser.py` | parse time — needs reparse | + +5 tests added; the 3 behaviour-changing ones confirmed to fail against pre-fix code, 2 are +invariance guards. Full unit suite: **800 passed**. + +## Validated on live data + +| name | before | after | | +|---|---|---|---| +| FCX | TTM EPS null | **1.89** | recovered | +| REG | TTM EPS null | **2.92** | recovered | +| BKNG | TTM EPS 156.86 → P/E **1.10** | **null** + caveat | false perfect score removed | +| COF | TTM EPS 3.92 → P/E 51.01 | **null** + caveat | see side effect below | +| KLAC | TTM EPS 35.31 → P/E **6.19** | unchanged | **still wrong — 2b not fixed** | +| IRM, COST | — | unchanged | no regression | + +FCX and REG regain a fundamental score (EPS + surprise clears the ≥2 floor). Their +**revenue growth is still null** — both are also blocked by the label bug (REG has a +mislabelled duplicate `2024 Q2`; FCX is missing its 2024 FY row entirely). + +## Threshold decision — RESOLVED: keep 25% + +Measured against the database (`scratchpad/share_change_check.sql`): **15 of 467 comparable +issuers (3.2%)** trip the ≥25% guard on their latest period. + +| band | names | cause | +|---|---|---| +| ≥200% | BKNG 23.8×, ORLY 14.5×, NFLX 9.8×, NOW 5.0×, TPL 3.0× | forward splits | +| 50–142% | CHTR (query artifact), **AMCR −68% (1-for-5 reverse split)**, WAT, COF | split + stock-funded M&A | +| 25–47% | OMC, BG, HBAN, FITB, COHR, RKLB | stock-funded M&A, ordinary dilution | + +**Keep the threshold at 25%**, for three reasons — the first of which is empirical and came +out of checking AMCR: + +1. **A real split trips at only 68%.** AMCR's 1-for-5 reverse consolidation + (2,308,359,941 → 462,045,690 shares, ratio 4.996, between the Nov 2025 and Feb 2026 + 10-Qs) shows up as −68%. Raising the bar to 100% to spare the M&A cases would have let a + genuine split straight through. Split magnitude and M&A magnitude overlap in practice, + not just in theory. +2. **The cost is milder than first described.** Losing P/E leaves revenue growth + earnings + surprise = 2 metrics, which still clears the ≥2 floor. Affected issuers keep a + fundamental score; they lose one of three inputs. +3. **The severities are asymmetric.** A missed split yields a P/E off by 10–25×, clamping to + a *perfect 100* sub-score. Over-nulling yields a missing input the scorer already handles + by renormalising. + +Honest caveat: the guard is blunt — it detects that a share base moved, not how much damage +resulted. AMCR's pre-fix P/E was 28.61 against legacy's 29.47, i.e. only ~10-15% off, because +most of its YTD figures had already been restated on the post-split basis. So the guard +sometimes removes a roughly-usable number. That is the accepted price of a rule that cannot +measure the split factor. + +Two data notes from the same check: + +- **CHTR is a query artifact, not a guard trip.** The SQL picks the newest period *with* a + share count, while `derive()` picks the newest period and then reads shares off it. CHTR's + recent snapshots have a null `shares_outstanding`, so the query fell back to the 2016 Time + Warner merger. In the real path its change is None and the guard never fires — so the true + count is ~14. But it also means **CHTR has no recent share count, which breaks its market + cap in the API** — a separate small bug. +- **AMCR was suspected of being a `shares_outstanding` parsing bug and is not.** It is a real + corporate action, correctly detected. `abs()` in the guard already handles reverse splits. + +## Side effect — COF + +The guard fires on *any* ≥25% YoY share-count move, not only splits. COF's 383M → 639M jump +is the Discover acquisition, so it now nulls too and **loses the P/E of 51.01** that this +document previously called "arithmetically correct on a GAAP TTM basis". + +I think nulling is right: TTM EPS sums four quarters whose per-share figures use different +weighted-average denominators, and across a 67% share change that sum is not a meaningful +per-share number regardless of whether the cause was a split or an acquisition. It follows +the formula without being a valid result. + +But the cost is real and worth stating plainly: **any issuer doing a large stock-funded +acquisition loses its P/E for four quarters.** That frequency has not been measured — it +needs a count of `|share_count_change_yoy| ≥ 25%` across the universe, which needs the +database. If it turns out to be common, the alternative is a higher or split-shaped +threshold, at the cost of letting more BKNG-class errors through. + +## 2b is genuinely unfixed + +KLAC's split post-dates its most recent 10-Q, so no snapshot carries any share-count +evidence and no guard built on share counts can fire. Its P/E is still 6.19 — the true P/E +divided by the split factor. I did not ship a heuristic for this: the obvious one, flagging +implausibly low P/Es, would misfire on genuinely cheap names — CHTR (3.42) and CMCSA (4.30) +sit below KLAC's corrupted 6.19 in this very report. Detecting it needs an actual +corporate-actions source, or a price-vs-share-count reconciliation against an external +market-cap reference. + +--- + +# Fourth pass — the reparse path + +Snapshots are immutable per accession, so the parser fixes never reached stored rows. +`promote()` skipped them and logged a discrepancy. Reparse is the deliberate exception: +immutability protects *SEC's* record, but the stored row is **our reconstruction** — after a +parser fix, keeping it is preserving a stale cache, not preserving history. + +| change | file | +|---|---| +| `run_import(..., force=True)` bypasses the unchanged-revision no-op. The revision tracks the *source*; a fix on our side leaves it unchanged, so the gate would skip the run | `data_import.py` | +| `SecFundamentalsImporter(reparse=True)` — forces full-history staging, and `promote()` rewrites the accessions whose reconstruction changed, stamping `import_run_id` | `sec_fundamentals_importer.py` | +| `scripts/reparse_fundamentals.py` — **dry run by default**, `--apply` to write | new | + +Unchanged rows are never touched; only accessions appearing in `staged.discrepancies` are +rewritten. The update writes the full `_SNAPSHOT_COLS` set via the same `_row_values()` the +insert uses, so a rewritten row can never be half old-parse and half new-parse. `created_at` +keeps its original value. Nothing is wired into the scheduler. + +## A real bug the tests caught: false-positive discrepancies + +`test_reparse_leaves_unchanged_rows_untouched` failed on first run — reparsing *identical* +data reported a change. Cause: `accepted_at` is written tz-aware UTC but +`DateTime(timezone=True)` only preserves tzinfo on Postgres; SQLite returns it naive, so +`_diff_fields` compared representations and saw a difference. + +Left alone this would have made the dry-run report claim **every row needs rewriting** — +exactly the misleading signal that makes a blast-radius report worthless. `_diff_fields` now +compares datetime *instants* via `_same_value()`. This also fixes a latent false positive in +the pre-existing `snapshot_discrepancy` warning, which shares the same code path. + +## Verification + +4 reparse tests added, driven through the real import framework with the fake SEC client. +The key one seeds the database through the **pre-fix parser** (monkeypatching +`_YTD_TOLERANCE_DAYS` back to 20 so a 4-4-5 Q3 is rejected and stored as null), then reparses +with the fixed parser and asserts the row is rewritten in place with new provenance — the +production scenario end to end. Also covered: unchanged rows keep their original +`import_run_id`; `reparse=False` still reports and refuses to mutate; `force` bypasses the +no-op. Full suite: **804 passed**. + +Not verifiable here: this reads and writes production Postgres, which is unreachable from +this machine, so the SQLite harness is the limit of what could be self-tested. The UPDATE is +plain SQLAlchemy Core with no dialect-specific constructs. + +## Running it + +``` +python scripts/reparse_fundamentals.py # dry run, writes nothing +python scripts/reparse_fundamentals.py --apply # rewrite changed rows +``` + +Two cautions for whoever runs it: + +- **Read the dry run for *kinds* of change, not just the count.** The tolerance 20→25 change + newly accepts facts for arbitrary filers, not only the names investigated here. Sample + changed rows for issuers that were never on the list and confirm they are recovered nulls + and corrected values — not something unexpected. +- **It refetches Company Facts for every tracked issuer** under the SEC throttle, because the + facts a fixed parser now accepts were never stored. Expect a long run; the dry run pays + that cost too, so budget for two passes. + +Scope: this rewrites `fundamental_snapshots` only. Those rows currently feed the fundamentals +API/UI and the parity report — scoring still reads the legacy `fundamental_data` table, and +nothing in the backtest path touches `FundamentalSnapshot`. So a reparse **cannot** move +composite scores or backtests until the A5 cutover happens. The plan's "changed history +changes backtests" caution applies to workstream B's OHLCV rewrites, not to this. + +--- + +# Fifth pass — period identity + +The parser's own stated rule was *"period identity comes from `end == reportDate`, never +`fy/fp`"* — but `_fiscal_context()` derived the stored `fiscal_year`/`fiscal_period` by +majority-voting exactly those fy/fp fields. The labelling contradicted the module's own +principle, and SEC's labels are unreliable enough to break the quarter chain. + +`_period_identity()` now derives both from `period_end` against the issuer's +`submissions.fiscalYearEnd`: **the form decides FY vs quarter** (a 10-Q can no longer be +labelled FY), and **distance to the fiscal-year end decides which quarter**. The MMDD is +threaded through `parse_snapshots(..., fiscal_year_end=...)`; without it the old fy/fp path +is used unchanged, so nothing regresses for issuers lacking a calendar. + +**Rejected approach:** classifying the period by fact spans. Every 10-Q carries both a YTD +*and* a discrete fact ending at reportDate, so "best span match" reads COST's Q2 (167d) as a +Q1; and taking the *longest* span mislabelled IRM's Q3 2020 10-Q as FY because that filing +carries a 12-month fact. The prototype caught this as a regression on a working name before +any code was written. Distance-to-year-end needs no facts at all and is unambiguous — the +quarter bands sit 91 days apart, so ±35 absorbs even a 4-4-5 filer's 16-week Q4. + +**Labels no longer match issuer naming in one case, deliberately.** A filer whose year ends +in early January (DPZ, `fiscalYearEnd` 0102) shifts by one. That is harmless: `fiscal_year` +and `fiscal_period` appear nowhere in the API schemas or routers — they are internal keys the +derivation uses for ordering, YTD differencing and YoY pairing, and the API surfaces +`period_end`. The requirement is uniqueness, monotonicity and YoY alignment, not nomenclature. +DPZ's derived values are byte-identical before and after the shift, which is the proof. + +## Prototype evidence (before implementing) + +Collisions = two period ends on one key, one silently discarded. Inversions = a period +sorting before one that precedes it. + +| | CRM | FRT | STX | BXP | PPL | MTD | NTAP | WDAY | CRWD | COST | PEP | IRM | DPZ | AMCR | AAPL | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| collisions before | 1 | 1 | 0 | 0 | 4 | 5 | 2 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | +| collisions after | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| inversions before | 1 | 1 | 1 | 0 | 2 | 10 | 2 | 3 | 5 | 1 | 0 | 0 | 2 | 0 | 0 | +| inversions after | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | + +## Validated on live data + +8 of the 9 recover fully, every one matching the legacy provider to two decimals: + +| name | TTM EPS | revenue growth | legacy | +|---|---|---|---| +| CRM | 8.63 | 10.9818 | 10.98 | +| FRT | 5.77 | 7.4263 | 7.43 | +| STX | 10.54 | 28.9227 | 28.92 | +| BXP | 1.99 | 1.6227 | 1.62 | +| MTD | 42.57 | 6.7785 | 6.78 | +| NTAP | 6.35 | 5.3713 | 5.37 | +| WDAY | 3.21 | 13.3165 | 13.32 | +| CRWD | −0.10 | 23.1667 | 23.17 | + +**PPL is partial**: revenue growth recovers (8.3353) but TTM EPS is still null — its 2026 Q1 +tags no diluted EPS variant at all, which is the open basic-vs-diluted decision, not this bug. +Note legacy claims −58.81% revenue growth for a utility; 8.34% is far more plausible. + +**Two bonus recoveries**: FCX and REG had recovered EPS in the fourth pass but their revenue +growth was still blocked by label collisions. REG now reads 7.7569 against legacy's 7.76. +FCX reads 5.4378 against legacy's −24.23 — a genuine disagreement, likely the same +`Revenues` vs ASC-606 ambiguity flagged for DVN in §2, and worth resolving with that decision. + +**Regression check — all byte-identical:** IRM 0.92/15.637543, COST 19.88/9.231107, +PEP 7.63/5.619741, DPZ 17.64/5.157289, AMCR null/64.834349, JPM 20.89/3.338823, +DVN 3.59/0.095648, AZO 145.39/5.740494. Nothing that worked before moved. + +7 tests added at `_period_identity` covering each production shape (10-Q-labelled-FY, +December collision, January and mid-year ends, 4-4-5 quarters, the January-crossing shift, +and the no-calendar fallback). Full suite: **811 passed**. + +## Reparse note + +This changes `fiscal_year`/`fiscal_period` for a large share of rows — every non-December +filer, not only the broken ones. The dry-run count will be **much** larger than for the +earlier fixes, and that is expected. Read it by field: `fiscal_year`/`fiscal_period` churn is +the intended relabelling; changes to *value* columns are the recoveries. + +## Where the 25 stand now + +22 of 25 have a fundamental score again. Remaining: **XOM** (CIK identity, still unfixed) and +**PSKY / Q**, which are new registrants without enough filing history — correct behaviour, +not a bug. + +--- + +# Sixth pass — CIK identity, and a much larger finding about share counts + +## XOM: pinned, plus the validation that should have caught it + +`company_tickers.json` maps XOM to CIK 2115436 "ExxonMobil Holdings Corp", which has **zero +XBRL filings**, while every 10-K/10-Q — including one filed 2026-05-04 — is still under CIK +34088. Which registrant is the real filer is a judgement about a corporate event, so it is +**pinned explicitly** rather than guessed: + +- `sec_universe.cik_overrides()` reads a `{symbol: cik}` JSON map from + `SystemSetting['sec_cik_overrides']` and applies it ahead of `company_tickers.json`. + A malformed setting is logged and ignored, never fatal. +- **To fix XOM, set:** `sec_cik_overrides = {"XOM": 34088}`. + +The more valuable half is that nothing noticed. A tracked issuer resolving to a registrant +with no XBRL filings can never produce a snapshot, and is restaged on *every* run forever. +The importer now records those in `staged.no_xbrl_filings`, reports them in the validation +summary (`no_xbrl_filings_count`), and raises a `no_xbrl_filings` SystemEvent naming the CIKs +and pointing at the override setting. It warns rather than fails — one misresolved ticker +must not block the whole import. + +3 tests added. Full suite: **814 passed**. + +## CHTR was not a bug, and the real problem is much bigger + +I previously called this "a separate small bug". Both halves were wrong. + +CHTR's `dei:EntityCommonStockSharesOutstanding` facts stop at **2016-06-30** — exactly when +the Time Warner Cable / Bright House deal closed and Charter became a multi-class issuer. +Since then the cover page reports the count **per share class**, which is dimensional, and +companyfacts is non-dimensional — so the facts are simply not in the API. Its recent filings +tag no consolidated common-share concept at all, only preferred and treasury. + +This is not specific to CHTR. Of 12 issuers checked, **7 have no share count at all**: + +| issuer | latest `shares_outstanding` | dei fact history | +|---|---|---| +| META | null (4/4 recent) | **never tagged** (n=0) | +| CMCSA | null (4/4 recent) | stops 2009-12-31 | +| BRK-B | null (4/4 recent) | stops 2011-04-29 | +| CHTR | null (4/4 recent) | stops 2016-06-30 | +| FOXA, NWSA, LEN | null (4/4 recent) | — | +| GOOGL / GOOG | 12,230,000,000 | works via the `us-gaap` fallback | + +So **market cap is silently unavailable for a meaningful slice of the large-cap universe**, +and it is a source limitation rather than a parser defect: the two obvious workarounds are +both already-rejected design decisions — class sums are impossible (the per-class facts are +not in companyfacts at all), and the weighted-average diluted count is explicitly excluded +because market cap needs a point-in-time value. + +**No code change made.** Substituting weighted-average diluted shares would silently +overturn a deliberate design decision and produce a subtly wrong market cap for exactly the +biggest, most-watched names. That is a call to make explicitly, so it is listed as a decision +below rather than quietly implemented. + +--- + +# Seventh pass — multi-class share counts (decision taken: weighted-average fallback) + +## Why this fallback, and why not the alternatives + +Two candidates existed. The one **not** taken: derive the count as +`net_income ÷ diluted_eps` from columns already stored — no migration at all, and measured +accurate (GOOGL +0.48%, MRNA −0.45%, AAPL +0.19%, MSFT +0.18%). Rejected because it depends +on the derived quarter chain — the very thing these fixes have been repairing, and FOXA +already fails it — and because the two-class EPS method makes `net_income` differ from the +EPS numerator for exactly the multi-class issuers this targets. + +Taken instead: store the **reported** `WeightedAverageNumberOfDilutedSharesOutstanding`. +It is the number the filer computed, needs no chain, and covers one issuer more. + +| control | point-in-time | wavg diluted (latest qtr) | ratio | +|---|---|---|---| +| GOOGL | 12,230,000,000 | 12,309,000,000 | 0.9936 | +| MRNA | 396,786,259 | 395,000,000 | 1.0045 | +| AAPL | 14,687,356,000 | 14,725,873,000 | 0.9974 | +| MSFT | 7,428,434,704 | 7,445,000,000 | 0.9978 | + +## Shape of the change + +- **Migration 027** adds `fundamental_snapshots.weighted_avg_diluted_shares`. A separate + column, never backfilled into `shares_outstanding`, so the point-in-time column keeps its + strict meaning and the fallback stays a read-time decision. +- **Parser** stores the **shortest**-span fact ending at `period_end` (the most recent + quarter's average, closest to the current count) — deliberately not the YTD one, since an + average is not cumulative and the YTD convention does not apply. +- **Derivation** falls back only when the cover-page count is absent, and sets + `shares_outstanding_estimated`. +- **API** exposes `shares_estimated`, so `market_cap_est` and `fcf_yield` are never presented + as exact when they rest on a period average. + +## Validated on live data + +| issuer | shares_outstanding | estimated | +|---|---|---| +| GOOGL, AAPL, MSFT, MRNA | unchanged point-in-time values | **False** | +| META | 2,564,000,000 | True | +| CMCSA | 3,570,000,000 | True | +| CHTR | 126,849,271 | True | +| FOXA | 432,000,000 | True | +| NWSA | 555,700,000 | True | +| LEN | 240,776,000 | True | +| **BRK-B** | **still null** | False | + +6 of 7 recovered, no regression on the controls. **BRK-B remains unavailable** and honestly +so: Berkshire reports per *equivalent Class A share*, dimensionally, so it has no consolidated +weighted-average fact either. Nothing in companyfacts can give it a share count. + +Known caveat, accepted: for issuers using the two-class method the count is the EPS +denominator. For CHTR that is Class A only — which is also the basis on which Charter's equity +market cap is normally quoted, so it is the right number for this purpose, but it is not +"all shares of all classes". + +3 tests added. Full suite: **817 passed**. Alembic single head at 027. + +**Needs the reparse to land:** existing rows have `weighted_avg_diluted_shares = NULL` until +`scripts/reparse_fundamentals.py --apply` runs, so market cap stays missing for these issuers +until then. + +--- + +# Eighth pass — revenue basis (decision: keep ASC-606, no change) + +The two concepts measure different things: `RevenueFromContractWithCustomerExcludingAssessedTax` +is customer-contract revenue (an E&P's oil/gas/NGL sales), while `Revenues` is the total +income-statement line, which for commodity producers folds in mark-to-market derivative +gains/losses. That is why DVN's ASC-606 figure is *larger*: 4,508M of sales minus ~701M of +hedging losses gives the 3,807M `Revenues` line. + +Measured across 21 issuers (deliberately energy-weighted, where the gap concentrates): + +- Both tags present and differing >1%: **5 of 21** — DVN +18.4%, COP −14.3%, OXY +6.5%, + FCX −2.8%, PPL +1.6%. Everyone else tags one, or they are identical (COST +0.0%). +- Concept choice **flips within an issuer's chain: 0 of 21**. Whichever tag wins, the series + is internally consistent, so YoY never compares two definitions. + +**Decision: keep ASC-606 first, change nothing.** Derivative gains/losses are mean-reverting +and sign-flipping; folding them into "revenue growth" turns the sub-score into a partial +hedging-P&L read for exactly the affected names. The consistency argument for switching is +empirically absent (zero flips), and changing would churn every dual-tagging issuer's stored +value — widening the reparse diff — to make ~5 names noisier. + +**Correction to the fourth/fifth-pass note:** FCX's disagreement with legacy (+5.44% vs +−24.23%) is **not** this ambiguity. Its two tags differ by only 2.8%, and FCX's own revenue +rose 22,703M → 25,186M YoY, so −24% is not credible — legacy is simply wrong there, and this +decision does not touch it. So the basis choice moves only DVN, COP, OXY. + +The mirror hazard — an issuer where ASC-606 is only a *fragment* of revenue (a bank's fee +income) — was checked (all 15 recovered banks resolve total revenue, not a fragment). A +fragment-detection warning was prototyped and then **removed**: with no UI surface it would +only have lived in the run summary, and the case it guards against is not currently present. +Documented and closed rather than shipped as dead plumbing. If a fragment case ever appears, +it shows up as an implausibly low revenue in the next parity report. + +--- + +# Ninth pass — basic-EPS fallback (PPL) and HAL resolved + +## PPL: basic-EPS fallback (decision taken) + +PPL's 2026 Q1 tags no diluted EPS variant at all, only basic — a single-filing omission +(its other quarters tag diluted), but that one missing period broke the quarter chain and +nulled TTM. `EarningsPerShareBasic` / `IncomeLossFromContinuingOperationsPerBasicShare` are +now appended to `_EPS_CONCEPTS`, last, so they only fire when no diluted variant exists. + +Evidence (19-name scan): a basic fallback helps exactly **1 name (PPL)**. Basic-vs-diluted is +~0.5–1.2% for most, +1.2% for PPL. The one name where it genuinely diverges (TSLA +13.3%) +already tags diluted, so it never reaches the fallback. Basic is always ≥ diluted, so the +result slightly overstates EPS / understates P/E — accepted, since it fires only on an +otherwise-null period. + +Validated: PPL TTM EPS null → **1.63** (≈$36 / 1.63 = 22.1 vs legacy P/E 22.43). AAPL, MSFT, +DUK, HAL unchanged — diluted still wins wherever present. 2 tests added. Full suite: **819 +passed**. + +## HAL: resolved, and it was never our bug + +HAL's TTM EPS is now **1.81** (≈$33 / 1.81 = 18.2 vs legacy P/E 18.01) — the period-identity +and EPS-concept work already fixed it. The "unexplained null" is closed. + +Its 2024 EPS values are garbage (680000, 1480000, …) because **Halliburton's own 2024 XBRL +tags `EarningsPerShareDiluted = 680000` in unit USD/shares** — a filer scale error in the +source, faithfully stored. It only poisons TTM windows that include 2024, which the current +point-in-time report does not use, so no code change: clamping EPS to "plausible" values would +risk masking real ones. Documented as a known source-data quirk. + +This does surface a latent robustness point (not acted on): a single fat-fingered per-share +value poisons any TTM window it lands in. It is invisible in the current report and out of +scope here, but worth a note if historical TTM series are ever surfaced. + +## All 25 lost names accounted for + +| status | names | +|---|---| +| **recovered** (22) | ARE, AZO, BXP, COST, CRM, CRWD, DPZ, DVN, FCX, FRT, HAL, KHC, MOS, MTD, NTAP, PEP, PPL, REG, SJM, STX, SWKS, WDAY | +| **XOM** | fixed by the `sec_cik_overrides` pin (needs the setting applied) | +| **PSKY, Q** | new registrants without enough filing history — correct behaviour, not a bug | + +## Still outstanding + +Revised after the second pass, in the order I would take them: + +Everything actionable without a live database is now done. What remains is one hard +data limitation and two operational steps that only run against production. + +1. ~~**§3a fiscal-period identity**~~ — **done**, fifth pass. +2. ~~**§1 split contamination, part (a)**~~ — **done**, third pass. +3. ~~**§5 EPS concept gap**~~ — **done**, third pass. +4. ~~**§4 XOM CIK remap** + zero-filings validation~~ — **done**, sixth pass. +5. ~~**Reparse path**~~ — **done**, fourth pass. +6. ~~**Multi-class share counts**~~ — **done**, seventh pass (weighted-average fallback). +7. ~~**DVN/FCX revenue basis**~~ — **decided**, eighth pass (keep ASC-606, no change). +8. ~~**PPL basic-EPS fallback**~~ — **done**, ninth pass. +9. ~~**HAL null TTM EPS**~~ — **resolved**, ninth pass (already fixed; 2024 is a filer error). + +## Review finding — two fixes on this branch silently interacted + +Caught in review, not by me. `_merge_amendments` (the per-field amendment fix, first pass) +builds the merged period from `_MERGED_FIELDS` + `_CARRIED_FIELDS` alone, so a column in +neither list is **absent** from the merged row, not merely stale — and every caller reads it +with `getattr(row, name, None)`, which quietly returns `None`. + +`weighted_avg_diluted_shares` (the market-cap fallback, seventh pass) was never added to +`_MERGED_FIELDS`. The failure needed both fixes to be present at once: a multi-class issuer +*and* a partial amendment on its latest period — META with a Part-III-only 10-K/A — would +silently lose market cap and FCF yield again, i.e. the seventh pass's fix undone by the +first pass's mechanism. I updated `_SNAPSHOT_COLS` in the importer when adding the column +but not `_MERGED_FIELDS` in the derivation. + +Fixed, with a regression test for the specific case. The more useful addition is a guard — +`test_merge_lists_cover_every_parser_field` asserts the two lists cover every `SnapshotRow` +field, so the *next* column added fails loudly instead of losing data quietly. Verified it +would have caught this one. + +Lesson worth keeping: a hand-maintained field list that reconstructs an object is a silent +data-loss footgun. `_SNAPSHOT_COLS` (importer) and `_MERGED_FIELDS` (derivation) must both +track the parser's `SnapshotRow`, and only one of them is now enforced by a test. + +## Genuinely unfixable from this data + +- **§1 part (b)** — a split post-dating the last filing (KLAC). No snapshot carries + share-count evidence, so no guard built on share counts can fire. Needs a corporate-actions + source or an external market-cap reconciliation. +- **BRK-B market cap** — Berkshire reports per equivalent Class A share, dimensionally, so it + has neither a cover-page count nor a weighted-average one. Nothing in companyfacts can give + it a share count. + +## Operational steps (production only — cannot run from here) + +- Apply the setting `sec_cik_overrides = {"XOM": 34088}`. +- Run `scripts/reparse_fundamentals.py` — dry run first, then `--apply`. This is what lands + every parser-side fix (revenue/EPS concepts, Q3 span, period identity, weighted-average + shares via migration 027) onto existing rows. Until it runs, those fixes are inert in prod. + +## Standing decision, revisit only if it bites + +- **COF-class share-change threshold** — kept at 25%. Revisit only if the 3.2% universe + hit-rate proves painful. + +## Known source-data quirk, not acted on + +- A single fat-fingered per-share value in a filer's XBRL (HAL 2024) poisons any TTM window + it lands in. Invisible in the current point-in-time report; relevant only if historical TTM + series are ever surfaced. + +PSKY and Q need nothing — they are new registrants without enough filing history, which is +correct behaviour. diff --git a/reports/fundamentals-parity-20260723T210658161480Z.json b/reports/fundamentals-parity-20260723T210658161480Z.json new file mode 100644 index 0000000..9f5fe08 --- /dev/null +++ b/reports/fundamentals-parity-20260723T210658161480Z.json @@ -0,0 +1,20628 @@ +{ + "approval_status": "pending_explicit_approval", + "as_of_date": "2026-07-23", + "definition_notes": { + "earnings_surprise": "Legacy provider latest surprise versus latest completed Dolt earnings event with actual and estimate.", + "pe_ratio": "Legacy provider P/E convention versus latest close divided by SEC-derived TTM diluted EPS.", + "revenue_growth": "Legacy provider growth convention versus SEC-derived TTM revenue YoY." + }, + "fundamental_score_formula": "Equal-weighted mean of 2+ available sub-scores: P/E = clamp(100-(pe-15)*(100/30)); revenue growth = clamp(50+growth*2.5); earnings surprise = clamp(50+surprise*5).", + "generated_at": "2026-07-23T21:06:58.161480+00:00", + "materiality_notes": { + "automatic_cutover": false, + "fields": { + "earnings_surprise": { + "absolute": 2.0, + "relative_pct": null + }, + "pe_ratio": { + "absolute": 1.0, + "relative_pct": 10.0 + }, + "revenue_growth": { + "absolute": 2.0, + "relative_pct": null + } + }, + "fundamental_score_absolute": 5.0 + }, + "read_only": true, + "report_version": 1, + "rows": [ + { + "cik": "0001090872", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.6031, + "candidate": 6.4286, + "definition_changed": true, + "legacy": 3.8255, + "material": true, + "relative_delta_pct": 68.046 + }, + "pe_ratio": { + "absolute_delta": 0.3443, + "candidate": 28.0602, + "definition_changed": true, + "legacy": 27.7159, + "material": false, + "relative_delta_pct": 1.2422 + }, + "revenue_growth": { + "absolute_delta": 0.0029, + "candidate": 9.1129, + "definition_changed": true, + "legacy": 9.11, + "material": false, + "relative_delta_pct": 0.0318 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:05.612572+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.4636, + "candidate_fundamental_rank": 234, + "fundamental_delta": 3.9582, + "fundamental_rank_change": 45, + "legacy_fundamental": 66.5054, + "legacy_fundamental_rank": 279 + }, + "symbol": "A" + }, + { + "cik": "0000320193", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.6012, + "candidate": 4.6875, + "definition_changed": true, + "legacy": 1.0863, + "material": true, + "relative_delta_pct": 331.5106 + }, + "pe_ratio": { + "absolute_delta": 0.5217, + "candidate": 38.9419, + "definition_changed": true, + "legacy": 38.4202, + "material": false, + "relative_delta_pct": 1.3579 + }, + "revenue_growth": { + "absolute_delta": -0.0027, + "candidate": 12.7573, + "definition_changed": true, + "legacy": 12.76, + "material": false, + "relative_delta_pct": -0.0212 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:32.761870+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.5082, + "candidate_fundamental_rank": 361, + "fundamental_delta": 5.4201, + "fundamental_rank_change": 49, + "legacy_fundamental": 53.0881, + "legacy_fundamental_rank": 410 + }, + "symbol": "AAPL" + }, + { + "cik": "0001551152", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9635, + "candidate": 1.145, + "definition_changed": true, + "legacy": 0.1815, + "material": false, + "relative_delta_pct": 530.854 + }, + "pe_ratio": { + "absolute_delta": 3.4451, + "candidate": 126.5616, + "definition_changed": true, + "legacy": 123.1165, + "material": false, + "relative_delta_pct": 2.7982 + }, + "revenue_growth": { + "absolute_delta": 0.0037, + "candidate": 9.5037, + "definition_changed": true, + "legacy": 9.5, + "material": false, + "relative_delta_pct": 0.0389 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:55.226342+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 43.1615, + "candidate_fundamental_rank": 455, + "fundamental_delta": 1.609, + "fundamental_rank_change": 20, + "legacy_fundamental": 41.5525, + "legacy_fundamental_rank": 475 + }, + "symbol": "ABBV" + }, + { + "cik": "0001559720", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.2347, + "candidate": -16.129, + "definition_changed": true, + "legacy": -11.8943, + "material": true, + "relative_delta_pct": -35.6028 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 33.5355, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0021, + "candidate": 12.5979, + "definition_changed": true, + "legacy": 12.6, + "material": false, + "relative_delta_pct": -0.0167 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:10.190112+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 40.7474, + "candidate_fundamental_rank": 461, + "fundamental_delta": 0.8424, + "fundamental_rank_change": 20, + "legacy_fundamental": 39.905, + "legacy_fundamental_rank": 481 + }, + "symbol": "ABNB" + }, + { + "cik": "0000001800", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9663, + "candidate": 2.3438, + "definition_changed": true, + "legacy": 1.3775, + "material": false, + "relative_delta_pct": 70.1488 + }, + "pe_ratio": { + "absolute_delta": -4.1716, + "candidate": 28.2213, + "definition_changed": true, + "legacy": 32.3929, + "material": true, + "relative_delta_pct": -12.8781 + }, + "revenue_growth": { + "absolute_delta": -1.4711, + "candidate": 6.5889, + "definition_changed": true, + "legacy": 8.06, + "material": false, + "relative_delta_pct": -18.2519 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:59.519452+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.3733, + "candidate_fundamental_rank": 321, + "fundamental_delta": 5.0196, + "fundamental_rank_change": 65, + "legacy_fundamental": 56.3537, + "legacy_fundamental_rank": 386 + }, + "symbol": "ABT" + }, + { + "cik": "0000947484", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.1367, + "candidate": 2.0408, + "definition_changed": true, + "legacy": -1.0959, + "material": true, + "relative_delta_pct": 286.2214 + }, + "pe_ratio": { + "absolute_delta": 0.6269, + "candidate": 7.7, + "definition_changed": true, + "legacy": 7.0731, + "material": false, + "relative_delta_pct": 8.8632 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 7.84, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:34:14.959671+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.102, + "candidate_fundamental_rank": 130, + "fundamental_delta": 8.7285, + "fundamental_rank_change": 77, + "legacy_fundamental": 71.3735, + "legacy_fundamental_rank": 207 + }, + "symbol": "ACGL" + }, + { + "cik": "0001467373", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2774, + "candidate": 2.7027, + "definition_changed": true, + "legacy": 1.4253, + "material": false, + "relative_delta_pct": 89.6232 + }, + "pe_ratio": { + "absolute_delta": 0.2359, + "candidate": 11.0815, + "definition_changed": true, + "legacy": 10.8456, + "material": false, + "relative_delta_pct": 2.1751 + }, + "revenue_growth": { + "absolute_delta": 0.0034, + "candidate": 6.7434, + "definition_changed": true, + "legacy": 6.74, + "material": false, + "relative_delta_pct": 0.0504 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:03.709833+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.7907, + "candidate_fundamental_rank": 162, + "fundamental_delta": 2.1318, + "fundamental_rank_change": 4, + "legacy_fundamental": 74.6588, + "legacy_fundamental_rank": 166 + }, + "symbol": "ACN" + }, + { + "cik": "0000796343", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8678, + "candidate": 2.2298, + "definition_changed": true, + "legacy": 0.362, + "material": false, + "relative_delta_pct": 515.9669 + }, + "pe_ratio": { + "absolute_delta": 0.131, + "candidate": 12.1379, + "definition_changed": true, + "legacy": 12.0069, + "material": false, + "relative_delta_pct": 1.091 + }, + "revenue_growth": { + "absolute_delta": 0.0006, + "candidate": 11.4906, + "definition_changed": true, + "legacy": 11.49, + "material": false, + "relative_delta_pct": 0.0052 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:08.031814+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.9586, + "candidate_fundamental_rank": 132, + "fundamental_delta": 3.1136, + "fundamental_rank_change": 6, + "legacy_fundamental": 76.845, + "legacy_fundamental_rank": 138 + }, + "symbol": "ADBE" + }, + { + "cik": "0000006281", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5927, + "candidate": 6.9204, + "definition_changed": true, + "legacy": 5.3277, + "material": false, + "relative_delta_pct": 29.8947 + }, + "pe_ratio": { + "absolute_delta": 1.326, + "candidate": 56.5774, + "definition_changed": true, + "legacy": 55.2514, + "material": false, + "relative_delta_pct": 2.3999 + }, + "revenue_growth": { + "absolute_delta": 0.005, + "candidate": 29.755, + "definition_changed": true, + "legacy": 29.75, + "material": false, + "relative_delta_pct": 0.0168 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:19.367625+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.534, + "candidate_fundamental_rank": 320, + "fundamental_delta": 2.6545, + "fundamental_rank_change": 31, + "legacy_fundamental": 58.8795, + "legacy_fundamental_rank": 351 + }, + "symbol": "ADI" + }, + { + "cik": "0000007084", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9852, + "candidate": 7.5758, + "definition_changed": true, + "legacy": 6.5906, + "material": false, + "relative_delta_pct": 14.9486 + }, + "pe_ratio": { + "absolute_delta": -0.3819, + "candidate": 38.5491, + "definition_changed": true, + "legacy": 38.931, + "material": false, + "relative_delta_pct": -0.981 + }, + "revenue_growth": { + "absolute_delta": 191.596, + "candidate": 187.696, + "definition_changed": true, + "legacy": -3.9, + "material": true, + "relative_delta_pct": 4912.7179 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:24.396806+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.7939, + "candidate_fundamental_rank": 245, + "fundamental_delta": 21.9829, + "fundamental_rank_change": 206, + "legacy_fundamental": 47.811, + "legacy_fundamental_rank": 451 + }, + "symbol": "ADM" + }, + { + "cik": "0000008670", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0928, + "candidate": 2.7439, + "definition_changed": true, + "legacy": 1.6511, + "material": false, + "relative_delta_pct": 66.1862 + }, + "pe_ratio": { + "absolute_delta": 0.4894, + "candidate": 22.6567, + "definition_changed": true, + "legacy": 22.1673, + "material": false, + "relative_delta_pct": 2.2078 + }, + "revenue_growth": { + "absolute_delta": -0.0011, + "candidate": 6.9189, + "definition_changed": true, + "legacy": 6.92, + "material": false, + "relative_delta_pct": -0.0159 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:28.987811+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.4981, + "candidate_fundamental_rank": 257, + "fundamental_delta": 1.2766, + "fundamental_rank_change": -4, + "legacy_fundamental": 67.2215, + "legacy_fundamental_rank": 253 + }, + "symbol": "ADP" + }, + { + "cik": "0000769397", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2209, + "candidate": 5.2817, + "definition_changed": true, + "legacy": 3.0608, + "material": true, + "relative_delta_pct": 72.5595 + }, + "pe_ratio": { + "absolute_delta": 0.5245, + "candidate": 29.965, + "definition_changed": true, + "legacy": 29.4405, + "material": false, + "relative_delta_pct": 1.7816 + }, + "revenue_growth": { + "absolute_delta": -0.0036, + "candidate": 18.2764, + "definition_changed": true, + "legacy": 18.28, + "material": false, + "relative_delta_pct": -0.0197 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:33.640880+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.072, + "candidate_fundamental_rank": 198, + "fundamental_delta": 3.1157, + "fundamental_rank_change": 18, + "legacy_fundamental": 70.9563, + "legacy_fundamental_rank": 216 + }, + "symbol": "ADSK" + }, + { + "cik": "0001002910", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0822, + "candidate": 9.4017, + "definition_changed": true, + "legacy": 7.3195, + "material": true, + "relative_delta_pct": 28.4473 + }, + "pe_ratio": { + "absolute_delta": -0.1008, + "candidate": 20.3723, + "definition_changed": true, + "legacy": 20.4731, + "material": false, + "relative_delta_pct": -0.4924 + }, + "revenue_growth": { + "absolute_delta": 0.0029, + "candidate": 12.3229, + "definition_changed": true, + "legacy": 12.32, + "material": false, + "relative_delta_pct": 0.0235 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:38.227630+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.636, + "candidate_fundamental_rank": 70, + "fundamental_delta": 3.5847, + "fundamental_rank_change": 6, + "legacy_fundamental": 83.0513, + "legacy_fundamental_rank": 76 + }, + "symbol": "AEE" + }, + { + "cik": "0000004904", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3365, + "candidate": 5.8065, + "definition_changed": true, + "legacy": 3.47, + "material": true, + "relative_delta_pct": 67.3343 + }, + "pe_ratio": { + "absolute_delta": 0.1425, + "candidate": 19.9586, + "definition_changed": true, + "legacy": 19.8161, + "material": false, + "relative_delta_pct": 0.7191 + }, + "revenue_growth": { + "absolute_delta": -4.499, + "candidate": 6.881, + "definition_changed": true, + "legacy": 11.38, + "material": true, + "relative_delta_pct": -39.5343 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:42.666817+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.5687, + "candidate_fundamental_rank": 167, + "fundamental_delta": -0.0134, + "fundamental_rank_change": -23, + "legacy_fundamental": 76.5821, + "legacy_fundamental_rank": 144 + }, + "symbol": "AEP" + }, + { + "cik": "0000874761", + "fields": { + "earnings_surprise": { + "absolute_delta": -46.2529, + "candidate": 34.0, + "definition_changed": true, + "legacy": 80.2529, + "material": true, + "relative_delta_pct": -57.6339 + }, + "pe_ratio": { + "absolute_delta": 0.0837, + "candidate": 7.9305, + "definition_changed": true, + "legacy": 7.8468, + "material": false, + "relative_delta_pct": 1.0667 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 3.04, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:34:47.026937+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 14.1333, + "fundamental_rank_change": 58, + "legacy_fundamental": 85.8667, + "legacy_fundamental_rank": 59 + }, + "symbol": "AES" + }, + { + "cik": "0000004977", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5833, + "candidate": -2.7778, + "definition_changed": true, + "legacy": -4.3611, + "material": false, + "relative_delta_pct": 36.3051 + }, + "pe_ratio": { + "absolute_delta": 0.6063, + "candidate": 14.2103, + "definition_changed": true, + "legacy": 13.604, + "material": false, + "relative_delta_pct": 4.4568 + }, + "revenue_growth": { + "absolute_delta": -0.0086, + "candidate": 7.2414, + "definition_changed": true, + "legacy": 7.25, + "material": false, + "relative_delta_pct": -0.1186 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:51.892478+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.0715, + "candidate_fundamental_rank": 261, + "fundamental_delta": 2.6317, + "fundamental_rank_change": 24, + "legacy_fundamental": 65.4398, + "legacy_fundamental_rank": 285 + }, + "symbol": "AFL" + }, + { + "cik": "0000005272", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9503, + "candidate": 11.0526, + "definition_changed": true, + "legacy": 10.1023, + "material": false, + "relative_delta_pct": 9.4068 + }, + "pe_ratio": { + "absolute_delta": 0.7, + "candidate": 13.7606, + "definition_changed": true, + "legacy": 13.0606, + "material": false, + "relative_delta_pct": 5.3596 + }, + "revenue_growth": { + "absolute_delta": 26.4804, + "candidate": 24.1704, + "definition_changed": true, + "legacy": -2.31, + "material": true, + "relative_delta_pct": 1146.3377 + } + }, + "legacy_fetched_at": "2026-07-23T20:52:56.316731+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 18.5917, + "fundamental_rank_change": 90, + "legacy_fundamental": 81.4083, + "legacy_fundamental_rank": 91 + }, + "symbol": "AIG" + }, + { + "cik": "0001267238", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.088, + "candidate": 10.1852, + "definition_changed": true, + "legacy": 11.2732, + "material": false, + "relative_delta_pct": -9.6512 + }, + "pe_ratio": { + "absolute_delta": 0.5637, + "candidate": 14.0338, + "definition_changed": true, + "legacy": 13.4701, + "material": false, + "relative_delta_pct": 4.1848 + }, + "revenue_growth": { + "absolute_delta": -0.0287, + "candidate": 9.0213, + "definition_changed": true, + "legacy": 9.05, + "material": false, + "relative_delta_pct": -0.3171 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:56.197883+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 90.8511, + "candidate_fundamental_rank": 35, + "fundamental_delta": -0.0239, + "fundamental_rank_change": -2, + "legacy_fundamental": 90.875, + "legacy_fundamental_rank": 33 + }, + "symbol": "AIZ" + }, + { + "cik": "0000354190", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6356, + "candidate": 1.5909, + "definition_changed": true, + "legacy": -0.0447, + "material": false, + "relative_delta_pct": 3659.0604 + }, + "pe_ratio": { + "absolute_delta": 0.4663, + "candidate": 39.1926, + "definition_changed": true, + "legacy": 38.7263, + "material": false, + "relative_delta_pct": 1.2041 + }, + "revenue_growth": { + "absolute_delta": 0.0061, + "candidate": 24.5061, + "definition_changed": true, + "legacy": 24.5, + "material": false, + "relative_delta_pct": 0.0249 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:01.338889+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.1042, + "candidate_fundamental_rank": 357, + "fundamental_delta": 2.208, + "fundamental_rank_change": 20, + "legacy_fundamental": 56.8963, + "legacy_fundamental_rank": 377 + }, + "symbol": "AJG" + }, + { + "cik": "0001086222", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3964, + "candidate": 0.0, + "definition_changed": true, + "legacy": -1.3964, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": -1.8944, + "candidate": 39.652, + "definition_changed": true, + "legacy": 41.5464, + "material": false, + "relative_delta_pct": -4.5597 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 6.15, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:35:07.323711+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 33.9133, + "candidate_fundamental_rank": 469, + "fundamental_delta": -6.055, + "fundamental_rank_change": 11, + "legacy_fundamental": 39.9683, + "legacy_fundamental_rank": 480 + }, + "symbol": "AKAM" + }, + { + "cik": "0000915913", + "fields": { + "earnings_surprise": { + "absolute_delta": -28.9202, + "candidate": 137.9032, + "definition_changed": true, + "legacy": 166.8234, + "material": true, + "relative_delta_pct": -17.3358 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0008, + "candidate": 7.8708, + "definition_changed": true, + "legacy": 7.87, + "material": false, + "relative_delta_pct": 0.0102 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:12.565173+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 84.8385, + "candidate_fundamental_rank": 88, + "fundamental_delta": 0.001, + "fundamental_rank_change": -21, + "legacy_fundamental": 84.8375, + "legacy_fundamental_rank": 67 + }, + "symbol": "ALB" + }, + { + "cik": "0001097149", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.1963, + "candidate": 14.1593, + "definition_changed": true, + "legacy": 10.963, + "material": true, + "relative_delta_pct": 29.1553 + }, + "pe_ratio": { + "absolute_delta": 0.4525, + "candidate": 28.2756, + "definition_changed": true, + "legacy": 27.8231, + "material": false, + "relative_delta_pct": 1.6263 + }, + "revenue_growth": { + "absolute_delta": -0.0025, + "candidate": 2.8875, + "definition_changed": true, + "legacy": 2.89, + "material": false, + "relative_delta_pct": -0.0865 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:17.271460+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.9889, + "candidate_fundamental_rank": 228, + "fundamental_delta": -0.5049, + "fundamental_rank_change": -23, + "legacy_fundamental": 71.4938, + "legacy_fundamental_rank": 205 + }, + "symbol": "ALGN" + }, + { + "cik": "0000899051", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.3554, + "candidate": 43.3378, + "definition_changed": true, + "legacy": 44.6932, + "material": false, + "relative_delta_pct": -3.0327 + }, + "pe_ratio": { + "absolute_delta": 0.2259, + "candidate": 5.631, + "definition_changed": true, + "legacy": 5.4051, + "material": false, + "relative_delta_pct": 4.1794 + }, + "revenue_growth": { + "absolute_delta": 0.0028, + "candidate": 4.4028, + "definition_changed": true, + "legacy": 4.4, + "material": false, + "relative_delta_pct": 0.0636 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:21.898143+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.0024, + "candidate_fundamental_rank": 62, + "fundamental_delta": 0.0024, + "fundamental_rank_change": -11, + "legacy_fundamental": 87.0, + "legacy_fundamental_rank": 51 + }, + "symbol": "ALL" + }, + { + "cik": "0001579241", + "fields": { + "earnings_surprise": { + "absolute_delta": -10.643, + "candidate": -4.2553, + "definition_changed": true, + "legacy": 6.3877, + "material": true, + "relative_delta_pct": -166.6171 + }, + "pe_ratio": { + "absolute_delta": 1.3062, + "candidate": 20.2848, + "definition_changed": true, + "legacy": 18.9786, + "material": false, + "relative_delta_pct": 6.8825 + }, + "revenue_growth": { + "absolute_delta": 1.7553, + "candidate": 10.6253, + "definition_changed": true, + "legacy": 8.87, + "material": false, + "relative_delta_pct": 19.7892 + } + }, + "legacy_fetched_at": "2026-07-23T20:54:56.348347+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.5569, + "candidate_fundamental_rank": 311, + "fundamental_delta": -17.7269, + "fundamental_rank_change": -214, + "legacy_fundamental": 80.2838, + "legacy_fundamental_rank": 97 + }, + "symbol": "ALLE" + }, + { + "cik": "0000006951", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.4765, + "candidate": 6.7164, + "definition_changed": true, + "legacy": 5.2399, + "material": false, + "relative_delta_pct": 28.178 + }, + "pe_ratio": { + "absolute_delta": 0.2434, + "candidate": 52.9445, + "definition_changed": true, + "legacy": 52.7011, + "material": false, + "relative_delta_pct": 0.4618 + }, + "revenue_growth": { + "absolute_delta": -0.0013, + "candidate": 3.3287, + "definition_changed": true, + "legacy": 3.33, + "material": false, + "relative_delta_pct": -0.039 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:26.213827+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 47.3013, + "candidate_fundamental_rank": 437, + "fundamental_delta": 2.4598, + "fundamental_rank_change": 26, + "legacy_fundamental": 44.8415, + "legacy_fundamental_rank": 463 + }, + "symbol": "AMAT" + }, + { + "cik": "0001748790", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.9808, + "candidate": 0.0, + "definition_changed": true, + "legacy": -1.9808, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": -0.8553, + "candidate": 28.6107, + "definition_changed": true, + "legacy": 29.466, + "material": false, + "relative_delta_pct": -2.9027 + }, + "revenue_growth": { + "absolute_delta": 0.0043, + "candidate": 64.8343, + "definition_changed": true, + "legacy": 64.83, + "material": false, + "relative_delta_pct": 0.0066 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:30.627862+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.2103, + "candidate_fundamental_rank": 258, + "fundamental_delta": 4.2516, + "fundamental_rank_change": 44, + "legacy_fundamental": 63.9587, + "legacy_fundamental_rank": 302 + }, + "symbol": "AMCR" + }, + { + "cik": "0000002488", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5965, + "candidate": 5.3846, + "definition_changed": true, + "legacy": 4.7881, + "material": false, + "relative_delta_pct": 12.458 + }, + "pe_ratio": { + "absolute_delta": -3.834, + "candidate": 176.9475, + "definition_changed": true, + "legacy": 180.7815, + "material": false, + "relative_delta_pct": -2.1208 + }, + "revenue_growth": { + "absolute_delta": -0.0006, + "candidate": 34.9694, + "definition_changed": true, + "legacy": 34.97, + "material": false, + "relative_delta_pct": -0.0017 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:12.144644+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.9744, + "candidate_fundamental_rank": 358, + "fundamental_delta": 0.9942, + "fundamental_rank_change": 5, + "legacy_fundamental": 57.9802, + "legacy_fundamental_rank": 363 + }, + "symbol": "AMD" + }, + { + "cik": "0001037868", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2135, + "candidate": 3.6842, + "definition_changed": true, + "legacy": 2.4707, + "material": false, + "relative_delta_pct": 49.1156 + }, + "pe_ratio": { + "absolute_delta": 0.829, + "candidate": 36.426, + "definition_changed": true, + "legacy": 35.597, + "material": false, + "relative_delta_pct": 2.3288 + }, + "revenue_growth": { + "absolute_delta": 0.003, + "candidate": 9.523, + "definition_changed": true, + "legacy": 9.52, + "material": false, + "relative_delta_pct": 0.0315 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:35.371410+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 56.9362, + "candidate_fundamental_rank": 371, + "fundamental_delta": 1.104, + "fundamental_rank_change": 19, + "legacy_fundamental": 55.8323, + "legacy_fundamental_rank": 390 + }, + "symbol": "AME" + }, + { + "cik": "0000318154", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.7421, + "candidate": 8.8795, + "definition_changed": true, + "legacy": 6.1374, + "material": true, + "relative_delta_pct": 44.6785 + }, + "pe_ratio": { + "absolute_delta": 0.7405, + "candidate": 25.8525, + "definition_changed": true, + "legacy": 25.112, + "material": false, + "relative_delta_pct": 2.9488 + }, + "revenue_growth": { + "absolute_delta": -0.0036, + "candidate": 9.0664, + "definition_changed": true, + "legacy": 9.07, + "material": false, + "relative_delta_pct": -0.0397 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:40.197819+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.9629, + "candidate_fundamental_rank": 160, + "fundamental_delta": 3.7444, + "fundamental_rank_change": 19, + "legacy_fundamental": 73.2184, + "legacy_fundamental_rank": 179 + }, + "symbol": "AMGN" + }, + { + "cik": "0000820027", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.2073, + "candidate": 10.3922, + "definition_changed": true, + "legacy": 2.1849, + "material": true, + "relative_delta_pct": 375.6373 + }, + "pe_ratio": { + "absolute_delta": 0.8015, + "candidate": 12.9606, + "definition_changed": true, + "legacy": 12.1591, + "material": false, + "relative_delta_pct": 6.5918 + }, + "revenue_growth": { + "absolute_delta": 0.0045, + "candidate": 6.8245, + "definition_changed": true, + "legacy": 6.82, + "material": false, + "relative_delta_pct": 0.066 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:44.531180+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 89.0204, + "candidate_fundamental_rank": 43, + "fundamental_delta": 13.0289, + "fundamental_rank_change": 108, + "legacy_fundamental": 75.9915, + "legacy_fundamental_rank": 151 + }, + "symbol": "AMP" + }, + { + "cik": "0001053507", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.0293, + "candidate": 13.6, + "definition_changed": true, + "legacy": 13.6293, + "material": false, + "relative_delta_pct": -0.215 + }, + "pe_ratio": { + "absolute_delta": -0.2922, + "candidate": 26.5565, + "definition_changed": true, + "legacy": 26.8487, + "material": false, + "relative_delta_pct": -1.0883 + }, + "revenue_growth": { + "absolute_delta": 5.878, + "candidate": 12.188, + "definition_changed": true, + "legacy": 6.31, + "material": true, + "relative_delta_pct": 93.1537 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:49.207142+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.6495, + "candidate_fundamental_rank": 127, + "fundamental_delta": 5.2231, + "fundamental_rank_change": 26, + "legacy_fundamental": 75.4264, + "legacy_fundamental_rank": 153 + }, + "symbol": "AMT" + }, + { + "cik": "0001018724", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1101, + "candidate": -2.5, + "definition_changed": true, + "legacy": -3.6101, + "material": false, + "relative_delta_pct": 30.7498 + }, + "pe_ratio": { + "absolute_delta": -0.1733, + "candidate": 27.9498, + "definition_changed": true, + "legacy": 28.1231, + "material": false, + "relative_delta_pct": -0.6162 + }, + "revenue_growth": { + "absolute_delta": -0.0018, + "candidate": 14.2182, + "definition_changed": true, + "legacy": 14.22, + "material": false, + "relative_delta_pct": -0.0127 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:44.874703+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.9599, + "candidate_fundamental_rank": 339, + "fundamental_delta": 2.0413, + "fundamental_rank_change": 26, + "legacy_fundamental": 57.9186, + "legacy_fundamental_rank": 365 + }, + "symbol": "AMZN" + }, + { + "cik": "0001596532", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6195, + "candidate": 7.4074, + "definition_changed": true, + "legacy": 5.7879, + "material": false, + "relative_delta_pct": 27.9808 + }, + "pe_ratio": { + "absolute_delta": 1.506, + "candidate": 60.6907, + "definition_changed": true, + "legacy": 59.1847, + "material": false, + "relative_delta_pct": 2.5446 + }, + "revenue_growth": { + "absolute_delta": -0.0004, + "candidate": 30.5696, + "definition_changed": true, + "legacy": 30.57, + "material": false, + "relative_delta_pct": -0.0013 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:53.566061+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.3457, + "candidate_fundamental_rank": 313, + "fundamental_delta": 2.6992, + "fundamental_rank_change": 30, + "legacy_fundamental": 59.6465, + "legacy_fundamental_rank": 343 + }, + "symbol": "ANET" + }, + { + "cik": "0000315293", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0803, + "candidate": 2.3697, + "definition_changed": true, + "legacy": 0.2894, + "material": true, + "relative_delta_pct": 718.8321 + }, + "pe_ratio": { + "absolute_delta": 0.3884, + "candidate": 19.5269, + "definition_changed": true, + "legacy": 19.1385, + "material": false, + "relative_delta_pct": 2.0294 + }, + "revenue_growth": { + "absolute_delta": 0.0022, + "candidate": 6.9022, + "definition_changed": true, + "legacy": 6.9, + "material": false, + "relative_delta_pct": 0.0319 + } + }, + "legacy_fetched_at": "2026-07-23T19:35:58.206718+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.3381, + "candidate_fundamental_rank": 222, + "fundamental_delta": 3.0374, + "fundamental_rank_change": 21, + "legacy_fundamental": 68.3007, + "legacy_fundamental_rank": 243 + }, + "symbol": "AON" + }, + { + "cik": "0000091142", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1679, + "candidate": -9.5745, + "definition_changed": true, + "legacy": -10.7424, + "material": false, + "relative_delta_pct": 10.8719 + }, + "pe_ratio": { + "absolute_delta": 0.3583, + "candidate": 15.864, + "definition_changed": true, + "legacy": 15.5057, + "material": false, + "relative_delta_pct": 2.3108 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 0.23, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:36:04.143464+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 49.6238, + "candidate_fundamental_rank": 428, + "fundamental_delta": -0.0059, + "fundamental_rank_change": 5, + "legacy_fundamental": 49.6298, + "legacy_fundamental_rank": 433 + }, + "symbol": "AOS" + }, + { + "cik": "0001841666", + "fields": { + "earnings_surprise": { + "absolute_delta": 16.036, + "candidate": 36.6337, + "definition_changed": true, + "legacy": 20.5977, + "material": true, + "relative_delta_pct": 77.8534 + }, + "pe_ratio": { + "absolute_delta": 0.1473, + "candidate": 8.4895, + "definition_changed": true, + "legacy": 8.3422, + "material": false, + "relative_delta_pct": 1.7657 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -17.38, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:36:08.526767+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 31.15, + "fundamental_rank_change": 236, + "legacy_fundamental": 68.85, + "legacy_fundamental_rank": 237 + }, + "symbol": "APA" + }, + { + "cik": "0000002969", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5388, + "candidate": 4.918, + "definition_changed": true, + "legacy": 3.3792, + "material": false, + "relative_delta_pct": 45.5374 + }, + "pe_ratio": { + "absolute_delta": -0.3224, + "candidate": 31.1089, + "definition_changed": true, + "legacy": 31.4313, + "material": false, + "relative_delta_pct": -1.0257 + }, + "revenue_growth": { + "absolute_delta": -0.003, + "candidate": 3.687, + "definition_changed": true, + "legacy": 3.69, + "material": false, + "relative_delta_pct": -0.0813 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:13.021200+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.0371, + "candidate_fundamental_rank": 337, + "fundamental_delta": 2.9204, + "fundamental_rank_change": 37, + "legacy_fundamental": 57.1167, + "legacy_fundamental_rank": 374 + }, + "symbol": "APD" + }, + { + "cik": "0000820313", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3045, + "candidate": 11.5789, + "definition_changed": true, + "legacy": 11.2744, + "material": false, + "relative_delta_pct": 2.7008 + }, + "pe_ratio": { + "absolute_delta": 1.5804, + "candidate": 45.2385, + "definition_changed": true, + "legacy": 43.6581, + "material": false, + "relative_delta_pct": 3.6199 + }, + "revenue_growth": { + "absolute_delta": -0.003, + "candidate": 54.397, + "definition_changed": true, + "legacy": 54.4, + "material": false, + "relative_delta_pct": -0.0055 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:17.490795+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": -1.491, + "fundamental_rank_change": -21, + "legacy_fundamental": 68.1577, + "legacy_fundamental_rank": 246 + }, + "symbol": "APH" + }, + { + "cik": "0001858681", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.5023, + "candidate": -2.0202, + "definition_changed": true, + "legacy": -0.5179, + "material": false, + "relative_delta_pct": -290.0753 + }, + "pe_ratio": { + "absolute_delta": 14.8527, + "candidate": 74.8428, + "definition_changed": true, + "legacy": 59.9901, + "material": true, + "relative_delta_pct": 24.7586 + }, + "revenue_growth": { + "absolute_delta": 2.0181, + "candidate": 28.1781, + "definition_changed": true, + "legacy": 26.16, + "material": true, + "relative_delta_pct": 7.7144 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:22.274003+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 46.633, + "candidate_fundamental_rank": 440, + "fundamental_delta": -2.5038, + "fundamental_rank_change": -2, + "legacy_fundamental": 49.1368, + "legacy_fundamental_rank": 438 + }, + "symbol": "APO" + }, + { + "cik": "0001751008", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1543, + "candidate": 4.7059, + "definition_changed": true, + "legacy": 3.5516, + "material": false, + "relative_delta_pct": 32.5008 + }, + "pe_ratio": { + "absolute_delta": -0.6997, + "candidate": 34.2663, + "definition_changed": true, + "legacy": 34.966, + "material": false, + "relative_delta_pct": -2.0011 + }, + "revenue_growth": { + "absolute_delta": -26.2908, + "candidate": 13.7092, + "definition_changed": true, + "legacy": 40.0, + "material": true, + "relative_delta_pct": -65.727 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:27.105751+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.5272, + "candidate_fundamental_rank": 298, + "fundamental_delta": -2.5411, + "fundamental_rank_change": -42, + "legacy_fundamental": 67.0682, + "legacy_fundamental_rank": 256 + }, + "symbol": "APP" + }, + { + "cik": "0001521332", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.306, + "candidate": 5.5556, + "definition_changed": true, + "legacy": 6.8616, + "material": false, + "relative_delta_pct": -19.0335 + }, + "pe_ratio": { + "absolute_delta": 40.8958, + "candidate": 74.8, + "definition_changed": true, + "legacy": 33.9042, + "material": true, + "relative_delta_pct": 120.6216 + }, + "revenue_growth": { + "absolute_delta": -1.7251, + "candidate": 3.4749, + "definition_changed": true, + "legacy": 5.2, + "material": false, + "relative_delta_pct": -33.175 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:31.620906+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 45.4883, + "candidate_fundamental_rank": 446, + "fundamental_delta": -15.943, + "fundamental_rank_change": -113, + "legacy_fundamental": 61.4313, + "legacy_fundamental_rank": 333 + }, + "symbol": "APTV" + }, + { + "cik": "0001035443", + "fields": { + "earnings_surprise": { + "absolute_delta": -1459.02, + "candidate": 0.0, + "definition_changed": true, + "legacy": 1459.02, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -9.53, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:57:04.506818+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 63.0875, + "legacy_fundamental_rank": 314 + }, + "symbol": "ARE" + }, + { + "cik": "0001176948", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.9836, + "candidate": -6.0606, + "definition_changed": true, + "legacy": -9.0442, + "material": true, + "relative_delta_pct": 32.9891 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 42.5532, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0008, + "candidate": 38.5092, + "definition_changed": true, + "legacy": 38.51, + "material": false, + "relative_delta_pct": -0.0021 + } + }, + "legacy_fetched_at": "2026-07-23T20:55:08.540269+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.8485, + "candidate_fundamental_rank": 343, + "fundamental_delta": 22.2035, + "fundamental_rank_change": 140, + "legacy_fundamental": 37.645, + "legacy_fundamental_rank": 483 + }, + "symbol": "ARES" + }, + { + "cik": "0000731802", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8454, + "candidate": 2.9674, + "definition_changed": true, + "legacy": 1.122, + "material": false, + "relative_delta_pct": 164.4742 + }, + "pe_ratio": { + "absolute_delta": -0.3149, + "candidate": 21.9261, + "definition_changed": true, + "legacy": 22.241, + "material": false, + "relative_delta_pct": -1.4159 + }, + "revenue_growth": { + "absolute_delta": 0.0007, + "candidate": 8.8107, + "definition_changed": true, + "legacy": 8.81, + "material": false, + "relative_delta_pct": 0.0079 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:36.223060+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.2588, + "candidate_fundamental_rank": 223, + "fundamental_delta": 3.4261, + "fundamental_rank_change": 26, + "legacy_fundamental": 67.8328, + "legacy_fundamental_rank": 249 + }, + "symbol": "ATO" + }, + { + "cik": "0000915912", + "fields": { + "earnings_surprise": { + "absolute_delta": -144.6331, + "candidate": 1.0714, + "definition_changed": true, + "legacy": 145.7045, + "material": true, + "relative_delta_pct": -99.2647 + }, + "pe_ratio": { + "absolute_delta": -0.0588, + "candidate": 23.6431, + "definition_changed": true, + "legacy": 23.7019, + "material": false, + "relative_delta_pct": -0.2481 + }, + "revenue_growth": { + "absolute_delta": -2.526, + "candidate": 1.494, + "definition_changed": true, + "legacy": 4.02, + "material": true, + "relative_delta_pct": -62.8358 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:40.545995+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.0939, + "candidate_fundamental_rank": 336, + "fundamental_delta": -16.9206, + "fundamental_rank_change": -202, + "legacy_fundamental": 77.0146, + "legacy_fundamental_rank": 134 + }, + "symbol": "AVB" + }, + { + "cik": "0001730168", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.9038, + "candidate": 1.6667, + "definition_changed": true, + "legacy": -0.2371, + "material": false, + "relative_delta_pct": 802.9523 + }, + "pe_ratio": { + "absolute_delta": 1.8698, + "candidate": 65.3028, + "definition_changed": true, + "legacy": 63.433, + "material": false, + "relative_delta_pct": 2.9477 + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": 32.288, + "definition_changed": true, + "legacy": 32.29, + "material": false, + "relative_delta_pct": -0.0062 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:16.300968+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.7778, + "candidate_fundamental_rank": 399, + "fundamental_delta": 3.1729, + "fundamental_rank_change": 35, + "legacy_fundamental": 49.6048, + "legacy_fundamental_rank": 434 + }, + "symbol": "AVGO" + }, + { + "cik": "0000008818", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6856, + "candidate": 2.4896, + "definition_changed": true, + "legacy": 0.804, + "material": false, + "relative_delta_pct": 209.6517 + }, + "pe_ratio": { + "absolute_delta": 0.1374, + "candidate": 17.4775, + "definition_changed": true, + "legacy": 17.3401, + "material": false, + "relative_delta_pct": 0.7924 + }, + "revenue_growth": { + "absolute_delta": 0.0005, + "candidate": 2.8905, + "definition_changed": true, + "legacy": 2.89, + "material": false, + "relative_delta_pct": 0.0173 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:45.133547+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.4721, + "candidate_fundamental_rank": 233, + "fundamental_delta": 2.6572, + "fundamental_rank_change": 17, + "legacy_fundamental": 67.8149, + "legacy_fundamental_rank": 250 + }, + "symbol": "AVY" + }, + { + "cik": "0001410636", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0888, + "candidate": -8.1818, + "definition_changed": true, + "legacy": -9.2706, + "material": false, + "relative_delta_pct": 11.7447 + }, + "pe_ratio": { + "absolute_delta": 0.2225, + "candidate": 23.8316, + "definition_changed": true, + "legacy": 23.6091, + "material": false, + "relative_delta_pct": 0.9424 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 8.1, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:36:49.974927+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 39.8262, + "candidate_fundamental_rank": 463, + "fundamental_delta": -8.5738, + "fundamental_rank_change": -17, + "legacy_fundamental": 48.4, + "legacy_fundamental_rank": 446 + }, + "symbol": "AWK" + }, + { + "cik": "0001069183", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.7063, + "candidate": -3.012, + "definition_changed": true, + "legacy": -1.3057, + "material": false, + "relative_delta_pct": -130.6809 + }, + "pe_ratio": { + "absolute_delta": 6.0292, + "candidate": 198.3468, + "definition_changed": true, + "legacy": 192.3176, + "material": false, + "relative_delta_pct": 3.135 + }, + "revenue_growth": { + "absolute_delta": 0.0531, + "candidate": 34.0531, + "definition_changed": true, + "legacy": 34.0, + "material": false, + "relative_delta_pct": 0.1562 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:54.799923+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 44.9799, + "candidate_fundamental_rank": 448, + "fundamental_delta": -2.8439, + "fundamental_rank_change": 2, + "legacy_fundamental": 47.8238, + "legacy_fundamental_rank": 450 + }, + "symbol": "AXON" + }, + { + "cik": "0000004962", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8756, + "candidate": 6.2035, + "definition_changed": true, + "legacy": 5.3279, + "material": false, + "relative_delta_pct": 16.4342 + }, + "pe_ratio": { + "absolute_delta": 0.544, + "candidate": 21.2759, + "definition_changed": true, + "legacy": 20.7319, + "material": false, + "relative_delta_pct": 2.624 + }, + "revenue_growth": { + "absolute_delta": -1.4975, + "candidate": 7.8825, + "definition_changed": true, + "legacy": 9.38, + "material": false, + "relative_delta_pct": -15.9648 + } + }, + "legacy_fetched_at": "2026-07-23T19:36:59.142206+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.6013, + "candidate_fundamental_rank": 166, + "fundamental_delta": -0.3931, + "fundamental_rank_change": -31, + "legacy_fundamental": 76.9944, + "legacy_fundamental_rank": 135 + }, + "symbol": "AXP" + }, + { + "cik": "0000866787", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.342, + "candidate": 5.2239, + "definition_changed": true, + "legacy": 3.8819, + "material": false, + "relative_delta_pct": 34.5707 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 19.316, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 5.74, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:37:04.192543+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 73.1243, + "legacy_fundamental_rank": 181 + }, + "symbol": "AZO" + }, + { + "cik": "0000012927", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2384, + "candidate": 78.9474, + "definition_changed": true, + "legacy": 76.709, + "material": true, + "relative_delta_pct": 2.918 + }, + "pe_ratio": { + "absolute_delta": -3.2797, + "candidate": 82.6996, + "definition_changed": true, + "legacy": 85.9793, + "material": false, + "relative_delta_pct": -3.8145 + }, + "revenue_growth": { + "absolute_delta": 32.4008, + "candidate": 32.7458, + "definition_changed": true, + "legacy": 0.345, + "material": true, + "relative_delta_pct": 9392.5042 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:08.582515+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 16.3792, + "fundamental_rank_change": 160, + "legacy_fundamental": 50.2875, + "legacy_fundamental_rank": 427 + }, + "symbol": "BA" + }, + { + "cik": "0000070858", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1993, + "candidate": 7.0796, + "definition_changed": true, + "legacy": 5.8803, + "material": false, + "relative_delta_pct": 20.3952 + }, + "pe_ratio": { + "absolute_delta": 2.4117, + "candidate": 15.2438, + "definition_changed": true, + "legacy": 12.8321, + "material": true, + "relative_delta_pct": 18.7943 + }, + "revenue_growth": { + "absolute_delta": -87.2165, + "candidate": 12.1506, + "definition_changed": true, + "legacy": 99.3671, + "material": true, + "relative_delta_pct": -87.772 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:20.449832+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.3207, + "candidate_fundamental_rank": 47, + "fundamental_delta": -4.8131, + "fundamental_rank_change": -23, + "legacy_fundamental": 93.1338, + "legacy_fundamental_rank": 24 + }, + "symbol": "BAC" + }, + { + "cik": "0000009389", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7415, + "candidate": 10.5882, + "definition_changed": true, + "legacy": 8.8467, + "material": false, + "relative_delta_pct": 19.6853 + }, + "pe_ratio": { + "absolute_delta": 0.4988, + "candidate": 18.0901, + "definition_changed": true, + "legacy": 17.5913, + "material": false, + "relative_delta_pct": 2.8355 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 13.72, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:37:13.192674+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 94.8498, + "candidate_fundamental_rank": 27, + "fundamental_delta": 4.8845, + "fundamental_rank_change": 8, + "legacy_fundamental": 89.9653, + "legacy_fundamental_rank": 35 + }, + "symbol": "BALL" + }, + { + "cik": "0000010456", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.2616, + "candidate": 16.129, + "definition_changed": true, + "legacy": 15.8674, + "material": false, + "relative_delta_pct": 1.6487 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 21.8652, + "candidate": 17.0752, + "definition_changed": true, + "legacy": -4.79, + "material": true, + "relative_delta_pct": 456.476 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:18.440382+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 96.344, + "candidate_fundamental_rank": 22, + "fundamental_delta": 27.3315, + "fundamental_rank_change": 213, + "legacy_fundamental": 69.0125, + "legacy_fundamental_rank": 235 + }, + "symbol": "BAX" + }, + { + "cik": "0000764478", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6339, + "candidate": 4.918, + "definition_changed": true, + "legacy": 3.2841, + "material": false, + "relative_delta_pct": 49.7518 + }, + "pe_ratio": { + "absolute_delta": 0.0111, + "candidate": 15.6352, + "definition_changed": true, + "legacy": 15.6241, + "material": false, + "relative_delta_pct": 0.071 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 0.99, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:37:23.182684+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.2364, + "candidate_fundamental_rank": 75, + "fundamental_delta": 13.9647, + "fundamental_rank_change": 121, + "legacy_fundamental": 72.2717, + "legacy_fundamental_rank": 196 + }, + "symbol": "BBY" + }, + { + "cik": "0000010795", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2214, + "candidate": 4.6931, + "definition_changed": true, + "legacy": 3.4717, + "material": false, + "relative_delta_pct": 35.1816 + }, + "pe_ratio": { + "absolute_delta": 1.5543, + "candidate": 38.6288, + "definition_changed": true, + "legacy": 37.0745, + "material": false, + "relative_delta_pct": 4.1924 + }, + "revenue_growth": { + "absolute_delta": -3.6695, + "candidate": -1.2795, + "definition_changed": true, + "legacy": 2.39, + "material": true, + "relative_delta_pct": -153.5356 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:27.627453+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 47.1681, + "candidate_fundamental_rank": 438, + "fundamental_delta": -2.7492, + "fundamental_rank_change": -7, + "legacy_fundamental": 49.9173, + "legacy_fundamental_rank": 431 + }, + "symbol": "BDX" + }, + { + "cik": "0000038777", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3471, + "candidate": 29.0909, + "definition_changed": true, + "legacy": 27.7438, + "material": false, + "relative_delta_pct": 4.8555 + }, + "pe_ratio": { + "absolute_delta": 1.7405, + "candidate": 24.6489, + "definition_changed": true, + "legacy": 22.9084, + "material": false, + "relative_delta_pct": 7.5976 + }, + "revenue_growth": { + "absolute_delta": 0.0043, + "candidate": 3.8243, + "definition_changed": true, + "legacy": 3.82, + "material": false, + "relative_delta_pct": 0.1126 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:32.401787+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.7993, + "candidate_fundamental_rank": 174, + "fundamental_delta": -1.9303, + "fundamental_rank_change": -49, + "legacy_fundamental": 77.7296, + "legacy_fundamental_rank": 125 + }, + "symbol": "BEN" + }, + { + "cik": "0000014693", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.1328, + "candidate": -63.6364, + "definition_changed": true, + "legacy": -63.5036, + "material": false, + "relative_delta_pct": -0.2091 + }, + "pe_ratio": { + "absolute_delta": -0.2025, + "candidate": 16.7974, + "definition_changed": true, + "legacy": 16.9999, + "material": false, + "relative_delta_pct": -1.1912 + }, + "revenue_growth": { + "absolute_delta": -0.0024, + "candidate": -1.1824, + "definition_changed": true, + "legacy": -1.18, + "material": false, + "relative_delta_pct": -0.2034 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:36.846814+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 47.0176, + "candidate_fundamental_rank": 439, + "fundamental_delta": 0.223, + "fundamental_rank_change": 19, + "legacy_fundamental": 46.7946, + "legacy_fundamental_rank": 458 + }, + "symbol": "BF-B" + }, + { + "cik": "0001996862", + "fields": { + "earnings_surprise": { + "absolute_delta": -14.7866, + "candidate": 88.6598, + "definition_changed": true, + "legacy": 103.4464, + "material": true, + "relative_delta_pct": -14.294 + }, + "pe_ratio": { + "absolute_delta": -2.448, + "candidate": 32.3545, + "definition_changed": true, + "legacy": 34.8025, + "material": false, + "relative_delta_pct": -7.034 + }, + "revenue_growth": { + "absolute_delta": -39.4105, + "candidate": 17.4995, + "definition_changed": true, + "legacy": 56.91, + "material": true, + "relative_delta_pct": -69.2506 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:41.242087+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.6335, + "candidate_fundamental_rank": 143, + "fundamental_delta": 0.6363, + "fundamental_rank_change": -22, + "legacy_fundamental": 77.9972, + "legacy_fundamental_rank": 121 + }, + "symbol": "BG" + }, + { + "cik": "0000875045", + "fields": { + "earnings_surprise": { + "absolute_delta": -5.319, + "candidate": 21.0169, + "definition_changed": true, + "legacy": 26.3359, + "material": true, + "relative_delta_pct": -20.1968 + }, + "pe_ratio": { + "absolute_delta": -0.3078, + "candidate": 21.572, + "definition_changed": true, + "legacy": 21.8798, + "material": false, + "relative_delta_pct": -1.4068 + }, + "revenue_growth": { + "absolute_delta": 0.0026, + "candidate": 1.2326, + "definition_changed": true, + "legacy": 1.23, + "material": false, + "relative_delta_pct": 0.2114 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:45.664576+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.0583, + "candidate_fundamental_rank": 158, + "fundamental_delta": 0.3441, + "fundamental_rank_change": -17, + "legacy_fundamental": 76.7141, + "legacy_fundamental_rank": 141 + }, + "symbol": "BIIB" + }, + { + "cik": "0001075531", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.0094, + "candidate": 3.6364, + "definition_changed": true, + "legacy": 3.6458, + "material": false, + "relative_delta_pct": -0.2578 + }, + "pe_ratio": { + "absolute_delta": -21.3343, + "candidate": 1.1018, + "definition_changed": true, + "legacy": 22.4361, + "material": true, + "relative_delta_pct": -95.0892 + }, + "revenue_growth": { + "absolute_delta": 0.0006, + "candidate": 14.9506, + "definition_changed": true, + "legacy": 14.95, + "material": false, + "relative_delta_pct": 0.004 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:50.386908+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.1861, + "candidate_fundamental_rank": 84, + "fundamental_delta": 8.2471, + "fundamental_rank_change": 52, + "legacy_fundamental": 76.939, + "legacy_fundamental_rank": 136 + }, + "symbol": "BKNG" + }, + { + "cik": "0001701605", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.1626, + "candidate": 16.0, + "definition_changed": true, + "legacy": 16.1626, + "material": false, + "relative_delta_pct": -1.006 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 18.1906, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0024, + "candidate": 0.1976, + "definition_changed": true, + "legacy": 0.2, + "material": false, + "relative_delta_pct": -1.2 + } + }, + "legacy_fetched_at": "2026-07-23T19:37:55.236543+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.247, + "candidate_fundamental_rank": 182, + "fundamental_delta": -4.7079, + "fundamental_rank_change": -81, + "legacy_fundamental": 79.9549, + "legacy_fundamental_rank": 101 + }, + "symbol": "BKR" + }, + { + "cik": "0001316835", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.4062, + "candidate": -30.7692, + "definition_changed": true, + "legacy": -28.363, + "material": true, + "relative_delta_pct": -8.4836 + }, + "pe_ratio": { + "absolute_delta": 0.8439, + "candidate": 26.9275, + "definition_changed": true, + "legacy": 26.0836, + "material": false, + "relative_delta_pct": 3.2354 + }, + "revenue_growth": { + "absolute_delta": 0.0016, + "candidate": -8.3284, + "definition_changed": true, + "legacy": -8.33, + "material": false, + "relative_delta_pct": 0.0192 + } + }, + "legacy_fetched_at": "2026-07-23T19:38:00.015563+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 29.8069, + "candidate_fundamental_rank": 473, + "fundamental_delta": -0.9363, + "fundamental_rank_change": 21, + "legacy_fundamental": 30.7432, + "legacy_fundamental_rank": 494 + }, + "symbol": "BLDR" + }, + { + "cik": "0002012383", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4101, + "candidate": 9.7869, + "definition_changed": true, + "legacy": 9.3768, + "material": false, + "relative_delta_pct": 4.3736 + }, + "pe_ratio": { + "absolute_delta": -0.0217, + "candidate": 26.1052, + "definition_changed": true, + "legacy": 26.1269, + "material": false, + "relative_delta_pct": -0.0831 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 26.54, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:38:04.566544+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.9586, + "candidate_fundamental_rank": 120, + "fundamental_delta": -5.6395, + "fundamental_rank_change": -65, + "legacy_fundamental": 86.5981, + "legacy_fundamental_rank": 55 + }, + "symbol": "BLK" + }, + { + "cik": "0000014272", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.6824, + "candidate": 9.7222, + "definition_changed": true, + "legacy": 10.4046, + "material": false, + "relative_delta_pct": -6.5586 + }, + "pe_ratio": { + "absolute_delta": -3.8155, + "candidate": 17.2297, + "definition_changed": true, + "legacy": 21.0452, + "material": true, + "relative_delta_pct": -18.13 + }, + "revenue_growth": { + "absolute_delta": -0.004, + "candidate": 1.776, + "definition_changed": true, + "legacy": 1.78, + "material": false, + "relative_delta_pct": -0.2247 + } + }, + "legacy_fetched_at": "2026-07-23T19:38:08.992795+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.8729, + "candidate_fundamental_rank": 113, + "fundamental_delta": 3.7731, + "fundamental_rank_change": 5, + "legacy_fundamental": 78.0998, + "legacy_fundamental_rank": 118 + }, + "symbol": "BMY" + }, + { + "cik": "0001390777", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2023, + "candidate": 11.8182, + "definition_changed": true, + "legacy": 9.6159, + "material": true, + "relative_delta_pct": 22.9027 + }, + "pe_ratio": { + "absolute_delta": 2.4514, + "candidate": 19.8648, + "definition_changed": true, + "legacy": 17.4134, + "material": true, + "relative_delta_pct": 14.0777 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:33:28.798818+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 91.8921, + "candidate_fundamental_rank": 30, + "fundamental_delta": -3.1254, + "fundamental_rank_change": -7, + "legacy_fundamental": 95.0174, + "legacy_fundamental_rank": 23 + }, + "symbol": "BNY" + }, + { + "cik": "0001383312", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.009, + "candidate": 3.4221, + "definition_changed": true, + "legacy": 1.4131, + "material": true, + "relative_delta_pct": 142.1697 + }, + "pe_ratio": { + "absolute_delta": 0.3242, + "candidate": 15.4439, + "definition_changed": true, + "legacy": 15.1197, + "material": false, + "relative_delta_pct": 2.1442 + }, + "revenue_growth": { + "absolute_delta": 0.0, + "candidate": 8.19, + "definition_changed": true, + "legacy": 8.19, + "material": false, + "relative_delta_pct": 0.0 + } + }, + "legacy_fetched_at": "2026-07-23T19:38:13.709482+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.7019, + "candidate_fundamental_rank": 142, + "fundamental_delta": 2.9881, + "fundamental_rank_change": 10, + "legacy_fundamental": 75.7138, + "legacy_fundamental_rank": 152 + }, + "symbol": "BR" + }, + { + "cik": "0001067983", + "fields": { + "earnings_surprise": { + "absolute_delta": 11.2616, + "candidate": 8.9212, + "definition_changed": true, + "legacy": -2.3404, + "material": true, + "relative_delta_pct": 481.1827 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 14.5569, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.1992, + "candidate": 1.3092, + "definition_changed": true, + "legacy": 1.11, + "material": false, + "relative_delta_pct": 17.9459 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:24.773769+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.9394, + "candidate_fundamental_rank": 200, + "fundamental_delta": 10.2484, + "fundamental_rank_change": 103, + "legacy_fundamental": 63.691, + "legacy_fundamental_rank": 303 + }, + "symbol": "BRK-B" + }, + { + "cik": "0000079282", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.357, + "candidate": 2.2059, + "definition_changed": true, + "legacy": 0.8489, + "material": false, + "relative_delta_pct": 159.8539 + }, + "pe_ratio": { + "absolute_delta": 2.0364, + "candidate": 21.4137, + "definition_changed": true, + "legacy": 19.3773, + "material": true, + "relative_delta_pct": 10.5092 + }, + "revenue_growth": { + "absolute_delta": -0.0034, + "candidate": 29.2466, + "definition_changed": true, + "legacy": 29.25, + "material": false, + "relative_delta_pct": -0.0116 + } + }, + "legacy_fetched_at": "2026-07-23T19:38:18.129674+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.8835, + "candidate_fundamental_rank": 133, + "fundamental_delta": -0.001, + "fundamental_rank_change": -31, + "legacy_fundamental": 79.8845, + "legacy_fundamental_rank": 102 + }, + "symbol": "BRO" + }, + { + "cik": "0000885725", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.6923, + "candidate": 0.0, + "definition_changed": true, + "legacy": 0.6923, + "material": false, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 0.2063, + "candidate": 18.2343, + "definition_changed": true, + "legacy": 18.028, + "material": false, + "relative_delta_pct": 1.1443 + }, + "revenue_growth": { + "absolute_delta": -0.0081, + "candidate": 17.4319, + "definition_changed": true, + "legacy": 17.44, + "material": false, + "relative_delta_pct": -0.0464 + } + }, + "legacy_fetched_at": "2026-07-23T19:38:22.454593+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.5996, + "candidate_fundamental_rank": 153, + "fundamental_delta": -1.3898, + "fundamental_rank_change": -47, + "legacy_fundamental": 78.9894, + "legacy_fundamental_rank": 106 + }, + "symbol": "BSX" + }, + { + "cik": "0001393818", + "fields": { + "earnings_surprise": { + "absolute_delta": -9.2448, + "candidate": 0.7407, + "definition_changed": true, + "legacy": 9.9855, + "material": true, + "relative_delta_pct": -92.5822 + }, + "pe_ratio": { + "absolute_delta": -17.088, + "candidate": 31.9231, + "definition_changed": true, + "legacy": 49.0111, + "material": true, + "relative_delta_pct": -34.8656 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 15.17, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:38:26.815342+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 48.6467, + "candidate_fundamental_rank": 432, + "fundamental_delta": -13.9708, + "fundamental_rank_change": -114, + "legacy_fundamental": 62.6175, + "legacy_fundamental_rank": 318 + }, + "symbol": "BX" + }, + { + "cik": "0001037540", + "fields": { + "earnings_surprise": { + "absolute_delta": -88.4924, + "candidate": 0.6329, + "definition_changed": true, + "legacy": 89.1253, + "material": true, + "relative_delta_pct": -99.2899 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 33.9829, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 1.62, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:38:30.872259+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 63.5912, + "legacy_fundamental_rank": 306 + }, + "symbol": "BXP" + }, + { + "cik": "0000831001", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.1156, + "candidate": 15.8088, + "definition_changed": true, + "legacy": 12.6932, + "material": true, + "relative_delta_pct": 24.5454 + }, + "pe_ratio": { + "absolute_delta": 6.1025, + "candidate": 18.867, + "definition_changed": true, + "legacy": 12.7645, + "material": true, + "relative_delta_pct": 47.8084 + }, + "revenue_growth": { + "absolute_delta": -94.2019, + "candidate": 5.0358, + "definition_changed": true, + "legacy": 99.2378, + "material": true, + "relative_delta_pct": -94.9255 + } + }, + "legacy_fetched_at": "2026-07-23T19:38:34.971325+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.2332, + "candidate_fundamental_rank": 99, + "fundamental_delta": -16.7668, + "fundamental_rank_change": -98, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "C" + }, + { + "cik": "0000023217", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4203, + "candidate": 2.1739, + "definition_changed": true, + "legacy": 1.7536, + "material": false, + "relative_delta_pct": 23.9678 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": -2.852, + "definition_changed": true, + "legacy": -2.85, + "material": false, + "relative_delta_pct": -0.0702 + } + }, + "legacy_fetched_at": "2026-07-23T19:40:48.388663+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 51.8698, + "candidate_fundamental_rank": 410, + "fundamental_delta": 1.0483, + "fundamental_rank_change": 14, + "legacy_fundamental": 50.8215, + "legacy_fundamental_rank": 424 + }, + "symbol": "CAG" + }, + { + "cik": "0000721371", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.6313, + "candidate": 13.2143, + "definition_changed": true, + "legacy": 12.583, + "material": false, + "relative_delta_pct": 5.0171 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 33.7102, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -2.7463, + "candidate": 10.1337, + "definition_changed": true, + "legacy": 12.88, + "material": true, + "relative_delta_pct": -21.3222 + } + }, + "legacy_fetched_at": "2026-07-23T19:40:52.696184+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.6671, + "candidate_fundamental_rank": 55, + "fundamental_delta": 14.3896, + "fundamental_rank_change": 123, + "legacy_fundamental": 73.2776, + "legacy_fundamental_rank": 178 + }, + "symbol": "CAH" + }, + { + "cik": "0001783180", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.1522, + "candidate": 14.0, + "definition_changed": true, + "legacy": 9.8478, + "material": true, + "relative_delta_pct": 42.1637 + }, + "pe_ratio": { + "absolute_delta": 2.1074, + "candidate": 45.1961, + "definition_changed": true, + "legacy": 43.0887, + "material": false, + "relative_delta_pct": 4.8908 + }, + "revenue_growth": { + "absolute_delta": 6.687, + "candidate": 1.617, + "definition_changed": true, + "legacy": -5.07, + "material": true, + "relative_delta_pct": 131.8935 + } + }, + "legacy_fetched_at": "2026-07-23T19:40:56.895768+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 51.3475, + "candidate_fundamental_rank": 414, + "fundamental_delta": 3.7025, + "fundamental_rank_change": 39, + "legacy_fundamental": 47.645, + "legacy_fundamental_rank": 453 + }, + "symbol": "CARR" + }, + { + "cik": "0000726958", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.0851, + "candidate": 30.0595, + "definition_changed": true, + "legacy": 29.9744, + "material": false, + "relative_delta_pct": 0.2839 + }, + "pe_ratio": { + "absolute_delta": 0.8009, + "candidate": 45.6811, + "definition_changed": true, + "legacy": 44.8802, + "material": false, + "relative_delta_pct": 1.7845 + }, + "revenue_growth": { + "absolute_delta": 0.0038, + "candidate": 10.1638, + "definition_changed": true, + "legacy": 10.16, + "material": false, + "relative_delta_pct": 0.0374 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:01.444859+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.4698, + "candidate_fundamental_rank": 362, + "fundamental_delta": -0.1299, + "fundamental_rank_change": -6, + "legacy_fundamental": 58.5998, + "legacy_fundamental_rank": 356 + }, + "symbol": "CASY" + }, + { + "cik": "0000018230", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.9225, + "candidate": 21.7582, + "definition_changed": true, + "legacy": 18.8357, + "material": true, + "relative_delta_pct": 15.5157 + }, + "pe_ratio": { + "absolute_delta": 0.7006, + "candidate": 44.5488, + "definition_changed": true, + "legacy": 43.8482, + "material": false, + "relative_delta_pct": 1.5978 + }, + "revenue_growth": { + "absolute_delta": -0.0003, + "candidate": 11.8497, + "definition_changed": true, + "legacy": 11.85, + "material": false, + "relative_delta_pct": -0.0025 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:06.493206+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.3761, + "candidate_fundamental_rank": 334, + "fundamental_delta": -0.7787, + "fundamental_rank_change": 0, + "legacy_fundamental": 61.1548, + "legacy_fundamental_rank": 334 + }, + "symbol": "CAT" + }, + { + "cik": "0000896159", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8105, + "candidate": 5.2469, + "definition_changed": true, + "legacy": 4.4364, + "material": false, + "relative_delta_pct": 18.2693 + }, + "pe_ratio": { + "absolute_delta": 0.7131, + "candidate": 12.4956, + "definition_changed": true, + "legacy": 11.7825, + "material": false, + "relative_delta_pct": 6.0522 + }, + "revenue_growth": { + "absolute_delta": 0.1811, + "candidate": 8.2011, + "definition_changed": true, + "legacy": 8.02, + "material": false, + "relative_delta_pct": 2.2581 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:10.760618+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.2458, + "candidate_fundamental_rank": 106, + "fundamental_delta": 1.5018, + "fundamental_rank_change": -12, + "legacy_fundamental": 80.744, + "legacy_fundamental_rank": 94 + }, + "symbol": "CB" + }, + { + "cik": "0001374310", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.4843, + "candidate": 9.7923, + "definition_changed": true, + "legacy": 10.2766, + "material": false, + "relative_delta_pct": -4.7126 + }, + "pe_ratio": { + "absolute_delta": 0.6162, + "candidate": 24.3262, + "definition_changed": true, + "legacy": 23.71, + "material": false, + "relative_delta_pct": 2.5989 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 10.61, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:41:15.602058+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.937, + "candidate_fundamental_rank": 92, + "fundamental_delta": 1.4398, + "fundamental_rank_change": -9, + "legacy_fundamental": 82.4972, + "legacy_fundamental_rank": 83 + }, + "symbol": "CBOE" + }, + { + "cik": "0001138118", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.6846, + "candidate": 42.4779, + "definition_changed": true, + "legacy": 39.7933, + "material": true, + "relative_delta_pct": 6.7464 + }, + "pe_ratio": { + "absolute_delta": 0.3513, + "candidate": 30.9475, + "definition_changed": true, + "legacy": 30.5962, + "material": false, + "relative_delta_pct": 1.1482 + }, + "revenue_growth": { + "absolute_delta": 0.4883, + "candidate": 15.2583, + "definition_changed": true, + "legacy": 14.77, + "material": false, + "relative_delta_pct": 3.306 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:20.069578+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.3292, + "candidate_fundamental_rank": 147, + "fundamental_delta": 0.0166, + "fundamental_rank_change": -30, + "legacy_fundamental": 78.3126, + "legacy_fundamental_rank": 117 + }, + "symbol": "CBRE" + }, + { + "cik": "0001051470", + "fields": { + "earnings_surprise": { + "absolute_delta": -190.022, + "candidate": 0.9901, + "definition_changed": true, + "legacy": 191.0121, + "material": true, + "relative_delta_pct": -99.4817 + }, + "pe_ratio": { + "absolute_delta": -1.0977, + "candidate": 30.814, + "definition_changed": true, + "legacy": 31.9117, + "material": false, + "relative_delta_pct": -3.4398 + }, + "revenue_growth": { + "absolute_delta": 33.0116, + "candidate": 3.3816, + "definition_changed": true, + "legacy": -29.63, + "material": true, + "relative_delta_pct": 111.4128 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:24.290485+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.5637, + "candidate_fundamental_rank": 396, + "fundamental_delta": 5.6878, + "fundamental_rank_change": 52, + "legacy_fundamental": 47.8759, + "legacy_fundamental_rank": 448 + }, + "symbol": "CCI" + }, + { + "cik": "0000815097", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.134, + "candidate": 17.1429, + "definition_changed": true, + "legacy": 17.2769, + "material": false, + "relative_delta_pct": -0.7756 + }, + "pe_ratio": { + "absolute_delta": -0.0859, + "candidate": 11.3829, + "definition_changed": true, + "legacy": 11.4688, + "material": false, + "relative_delta_pct": -0.749 + }, + "revenue_growth": { + "absolute_delta": -0.0085, + "candidate": 5.1515, + "definition_changed": true, + "legacy": 5.16, + "material": false, + "relative_delta_pct": -0.1647 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:28.632443+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.6263, + "candidate_fundamental_rank": 56, + "fundamental_delta": -0.0071, + "fundamental_rank_change": -7, + "legacy_fundamental": 87.6333, + "legacy_fundamental_rank": 49 + }, + "symbol": "CCL" + }, + { + "cik": "0000813672", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0313, + "candidate": 4.2553, + "definition_changed": true, + "legacy": 1.224, + "material": true, + "relative_delta_pct": 247.6552 + }, + "pe_ratio": { + "absolute_delta": -2.1275, + "candidate": 77.0303, + "definition_changed": true, + "legacy": 79.1578, + "material": false, + "relative_delta_pct": -2.6877 + }, + "revenue_growth": { + "absolute_delta": -0.0015, + "candidate": 13.4185, + "definition_changed": true, + "legacy": 13.42, + "material": false, + "relative_delta_pct": -0.0112 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:32.675008+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 51.6076, + "candidate_fundamental_rank": 411, + "fundamental_delta": 5.0509, + "fundamental_rank_change": 49, + "legacy_fundamental": 46.5567, + "legacy_fundamental_rank": 460 + }, + "symbol": "CDNS" + }, + { + "cik": "0001402057", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2217, + "candidate": 0.0, + "definition_changed": true, + "legacy": -1.2217, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 0.4573, + "candidate": 15.8563, + "definition_changed": true, + "legacy": 15.399, + "material": false, + "relative_delta_pct": 2.9697 + }, + "revenue_growth": { + "absolute_delta": -0.0023, + "candidate": 7.4077, + "definition_changed": true, + "legacy": 7.41, + "material": false, + "relative_delta_pct": -0.031 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:37.106319+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.8883, + "candidate_fundamental_rank": 218, + "fundamental_delta": 1.5262, + "fundamental_rank_change": 4, + "legacy_fundamental": 70.3622, + "legacy_fundamental_rank": 222 + }, + "symbol": "CDW" + }, + { + "cik": "0001868275", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.354, + "candidate": 7.0313, + "definition_changed": true, + "legacy": 5.6773, + "material": false, + "relative_delta_pct": 23.8494 + }, + "pe_ratio": { + "absolute_delta": -2.0955, + "candidate": 23.9444, + "definition_changed": true, + "legacy": 26.0399, + "material": false, + "relative_delta_pct": -8.0473 + }, + "revenue_growth": { + "absolute_delta": -1.7944, + "candidate": 21.6456, + "definition_changed": true, + "legacy": 23.44, + "material": false, + "relative_delta_pct": -7.6553 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:42.214283+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.1139, + "candidate_fundamental_rank": 86, + "fundamental_delta": 4.5849, + "fundamental_rank_change": 10, + "legacy_fundamental": 80.5289, + "legacy_fundamental_rank": 96 + }, + "symbol": "CEG" + }, + { + "cik": "0001324404", + "fields": { + "earnings_surprise": { + "absolute_delta": 10.7065, + "candidate": 18.93, + "definition_changed": true, + "legacy": 8.2235, + "material": true, + "relative_delta_pct": 130.194 + }, + "pe_ratio": { + "absolute_delta": 0.1985, + "candidate": 11.4153, + "definition_changed": true, + "legacy": 11.2168, + "material": false, + "relative_delta_pct": 1.7697 + }, + "revenue_growth": { + "absolute_delta": 0.0017, + "candidate": 20.8517, + "definition_changed": true, + "legacy": 20.85, + "material": false, + "relative_delta_pct": 0.0082 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:46.681687+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 2.9608, + "fundamental_rank_change": 17, + "legacy_fundamental": 97.0392, + "legacy_fundamental_rank": 18 + }, + "symbol": "CF" + }, + { + "cik": "0000759944", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.2821, + "candidate": 4.0, + "definition_changed": true, + "legacy": 3.7179, + "material": false, + "relative_delta_pct": 7.5876 + }, + "pe_ratio": { + "absolute_delta": 2.6052, + "candidate": 17.0142, + "definition_changed": true, + "legacy": 14.409, + "material": true, + "relative_delta_pct": 18.0804 + }, + "revenue_growth": { + "absolute_delta": -52.9441, + "candidate": 9.7847, + "definition_changed": true, + "legacy": 62.7288, + "material": true, + "relative_delta_pct": -84.4016 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:51.511701+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.2493, + "candidate_fundamental_rank": 138, + "fundamental_delta": -10.2806, + "fundamental_rank_change": -101, + "legacy_fundamental": 89.5298, + "legacy_fundamental_rank": 37 + }, + "symbol": "CFG" + }, + { + "cik": "0000313927", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1082, + "candidate": 2.1505, + "definition_changed": true, + "legacy": 1.0423, + "material": false, + "relative_delta_pct": 106.3226 + }, + "pe_ratio": { + "absolute_delta": 0.564, + "candidate": 31.6414, + "definition_changed": true, + "legacy": 31.0774, + "material": false, + "relative_delta_pct": 1.8148 + }, + "revenue_growth": { + "absolute_delta": -0.0045, + "candidate": 2.2155, + "definition_changed": true, + "legacy": 2.22, + "material": false, + "relative_delta_pct": -0.2027 + } + }, + "legacy_fetched_at": "2026-07-23T19:41:56.982884+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.6066, + "candidate_fundamental_rank": 394, + "fundamental_delta": 1.2166, + "fundamental_rank_change": 20, + "legacy_fundamental": 52.3901, + "legacy_fundamental_rank": 414 + }, + "symbol": "CHD" + }, + { + "cik": "0001043277", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0588, + "candidate": 8.871, + "definition_changed": true, + "legacy": 6.8122, + "material": true, + "relative_delta_pct": 30.2222 + }, + "pe_ratio": { + "absolute_delta": 0.9939, + "candidate": 41.6012, + "definition_changed": true, + "legacy": 40.6073, + "material": false, + "relative_delta_pct": 2.4476 + }, + "revenue_growth": { + "absolute_delta": -0.0047, + "candidate": -6.6847, + "definition_changed": true, + "legacy": -6.68, + "material": false, + "relative_delta_pct": -0.0704 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:02.749279+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 46.3241, + "candidate_fundamental_rank": 442, + "fundamental_delta": 2.323, + "fundamental_rank_change": 22, + "legacy_fundamental": 44.0011, + "legacy_fundamental_rank": 464 + }, + "symbol": "CHRW" + }, + { + "cik": "0001091667", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.7994, + "candidate": -8.0241, + "definition_changed": true, + "legacy": -11.8235, + "material": true, + "relative_delta_pct": 32.1343 + }, + "pe_ratio": { + "absolute_delta": -0.204, + "candidate": 3.4226, + "definition_changed": true, + "legacy": 3.6266, + "material": false, + "relative_delta_pct": -5.6251 + }, + "revenue_growth": { + "absolute_delta": 0.0042, + "candidate": -0.9158, + "definition_changed": true, + "legacy": -0.92, + "material": false, + "relative_delta_pct": 0.4565 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:08.384813+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.53, + "candidate_fundamental_rank": 401, + "fundamental_delta": 3.2967, + "fundamental_rank_change": 36, + "legacy_fundamental": 49.2333, + "legacy_fundamental_rank": 437 + }, + "symbol": "CHTR" + }, + { + "cik": "0001739940", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8814, + "candidate": 2.231, + "definition_changed": true, + "legacy": -0.6504, + "material": true, + "relative_delta_pct": 443.0197 + }, + "pe_ratio": { + "absolute_delta": 0.1596, + "candidate": 12.1361, + "definition_changed": true, + "legacy": 11.9765, + "material": false, + "relative_delta_pct": 1.3326 + }, + "revenue_growth": { + "absolute_delta": 0.0002, + "candidate": 8.8202, + "definition_changed": true, + "legacy": 8.82, + "material": false, + "relative_delta_pct": 0.0023 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:14.297467+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.7351, + "candidate_fundamental_rank": 152, + "fundamental_delta": 4.8025, + "fundamental_rank_change": 33, + "legacy_fundamental": 72.9327, + "legacy_fundamental_rank": 185 + }, + "symbol": "CI" + }, + { + "cik": "0000936395", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1952, + "candidate": 12.3288, + "definition_changed": true, + "legacy": 10.1336, + "material": true, + "relative_delta_pct": 21.6626 + }, + "pe_ratio": { + "absolute_delta": 5.1854, + "candidate": 135.8433, + "definition_changed": true, + "legacy": 130.6579, + "material": false, + "relative_delta_pct": 3.9687 + }, + "revenue_growth": { + "absolute_delta": 0.0015, + "candidate": 30.5915, + "definition_changed": true, + "legacy": 30.59, + "material": false, + "relative_delta_pct": 0.0049 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:19.807612+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "CIEN" + }, + { + "cik": "0000020286", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0734, + "candidate": 8.8083, + "definition_changed": true, + "legacy": 5.7349, + "material": true, + "relative_delta_pct": 53.5912 + }, + "pe_ratio": { + "absolute_delta": 0.2102, + "candidate": 10.2561, + "definition_changed": true, + "legacy": 10.0459, + "material": false, + "relative_delta_pct": 2.0924 + }, + "revenue_growth": { + "absolute_delta": -0.9498, + "candidate": 17.8702, + "definition_changed": true, + "legacy": 18.82, + "material": false, + "relative_delta_pct": -5.0468 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:24.669402+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 96.239, + "candidate_fundamental_rank": 23, + "fundamental_delta": 4.3308, + "fundamental_rank_change": 4, + "legacy_fundamental": 91.9082, + "legacy_fundamental_rank": 27 + }, + "symbol": "CINF" + }, + { + "cik": "0000021665", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.4546, + "candidate": 2.1053, + "definition_changed": true, + "legacy": -0.3493, + "material": true, + "relative_delta_pct": 702.7197 + }, + "pe_ratio": { + "absolute_delta": 0.3037, + "candidate": 34.9147, + "definition_changed": true, + "legacy": 34.611, + "material": false, + "relative_delta_pct": 0.8775 + }, + "revenue_growth": { + "absolute_delta": 0.0013, + "candidate": 4.2513, + "definition_changed": true, + "legacy": 4.25, + "material": false, + "relative_delta_pct": 0.0306 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:29.134636+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 51.5907, + "candidate_fundamental_rank": 412, + "fundamental_delta": 3.7545, + "fundamental_rank_change": 37, + "legacy_fundamental": 47.8362, + "legacy_fundamental_rank": 449 + }, + "symbol": "CL" + }, + { + "cik": "0000021076", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.0854, + "candidate": 10.8108, + "definition_changed": true, + "legacy": 4.7254, + "material": true, + "relative_delta_pct": 128.7806 + }, + "pe_ratio": { + "absolute_delta": 0.1644, + "candidate": 15.252, + "definition_changed": true, + "legacy": 15.0876, + "material": false, + "relative_delta_pct": 1.0896 + }, + "revenue_growth": { + "absolute_delta": 0.0, + "candidate": -3.69, + "definition_changed": true, + "legacy": -3.69, + "material": false, + "relative_delta_pct": 0.0 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:34.378111+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.9783, + "candidate_fundamental_rank": 131, + "fundamental_delta": 8.6083, + "fundamental_rank_change": 77, + "legacy_fundamental": 71.37, + "legacy_fundamental_rank": 208 + }, + "symbol": "CLX" + }, + { + "cik": "0001166691", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.8644, + "candidate": 8.2192, + "definition_changed": true, + "legacy": 4.3548, + "material": true, + "relative_delta_pct": 88.7389 + }, + "pe_ratio": { + "absolute_delta": -0.0017, + "candidate": 4.298, + "definition_changed": true, + "legacy": 4.2997, + "material": false, + "relative_delta_pct": -0.0395 + }, + "revenue_growth": { + "absolute_delta": -0.0004, + "candidate": 1.3896, + "definition_changed": true, + "legacy": 1.39, + "material": false, + "relative_delta_pct": -0.0288 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:38.834278+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.5233, + "candidate_fundamental_rank": 115, + "fundamental_delta": 6.4403, + "fundamental_rank_change": 45, + "legacy_fundamental": 75.083, + "legacy_fundamental_rank": 160 + }, + "symbol": "CMCSA" + }, + { + "cik": "0001156375", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.0839, + "candidate": -0.2967, + "definition_changed": true, + "legacy": 1.7872, + "material": true, + "relative_delta_pct": -116.6014 + }, + "pe_ratio": { + "absolute_delta": 0.1094, + "candidate": 21.6997, + "definition_changed": true, + "legacy": 21.5903, + "material": false, + "relative_delta_pct": 0.5067 + }, + "revenue_growth": { + "absolute_delta": -9.0292, + "candidate": 7.5408, + "definition_changed": true, + "legacy": 16.57, + "material": true, + "relative_delta_pct": -54.4912 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:43.512261+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.012, + "candidate_fundamental_rank": 292, + "fundamental_delta": -11.1191, + "fundamental_rank_change": -143, + "legacy_fundamental": 76.1311, + "legacy_fundamental_rank": 149 + }, + "symbol": "CME" + }, + { + "cik": "0001058090", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4149, + "candidate": 0.0, + "definition_changed": true, + "legacy": -0.4149, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 1.2385, + "candidate": 29.367, + "definition_changed": true, + "legacy": 28.1285, + "material": false, + "relative_delta_pct": 4.403 + }, + "revenue_growth": { + "absolute_delta": 0.0, + "candidate": 5.67, + "definition_changed": true, + "legacy": 5.67, + "material": false, + "relative_delta_pct": 0.0 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:48.334055+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.4284, + "candidate_fundamental_rank": 379, + "fundamental_delta": -0.6845, + "fundamental_rank_change": 8, + "legacy_fundamental": 56.1129, + "legacy_fundamental_rank": 387 + }, + "symbol": "CMG" + }, + { + "cik": "0000026172", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8484, + "candidate": 9.8214, + "definition_changed": true, + "legacy": 8.973, + "material": false, + "relative_delta_pct": 9.455 + }, + "pe_ratio": { + "absolute_delta": 0.0056, + "candidate": 34.547, + "definition_changed": true, + "legacy": 34.5414, + "material": false, + "relative_delta_pct": 0.0162 + }, + "revenue_growth": { + "absolute_delta": 0.002, + "candidate": 0.062, + "definition_changed": true, + "legacy": 0.06, + "material": false, + "relative_delta_pct": 3.3333 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:53.173426+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.3685, + "candidate_fundamental_rank": 322, + "fundamental_delta": 1.4095, + "fundamental_rank_change": 19, + "legacy_fundamental": 59.959, + "legacy_fundamental_rank": 341 + }, + "symbol": "CMI" + }, + { + "cik": "0000811156", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.0826, + "candidate": 1.8018, + "definition_changed": true, + "legacy": 1.8844, + "material": false, + "relative_delta_pct": -4.3834 + }, + "pe_ratio": { + "absolute_delta": -0.2508, + "candidate": 20.4834, + "definition_changed": true, + "legacy": 20.7342, + "material": false, + "relative_delta_pct": -1.2096 + }, + "revenue_growth": { + "absolute_delta": 0.6287, + "candidate": 13.3087, + "definition_changed": true, + "legacy": 12.68, + "material": false, + "relative_delta_pct": 4.9582 + } + }, + "legacy_fetched_at": "2026-07-23T19:42:58.125779+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.6675, + "candidate_fundamental_rank": 190, + "fundamental_delta": 0.6649, + "fundamental_rank_change": -20, + "legacy_fundamental": 74.0027, + "legacy_fundamental_rank": 170 + }, + "symbol": "CMS" + }, + { + "cik": "0001071739", + "fields": { + "earnings_surprise": { + "absolute_delta": 23.7826, + "candidate": 80.2139, + "definition_changed": true, + "legacy": 56.4313, + "material": true, + "relative_delta_pct": 42.1443 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.4761, + "candidate": 16.5439, + "definition_changed": true, + "legacy": 17.02, + "material": false, + "relative_delta_pct": -2.7973 + } + }, + "legacy_fetched_at": "2026-07-23T20:50:52.852827+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 95.6799, + "candidate_fundamental_rank": 26, + "fundamental_delta": -0.5951, + "fundamental_rank_change": -4, + "legacy_fundamental": 96.275, + "legacy_fundamental_rank": 22 + }, + "symbol": "CNC" + }, + { + "cik": "0001130310", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.9508, + "candidate": -3.4483, + "definition_changed": true, + "legacy": -0.4975, + "material": true, + "relative_delta_pct": -593.1256 + }, + "pe_ratio": { + "absolute_delta": 0.2291, + "candidate": 27.135, + "definition_changed": true, + "legacy": 26.9059, + "material": false, + "relative_delta_pct": 0.8515 + }, + "revenue_growth": { + "absolute_delta": 3.6085, + "candidate": 4.9585, + "definition_changed": true, + "legacy": 1.35, + "material": true, + "relative_delta_pct": 267.2963 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:04.321351+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 51.5683, + "candidate_fundamental_rank": 413, + "fundamental_delta": -2.1654, + "fundamental_rank_change": -8, + "legacy_fundamental": 53.7337, + "legacy_fundamental_rank": 405 + }, + "symbol": "CNP" + }, + { + "cik": "0000927628", + "fields": { + "earnings_surprise": { + "absolute_delta": -24.716, + "candidate": -4.1215, + "definition_changed": true, + "legacy": 20.5945, + "material": true, + "relative_delta_pct": -120.0126 + }, + "pe_ratio": { + "absolute_delta": 39.3978, + "candidate": 51.0102, + "definition_changed": true, + "legacy": 11.6124, + "material": true, + "relative_delta_pct": 339.2735 + }, + "revenue_growth": { + "absolute_delta": 11.1772, + "candidate": 49.3681, + "definition_changed": true, + "legacy": 38.1909, + "material": true, + "relative_delta_pct": 29.2666 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:09.692221+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 43.1309, + "candidate_fundamental_rank": 456, + "fundamental_delta": -56.8691, + "fundamental_rank_change": -455, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "COF" + }, + { + "cik": "0000820318", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0596, + "candidate": 0.0, + "definition_changed": true, + "legacy": -1.0596, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 15.5845, + "candidate": 149.1524, + "definition_changed": true, + "legacy": 133.5679, + "material": true, + "relative_delta_pct": 11.6678 + }, + "revenue_growth": { + "absolute_delta": -0.0012, + "candidate": 17.9988, + "definition_changed": true, + "legacy": 18.0, + "material": false, + "relative_delta_pct": -0.0067 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:15.069728+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 48.3324, + "candidate_fundamental_rank": 435, + "fundamental_delta": 1.765, + "fundamental_rank_change": 24, + "legacy_fundamental": 46.5673, + "legacy_fundamental_rank": 459 + }, + "symbol": "COHR" + }, + { + "cik": "0001679788", + "fields": { + "earnings_surprise": { + "absolute_delta": 412.5124, + "candidate": -147.2222, + "definition_changed": true, + "legacy": -559.7346, + "material": true, + "relative_delta_pct": 73.6979 + }, + "pe_ratio": { + "absolute_delta": 4.5835, + "candidate": 59.25, + "definition_changed": true, + "legacy": 54.6665, + "material": false, + "relative_delta_pct": 8.3845 + }, + "revenue_growth": { + "absolute_delta": 0.0028, + "candidate": -5.7572, + "definition_changed": true, + "legacy": -5.76, + "material": false, + "relative_delta_pct": 0.0486 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:20.034060+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 11.869, + "candidate_fundamental_rank": 481, + "fundamental_delta": 0.0024, + "fundamental_rank_change": 25, + "legacy_fundamental": 11.8667, + "legacy_fundamental_rank": 506 + }, + "symbol": "COIN" + }, + { + "cik": "0000711404", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.6956, + "candidate": 10.0, + "definition_changed": true, + "legacy": 9.3044, + "material": false, + "relative_delta_pct": 7.476 + }, + "pe_ratio": { + "absolute_delta": 1.6777, + "candidate": 59.5169, + "definition_changed": true, + "legacy": 57.8392, + "material": false, + "relative_delta_pct": 2.9006 + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": 6.088, + "definition_changed": true, + "legacy": 6.09, + "material": false, + "relative_delta_pct": -0.0328 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:26.404606+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.0733, + "candidate_fundamental_rank": 382, + "fundamental_delta": 1.1576, + "fundamental_rank_change": 22, + "legacy_fundamental": 53.9157, + "legacy_fundamental_rank": 404 + }, + "symbol": "COO" + }, + { + "cik": "0001163165", + "fields": { + "earnings_surprise": { + "absolute_delta": -3.9793, + "candidate": 9.2486, + "definition_changed": true, + "legacy": 13.2279, + "material": true, + "relative_delta_pct": -30.0826 + }, + "pe_ratio": { + "absolute_delta": 0.1817, + "candidate": 20.3729, + "definition_changed": true, + "legacy": 20.1912, + "material": false, + "relative_delta_pct": 0.8999 + }, + "revenue_growth": { + "absolute_delta": -2.7941, + "candidate": -1.4441, + "definition_changed": true, + "legacy": 1.35, + "material": true, + "relative_delta_pct": -206.9704 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:31.352824+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.9077, + "candidate_fundamental_rank": 189, + "fundamental_delta": -3.7827, + "fundamental_rank_change": -79, + "legacy_fundamental": 78.6903, + "legacy_fundamental_rank": 110 + }, + "symbol": "COP" + }, + { + "cik": "0001140859", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2197, + "candidate": -1.0417, + "definition_changed": true, + "legacy": -2.2614, + "material": false, + "relative_delta_pct": 53.9356 + }, + "pe_ratio": { + "absolute_delta": 0.4305, + "candidate": 23.3762, + "definition_changed": true, + "legacy": 22.9457, + "material": false, + "relative_delta_pct": 1.8762 + }, + "revenue_growth": { + "absolute_delta": -0.0035, + "candidate": 5.9465, + "definition_changed": true, + "legacy": 5.95, + "material": false, + "relative_delta_pct": -0.0588 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:35.379507+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.579, + "candidate_fundamental_rank": 328, + "fundamental_delta": 1.5516, + "fundamental_rank_change": 21, + "legacy_fundamental": 59.0274, + "legacy_fundamental_rank": 349 + }, + "symbol": "COR" + }, + { + "cik": "0000909832", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3057, + "candidate": 0.4073, + "definition_changed": true, + "legacy": -1.8984, + "material": true, + "relative_delta_pct": 121.4549 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 46.22, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 9.23, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:50:56.882994+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 37.861, + "legacy_fundamental_rank": 482 + }, + "symbol": "COST" + }, + { + "cik": "0001175454", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5342, + "candidate": 5.4545, + "definition_changed": true, + "legacy": 3.9203, + "material": false, + "relative_delta_pct": 39.1348 + }, + "pe_ratio": { + "absolute_delta": 1.9023, + "candidate": 21.8443, + "definition_changed": true, + "legacy": 19.942, + "material": false, + "relative_delta_pct": 9.5392 + }, + "revenue_growth": { + "absolute_delta": 0.0025, + "candidate": 18.2625, + "definition_changed": true, + "legacy": 18.26, + "material": false, + "relative_delta_pct": 0.0137 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:39.531961+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.3715, + "candidate_fundamental_rank": 97, + "fundamental_delta": 0.4455, + "fundamental_rank_change": -18, + "legacy_fundamental": 82.9261, + "legacy_fundamental_rank": 79 + }, + "symbol": "CPAY" + }, + { + "cik": "0000016732", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7113, + "candidate": 4.1667, + "definition_changed": true, + "legacy": 3.4554, + "material": false, + "relative_delta_pct": 20.5852 + }, + "pe_ratio": { + "absolute_delta": -0.1064, + "candidate": 10.4951, + "definition_changed": true, + "legacy": 10.6015, + "material": false, + "relative_delta_pct": -1.0036 + }, + "revenue_growth": { + "absolute_delta": -0.0046, + "candidate": -2.9046, + "definition_changed": true, + "legacy": -2.9, + "material": false, + "relative_delta_pct": -0.1586 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:43.821769+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.1906, + "candidate_fundamental_rank": 226, + "fundamental_delta": 1.1816, + "fundamental_rank_change": 4, + "legacy_fundamental": 70.009, + "legacy_fundamental_rank": 230 + }, + "symbol": "CPB" + }, + { + "cik": "0000900075", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0885, + "candidate": 4.878, + "definition_changed": true, + "legacy": 3.7895, + "material": false, + "relative_delta_pct": 28.7241 + }, + "pe_ratio": { + "absolute_delta": 0.8185, + "candidate": 16.8944, + "definition_changed": true, + "legacy": 16.0759, + "material": false, + "relative_delta_pct": 5.0915 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 1.05, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:43:48.937880+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 84.0378, + "candidate_fundamental_rank": 90, + "fundamental_delta": 11.3757, + "fundamental_rank_change": 101, + "legacy_fundamental": 72.6621, + "legacy_fundamental_rank": 191 + }, + "symbol": "CPRT" + }, + { + "cik": "0000906345", + "fields": { + "earnings_surprise": { + "absolute_delta": -41.5728, + "candidate": 1.7964, + "definition_changed": true, + "legacy": 43.3692, + "material": true, + "relative_delta_pct": -95.8579 + }, + "pe_ratio": { + "absolute_delta": -7.483, + "candidate": 31.5196, + "definition_changed": true, + "legacy": 39.0026, + "material": true, + "relative_delta_pct": -19.1859 + }, + "revenue_growth": { + "absolute_delta": 50.0349, + "candidate": 51.3549, + "definition_changed": true, + "legacy": 1.32, + "material": true, + "relative_delta_pct": 3790.5227 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:53.530518+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 67.9723, + "candidate_fundamental_rank": 263, + "fundamental_delta": 10.2085, + "fundamental_rank_change": 103, + "legacy_fundamental": 57.7638, + "legacy_fundamental_rank": 366 + }, + "symbol": "CPT" + }, + { + "cik": "0000849395", + "fields": { + "earnings_surprise": { + "absolute_delta": -17.0798, + "candidate": -5.2632, + "definition_changed": true, + "legacy": 11.8166, + "material": true, + "relative_delta_pct": -144.5407 + }, + "pe_ratio": { + "absolute_delta": 0.0798, + "candidate": 18.1855, + "definition_changed": true, + "legacy": 18.1057, + "material": false, + "relative_delta_pct": 0.4407 + }, + "revenue_growth": { + "absolute_delta": 0.0005, + "candidate": 6.3305, + "definition_changed": true, + "legacy": 6.33, + "material": false, + "relative_delta_pct": 0.0079 + } + }, + "legacy_fetched_at": "2026-07-23T19:43:57.958515+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.6307, + "candidate_fundamental_rank": 347, + "fundamental_delta": -25.5269, + "fundamental_rank_change": -283, + "legacy_fundamental": 85.1576, + "legacy_fundamental_rank": 64 + }, + "symbol": "CRH" + }, + { + "cik": "0001100682", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.1231, + "candidate": 5.102, + "definition_changed": true, + "legacy": 4.9789, + "material": false, + "relative_delta_pct": 2.4724 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0006, + "candidate": 0.1106, + "definition_changed": true, + "legacy": 0.11, + "material": false, + "relative_delta_pct": 0.5455 + } + }, + "legacy_fetched_at": "2026-07-23T19:45:55.933034+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.8933, + "candidate_fundamental_rank": 308, + "fundamental_delta": 0.3085, + "fundamental_rank_change": 12, + "legacy_fundamental": 62.5847, + "legacy_fundamental_rank": 320 + }, + "symbol": "CRL" + }, + { + "cik": "0001108524", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.114, + "candidate": 24.359, + "definition_changed": true, + "legacy": 23.245, + "material": false, + "relative_delta_pct": 4.7924 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 16.3938, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 10.98, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:46:28.761304+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 90.9347, + "legacy_fundamental_rank": 32 + }, + "symbol": "CRM" + }, + { + "cik": "0001535527", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.775, + "candidate": 2.8037, + "definition_changed": true, + "legacy": 1.0287, + "material": false, + "relative_delta_pct": 172.5479 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 23.17, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:47:52.698158+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 77.5718, + "legacy_fundamental_rank": 127 + }, + "symbol": "CRWD" + }, + { + "cik": "0000858877", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5348, + "candidate": 1.9231, + "definition_changed": true, + "legacy": 0.3883, + "material": false, + "relative_delta_pct": 395.2614 + }, + "pe_ratio": { + "absolute_delta": 0.6016, + "candidate": 37.5867, + "definition_changed": true, + "legacy": 36.9851, + "material": false, + "relative_delta_pct": 1.6266 + }, + "revenue_growth": { + "absolute_delta": 0.0002, + "candidate": 9.2102, + "definition_changed": true, + "legacy": 9.21, + "material": false, + "relative_delta_pct": 0.0022 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:32.759756+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.4507, + "candidate_fundamental_rank": 403, + "fundamental_delta": 1.8897, + "fundamental_rank_change": 23, + "legacy_fundamental": 50.5609, + "legacy_fundamental_rank": 426 + }, + "symbol": "CSCO" + }, + { + "cik": "0001057352", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.2418, + "candidate": 27.7778, + "definition_changed": true, + "legacy": 22.536, + "material": true, + "relative_delta_pct": 23.2597 + }, + "pe_ratio": { + "absolute_delta": -57.8544, + "candidate": 387.7143, + "definition_changed": true, + "legacy": 445.5687, + "material": true, + "relative_delta_pct": -12.9844 + }, + "revenue_growth": { + "absolute_delta": 0.0, + "candidate": 21.33, + "definition_changed": true, + "legacy": 21.33, + "material": false, + "relative_delta_pct": 0.0 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:52.920647+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "CSGP" + }, + { + "cik": "0000277948", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.8873, + "candidate": 10.2564, + "definition_changed": true, + "legacy": 3.3691, + "material": true, + "relative_delta_pct": 204.4255 + }, + "pe_ratio": { + "absolute_delta": 0.1287, + "candidate": 30.526, + "definition_changed": true, + "legacy": 30.3973, + "material": false, + "relative_delta_pct": 0.4234 + }, + "revenue_growth": { + "absolute_delta": 3.4421, + "candidate": 2.5221, + "definition_changed": true, + "legacy": -0.92, + "material": true, + "relative_delta_pct": 374.1413 + } + }, + "legacy_fetched_at": "2026-07-23T19:47:56.780079+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.1839, + "candidate_fundamental_rank": 260, + "fundamental_delta": 13.7769, + "fundamental_rank_change": 140, + "legacy_fundamental": 54.4071, + "legacy_fundamental_rank": 400 + }, + "symbol": "CSX" + }, + { + "cik": "0000723254", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1109, + "candidate": 4.0323, + "definition_changed": true, + "legacy": 2.9214, + "material": false, + "relative_delta_pct": 38.0263 + }, + "pe_ratio": { + "absolute_delta": 0.8271, + "candidate": 42.8797, + "definition_changed": true, + "legacy": 42.0526, + "material": false, + "relative_delta_pct": 1.9668 + }, + "revenue_growth": { + "absolute_delta": 0.0025, + "candidate": 8.7125, + "definition_changed": true, + "legacy": 8.71, + "material": false, + "relative_delta_pct": 0.0287 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:01.651382+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 49.67, + "candidate_fundamental_rank": 427, + "fundamental_delta": 0.9344, + "fundamental_rank_change": 14, + "legacy_fundamental": 48.7356, + "legacy_fundamental_rank": 441 + }, + "symbol": "CTAS" + }, + { + "cik": "0001058290", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2159, + "candidate": 5.2632, + "definition_changed": true, + "legacy": 3.0473, + "material": true, + "relative_delta_pct": 72.7168 + }, + "pe_ratio": { + "absolute_delta": 0.2573, + "candidate": 9.3297, + "definition_changed": true, + "legacy": 9.0724, + "material": false, + "relative_delta_pct": 2.8361 + }, + "revenue_growth": { + "absolute_delta": -0.0048, + "candidate": 6.5452, + "definition_changed": true, + "legacy": 6.55, + "material": false, + "relative_delta_pct": -0.0733 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:06.146230+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.8929, + "candidate_fundamental_rank": 122, + "fundamental_delta": 3.6891, + "fundamental_rank_change": 9, + "legacy_fundamental": 77.2038, + "legacy_fundamental_rank": 131 + }, + "symbol": "CTSH" + }, + { + "cik": "0001755672", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.732, + "candidate": 27.1186, + "definition_changed": true, + "legacy": 25.3866, + "material": false, + "relative_delta_pct": 6.8225 + }, + "pe_ratio": { + "absolute_delta": 0.8102, + "candidate": 51.6163, + "definition_changed": true, + "legacy": 50.8061, + "material": false, + "relative_delta_pct": 1.5947 + }, + "revenue_growth": { + "absolute_delta": 0.0034, + "candidate": 6.2734, + "definition_changed": true, + "legacy": 6.27, + "material": false, + "relative_delta_pct": 0.0542 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:10.251654+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.2278, + "candidate_fundamental_rank": 381, + "fundamental_delta": 0.0028, + "fundamental_rank_change": 14, + "legacy_fundamental": 55.225, + "legacy_fundamental_rank": 395 + }, + "symbol": "CTVA" + }, + { + "cik": "0001690820", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.9823, + "candidate": 19.0141, + "definition_changed": true, + "legacy": 12.0318, + "material": true, + "relative_delta_pct": 58.032 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 48.3947, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0046, + "candidate": 51.7246, + "definition_changed": true, + "legacy": 51.72, + "material": false, + "relative_delta_pct": 0.0089 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:14.401655+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 33.3333, + "fundamental_rank_change": 260, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "CVNA" + }, + { + "cik": "0000064803", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4925, + "candidate": 16.2896, + "definition_changed": true, + "legacy": 15.7971, + "material": false, + "relative_delta_pct": 3.1177 + }, + "pe_ratio": { + "absolute_delta": 0.4312, + "candidate": 46.8816, + "definition_changed": true, + "legacy": 46.4504, + "material": false, + "relative_delta_pct": 0.9283 + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": 7.638, + "definition_changed": true, + "legacy": 7.64, + "material": false, + "relative_delta_pct": -0.0262 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:18.589267+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 56.365, + "candidate_fundamental_rank": 373, + "fundamental_delta": -0.0017, + "fundamental_rank_change": 11, + "legacy_fundamental": 56.3667, + "legacy_fundamental_rank": 384 + }, + "symbol": "CVS" + }, + { + "cik": "0000093410", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.7369, + "candidate": 53.2609, + "definition_changed": true, + "legacy": 46.524, + "material": true, + "relative_delta_pct": 14.4805 + }, + "pe_ratio": { + "absolute_delta": -1.5323, + "candidate": 33.8711, + "definition_changed": true, + "legacy": 35.4034, + "material": false, + "relative_delta_pct": -4.3281 + }, + "revenue_growth": { + "absolute_delta": -0.003, + "candidate": -3.653, + "definition_changed": true, + "legacy": -3.65, + "material": false, + "relative_delta_pct": -0.0822 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:37.041694+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.3213, + "candidate_fundamental_rank": 353, + "fundamental_delta": 1.7, + "fundamental_rank_change": 14, + "legacy_fundamental": 57.6212, + "legacy_fundamental_rank": 367 + }, + "symbol": "CVX" + }, + { + "cik": "0000715957", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.4481, + "candidate": 6.7416, + "definition_changed": true, + "legacy": 2.2935, + "material": true, + "relative_delta_pct": 193.9438 + }, + "pe_ratio": { + "absolute_delta": -0.0775, + "candidate": 21.0796, + "definition_changed": true, + "legacy": 21.1571, + "material": false, + "relative_delta_pct": -0.3663 + }, + "revenue_growth": { + "absolute_delta": -0.4829, + "candidate": 18.8971, + "definition_changed": true, + "legacy": 19.38, + "material": false, + "relative_delta_pct": -2.4917 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:23.049385+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.895, + "candidate_fundamental_rank": 63, + "fundamental_delta": 7.0971, + "fundamental_rank_change": 40, + "legacy_fundamental": 79.7979, + "legacy_fundamental_rank": 103 + }, + "symbol": "D" + }, + { + "cik": "0000027904", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.1204, + "candidate": 3.3113, + "definition_changed": true, + "legacy": 4.4317, + "material": false, + "relative_delta_pct": -25.2815 + }, + "pe_ratio": { + "absolute_delta": -0.0372, + "candidate": 13.5937, + "definition_changed": true, + "legacy": 13.6309, + "material": false, + "relative_delta_pct": -0.2729 + }, + "revenue_growth": { + "absolute_delta": -0.0063, + "candidate": 10.2737, + "definition_changed": true, + "legacy": 10.28, + "material": false, + "relative_delta_pct": -0.0613 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:27.190855+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.7469, + "candidate_fundamental_rank": 123, + "fundamental_delta": -1.8726, + "fundamental_rank_change": -41, + "legacy_fundamental": 82.6195, + "legacy_fundamental_rank": 82 + }, + "symbol": "DAL" + }, + { + "cik": "0001792789", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5495, + "candidate": 13.5135, + "definition_changed": true, + "legacy": 12.964, + "material": false, + "relative_delta_pct": 4.2387 + }, + "pe_ratio": { + "absolute_delta": -3.1691, + "candidate": 80.4597, + "definition_changed": true, + "legacy": 83.6288, + "material": false, + "relative_delta_pct": -3.7895 + }, + "revenue_growth": { + "absolute_delta": -0.0019, + "candidate": 30.9581, + "definition_changed": true, + "legacy": 30.96, + "material": false, + "relative_delta_pct": -0.0061 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:31.485703+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "DASH" + }, + { + "cik": "0001666700", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.1933, + "candidate": 14.5833, + "definition_changed": true, + "legacy": 10.39, + "material": true, + "relative_delta_pct": 40.359 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 121.43, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -33.8513, + "candidate": -56.3613, + "definition_changed": true, + "legacy": -22.51, + "material": true, + "relative_delta_pct": -150.3834 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:35.982662+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.0, + "candidate_fundamental_rank": 420, + "fundamental_delta": 16.6667, + "fundamental_rank_change": 70, + "legacy_fundamental": 33.3333, + "legacy_fundamental_rank": 490 + }, + "symbol": "DD" + }, + { + "cik": "0001561550", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.1475, + "candidate": 20.0, + "definition_changed": true, + "legacy": 15.8525, + "material": true, + "relative_delta_pct": 26.1631 + }, + "pe_ratio": { + "absolute_delta": -15.7891, + "candidate": 626.641, + "definition_changed": true, + "legacy": 642.4301, + "material": false, + "relative_delta_pct": -2.4577 + }, + "revenue_growth": { + "absolute_delta": 0.0043, + "candidate": 29.5443, + "definition_changed": true, + "legacy": 29.54, + "material": false, + "relative_delta_pct": 0.0146 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:40.469273+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "DDOG" + }, + { + "cik": "0000315189", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2056, + "candidate": 12.7367, + "definition_changed": true, + "legacy": 11.5311, + "material": false, + "relative_delta_pct": 10.4552 + }, + "pe_ratio": { + "absolute_delta": 0.1561, + "candidate": 34.562, + "definition_changed": true, + "legacy": 34.4059, + "material": false, + "relative_delta_pct": 0.4537 + }, + "revenue_growth": { + "absolute_delta": -0.005, + "candidate": 4.005, + "definition_changed": true, + "legacy": 4.01, + "material": false, + "relative_delta_pct": -0.1247 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:44.517092+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.9352, + "candidate_fundamental_rank": 294, + "fundamental_delta": -0.1777, + "fundamental_rank_change": -2, + "legacy_fundamental": 65.1129, + "legacy_fundamental_rank": 292 + }, + "symbol": "DE" + }, + { + "cik": "0000910521", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.1505, + "candidate": 18.5185, + "definition_changed": true, + "legacy": 13.368, + "material": true, + "relative_delta_pct": 38.5286 + }, + "pe_ratio": { + "absolute_delta": -0.0313, + "candidate": 13.708, + "definition_changed": true, + "legacy": 13.7393, + "material": false, + "relative_delta_pct": -0.2278 + }, + "revenue_growth": { + "absolute_delta": 0.0018, + "candidate": 9.7618, + "definition_changed": true, + "legacy": 9.76, + "material": false, + "relative_delta_pct": 0.0184 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:49.075579+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 91.4681, + "candidate_fundamental_rank": 32, + "fundamental_delta": 0.0015, + "fundamental_rank_change": -4, + "legacy_fundamental": 91.4667, + "legacy_fundamental_rank": 28 + }, + "symbol": "DECK" + }, + { + "cik": "0001571996", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.2126, + "candidate": 59.8684, + "definition_changed": true, + "legacy": 62.081, + "material": true, + "relative_delta_pct": -3.5641 + }, + "pe_ratio": { + "absolute_delta": 0.8443, + "candidate": 35.0072, + "definition_changed": true, + "legacy": 34.1629, + "material": false, + "relative_delta_pct": 2.4714 + }, + "revenue_growth": { + "absolute_delta": 0.0035, + "candidate": 38.5735, + "definition_changed": true, + "legacy": 38.57, + "material": false, + "relative_delta_pct": 0.0091 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:53.211269+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.7698, + "candidate_fundamental_rank": 151, + "fundamental_delta": -0.9381, + "fundamental_rank_change": -42, + "legacy_fundamental": 78.7079, + "legacy_fundamental_rank": 109 + }, + "symbol": "DELL" + }, + { + "cik": "0000029534", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8123, + "candidate": 5.8201, + "definition_changed": true, + "legacy": 3.0078, + "material": true, + "relative_delta_pct": 93.5002 + }, + "pe_ratio": { + "absolute_delta": 0.0636, + "candidate": 16.2885, + "definition_changed": true, + "legacy": 16.2249, + "material": false, + "relative_delta_pct": 0.392 + }, + "revenue_growth": { + "absolute_delta": -0.0011, + "candidate": 4.7189, + "definition_changed": true, + "legacy": 4.72, + "material": false, + "relative_delta_pct": -0.0233 + } + }, + "legacy_fetched_at": "2026-07-23T19:48:57.262067+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.8676, + "candidate_fundamental_rank": 139, + "fundamental_delta": 4.6156, + "fundamental_rank_change": 29, + "legacy_fundamental": 74.252, + "legacy_fundamental_rank": 168 + }, + "symbol": "DG" + }, + { + "cik": "0001022079", + "fields": { + "earnings_surprise": { + "absolute_delta": -3.8542, + "candidate": 5.4852, + "definition_changed": true, + "legacy": 9.3394, + "material": true, + "relative_delta_pct": -41.2682 + }, + "pe_ratio": { + "absolute_delta": 0.8377, + "candidate": 25.1823, + "definition_changed": true, + "legacy": 24.3446, + "material": false, + "relative_delta_pct": 3.441 + }, + "revenue_growth": { + "absolute_delta": -0.0042, + "candidate": 11.0258, + "definition_changed": true, + "legacy": 11.03, + "material": false, + "relative_delta_pct": -0.0381 + } + }, + "legacy_fetched_at": "2026-07-23T19:49:01.412841+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.6832, + "candidate_fundamental_rank": 204, + "fundamental_delta": -7.3579, + "fundamental_rank_change": -112, + "legacy_fundamental": 81.0411, + "legacy_fundamental_rank": 92 + }, + "symbol": "DGX" + }, + { + "cik": "0000882184", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.1879, + "candidate": 4.186, + "definition_changed": true, + "legacy": 4.3739, + "material": false, + "relative_delta_pct": -4.2959 + }, + "pe_ratio": { + "absolute_delta": 0.1377, + "candidate": 13.3446, + "definition_changed": true, + "legacy": 13.2069, + "material": false, + "relative_delta_pct": 1.0426 + }, + "revenue_growth": { + "absolute_delta": -2.0295, + "candidate": -5.5695, + "definition_changed": true, + "legacy": -3.54, + "material": true, + "relative_delta_pct": -57.3305 + } + }, + "legacy_fetched_at": "2026-07-23T19:49:05.686691+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.0021, + "candidate_fundamental_rank": 251, + "fundamental_delta": -2.0044, + "fundamental_rank_change": -37, + "legacy_fundamental": 71.0065, + "legacy_fundamental_rank": 214 + }, + "symbol": "DHI" + }, + { + "cik": "0000313616", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5075, + "candidate": 6.1856, + "definition_changed": true, + "legacy": 4.6781, + "material": false, + "relative_delta_pct": 32.2246 + }, + "pe_ratio": { + "absolute_delta": -2.1399, + "candidate": 34.1918, + "definition_changed": true, + "legacy": 36.3317, + "material": false, + "relative_delta_pct": -5.8899 + }, + "revenue_growth": { + "absolute_delta": 0.5359, + "candidate": 4.5559, + "definition_changed": true, + "legacy": 4.02, + "material": false, + "relative_delta_pct": 13.3308 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:41.241884+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.4482, + "candidate_fundamental_rank": 350, + "fundamental_delta": 5.3366, + "fundamental_rank_change": 53, + "legacy_fundamental": 54.1116, + "legacy_fundamental_rank": 403 + }, + "symbol": "DHR" + }, + { + "cik": "0001744489", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9947, + "candidate": 5.3691, + "definition_changed": true, + "legacy": 4.3744, + "material": false, + "relative_delta_pct": 22.7391 + }, + "pe_ratio": { + "absolute_delta": 0.4938, + "candidate": 14.8528, + "definition_changed": true, + "legacy": 14.359, + "material": false, + "relative_delta_pct": 3.439 + }, + "revenue_growth": { + "absolute_delta": -0.0027, + "candidate": 3.4273, + "definition_changed": true, + "legacy": 3.43, + "material": false, + "relative_delta_pct": -0.0787 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:45.538728+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.4713, + "candidate_fundamental_rank": 145, + "fundamental_delta": 1.6556, + "fundamental_rank_change": -5, + "legacy_fundamental": 76.8157, + "legacy_fundamental_rank": 140 + }, + "symbol": "DIS" + }, + { + "cik": "0001297996", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.1333, + "candidate": 5.1546, + "definition_changed": true, + "legacy": 0.0213, + "material": true, + "relative_delta_pct": 24100.0 + }, + "pe_ratio": { + "absolute_delta": 0.6041, + "candidate": 47.5703, + "definition_changed": true, + "legacy": 46.9662, + "material": false, + "relative_delta_pct": 1.2862 + }, + "revenue_growth": { + "absolute_delta": -0.0042, + "candidate": 12.5858, + "definition_changed": true, + "legacy": 12.59, + "material": false, + "relative_delta_pct": -0.0334 + } + }, + "legacy_fetched_at": "2026-07-23T19:49:09.821570+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.4126, + "candidate_fundamental_rank": 404, + "fundamental_delta": 8.5521, + "fundamental_rank_change": 61, + "legacy_fundamental": 43.8605, + "legacy_fundamental_rank": 465 + }, + "symbol": "DLR" + }, + { + "cik": "0000935703", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0948, + "candidate": 13.7255, + "definition_changed": true, + "legacy": 10.6307, + "material": true, + "relative_delta_pct": 29.1119 + }, + "pe_ratio": { + "absolute_delta": 0.7578, + "candidate": 18.4694, + "definition_changed": true, + "legacy": 17.7116, + "material": false, + "relative_delta_pct": 4.2786 + }, + "revenue_growth": { + "absolute_delta": -15.9716, + "candidate": 35.3584, + "definition_changed": true, + "legacy": 51.33, + "material": true, + "relative_delta_pct": -31.1155 + } + }, + "legacy_fetched_at": "2026-07-23T19:49:14.142664+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 96.1451, + "candidate_fundamental_rank": 25, + "fundamental_delta": -0.842, + "fundamental_rank_change": -6, + "legacy_fundamental": 96.9871, + "legacy_fundamental_rank": 19 + }, + "symbol": "DLTR" + }, + { + "cik": "0000765880", + "fields": { + "earnings_surprise": { + "absolute_delta": -510.7334, + "candidate": 4.6512, + "definition_changed": true, + "legacy": 515.3846, + "material": true, + "relative_delta_pct": -99.0975 + }, + "pe_ratio": { + "absolute_delta": -1.5618, + "candidate": 69.0, + "definition_changed": true, + "legacy": 70.5618, + "material": false, + "relative_delta_pct": -2.2134 + }, + "revenue_growth": { + "absolute_delta": 10.5595, + "candidate": 13.2695, + "definition_changed": true, + "legacy": 2.71, + "material": true, + "relative_delta_pct": 389.6494 + } + }, + "legacy_fetched_at": "2026-07-23T19:49:18.725334+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.1432, + "candidate_fundamental_rank": 408, + "fundamental_delta": -0.1151, + "fundamental_rank_change": 7, + "legacy_fundamental": 52.2583, + "legacy_fundamental_rank": 415 + }, + "symbol": "DOC" + }, + { + "cik": "0000029905", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9055, + "candidate": 0.4405, + "definition_changed": true, + "legacy": -0.465, + "material": false, + "relative_delta_pct": 194.7312 + }, + "pe_ratio": { + "absolute_delta": -0.4105, + "candidate": 23.8026, + "definition_changed": true, + "legacy": 24.2131, + "material": false, + "relative_delta_pct": -1.6954 + }, + "revenue_growth": { + "absolute_delta": 9.9053, + "candidate": 13.9553, + "definition_changed": true, + "legacy": 4.05, + "material": true, + "relative_delta_pct": 244.5753 + } + }, + "legacy_fetched_at": "2026-07-23T19:49:22.771777+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.2496, + "candidate_fundamental_rank": 250, + "fundamental_delta": 10.2197, + "fundamental_rank_change": 98, + "legacy_fundamental": 59.0299, + "legacy_fundamental_rank": 348 + }, + "symbol": "DOV" + }, + { + "cik": "0001751788", + "fields": { + "earnings_surprise": { + "absolute_delta": 52.0926, + "candidate": 64.1026, + "definition_changed": true, + "legacy": 12.01, + "material": true, + "relative_delta_pct": 433.7435 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0013, + "candidate": -7.7387, + "definition_changed": true, + "legacy": -7.74, + "material": false, + "relative_delta_pct": 0.0168 + } + }, + "legacy_fetched_at": "2026-07-23T19:51:19.691096+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.3266, + "candidate_fundamental_rank": 286, + "fundamental_delta": 0.0016, + "fundamental_rank_change": 1, + "legacy_fundamental": 65.325, + "legacy_fundamental_rank": 287 + }, + "symbol": "DOW" + }, + { + "cik": "0001286681", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.2895, + "candidate": -3.7296, + "definition_changed": true, + "legacy": -3.4401, + "material": false, + "relative_delta_pct": -8.4155 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 17.566, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 5.16, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:51:23.722949+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 62.3821, + "legacy_fundamental_rank": 325 + }, + "symbol": "DPZ" + }, + { + "cik": "0000940944", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0907, + "candidate": 0.8264, + "definition_changed": true, + "legacy": -0.2643, + "material": false, + "relative_delta_pct": 412.675 + }, + "pe_ratio": { + "absolute_delta": 2.3369, + "candidate": 20.5636, + "definition_changed": true, + "legacy": 18.2267, + "material": true, + "relative_delta_pct": 12.8213 + }, + "revenue_growth": { + "absolute_delta": -0.8755, + "candidate": 8.5145, + "definition_changed": true, + "legacy": 9.39, + "material": false, + "relative_delta_pct": -9.3237 + } + }, + "legacy_fetched_at": "2026-07-23T19:51:27.767544+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.9578, + "candidate_fundamental_rank": 252, + "fundamental_delta": -1.5082, + "fundamental_rank_change": -34, + "legacy_fundamental": 70.4659, + "legacy_fundamental_rank": 218 + }, + "symbol": "DRI" + }, + { + "cik": "0000936340", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3499, + "candidate": -1.5152, + "definition_changed": true, + "legacy": -3.8651, + "material": true, + "relative_delta_pct": 60.7979 + }, + "pe_ratio": { + "absolute_delta": 0.0181, + "candidate": 24.3635, + "definition_changed": true, + "legacy": 24.3454, + "material": false, + "relative_delta_pct": 0.0743 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -15.52, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:51:31.941713+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.6063, + "candidate_fundamental_rank": 376, + "fundamental_delta": 18.6986, + "fundamental_rank_change": 110, + "legacy_fundamental": 36.9077, + "legacy_fundamental_rank": 486 + }, + "symbol": "DTE" + }, + { + "cik": "0001326160", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.5966, + "candidate": 7.8212, + "definition_changed": true, + "legacy": 2.2246, + "material": true, + "relative_delta_pct": 251.5778 + }, + "pe_ratio": { + "absolute_delta": 0.4256, + "candidate": 19.8252, + "definition_changed": true, + "legacy": 19.3996, + "material": false, + "relative_delta_pct": 2.1939 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 7.21, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:51:36.177938+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.5112, + "candidate_fundamental_rank": 73, + "fundamental_delta": 15.0169, + "fundamental_rank_change": 131, + "legacy_fundamental": 71.4942, + "legacy_fundamental_rank": 204 + }, + "symbol": "DUK" + }, + { + "cik": "0000927066", + "fields": { + "earnings_surprise": { + "absolute_delta": -3.4996, + "candidate": 19.0871, + "definition_changed": true, + "legacy": 22.5867, + "material": true, + "relative_delta_pct": -15.4941 + }, + "pe_ratio": { + "absolute_delta": 2.7318, + "candidate": 21.8739, + "definition_changed": true, + "legacy": 19.1421, + "material": true, + "relative_delta_pct": 14.2712 + }, + "revenue_growth": { + "absolute_delta": 0.0021, + "candidate": 6.6821, + "definition_changed": true, + "legacy": 6.68, + "material": false, + "relative_delta_pct": 0.0314 + } + }, + "legacy_fetched_at": "2026-07-23T19:51:40.212360+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.264, + "candidate_fundamental_rank": 117, + "fundamental_delta": -3.0337, + "fundamental_rank_change": -47, + "legacy_fundamental": 84.2977, + "legacy_fundamental_rank": 70 + }, + "symbol": "DVA" + }, + { + "cik": "0001090012", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.9217, + "candidate": 4.0, + "definition_changed": true, + "legacy": -2.9217, + "material": true, + "relative_delta_pct": 236.9066 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 23.4037, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -1.51, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:51:44.230666+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 51.2014, + "legacy_fundamental_rank": 421 + }, + "symbol": "DVN" + }, + { + "cik": "0001093557", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1165, + "candidate": 19.1489, + "definition_changed": true, + "legacy": 17.0324, + "material": true, + "relative_delta_pct": 12.4263 + }, + "pe_ratio": { + "absolute_delta": 0.8999, + "candidate": 30.2489, + "definition_changed": true, + "legacy": 29.349, + "material": false, + "relative_delta_pct": 3.0662 + }, + "revenue_growth": { + "absolute_delta": -0.0, + "candidate": 16.15, + "definition_changed": true, + "legacy": 16.15, + "material": false, + "relative_delta_pct": -0.0 + } + }, + "legacy_fetched_at": "2026-07-23T19:51:48.217694+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.8484, + "candidate_fundamental_rank": 134, + "fundamental_delta": -1.0, + "fundamental_rank_change": -41, + "legacy_fundamental": 80.8483, + "legacy_fundamental_rank": 93 + }, + "symbol": "DXCM" + }, + { + "cik": "0000712515", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.706, + "candidate": -29.3333, + "definition_changed": true, + "legacy": -36.0393, + "material": true, + "relative_delta_pct": 18.6075 + }, + "pe_ratio": { + "absolute_delta": 0.4664, + "candidate": 59.5442, + "definition_changed": true, + "legacy": 59.0778, + "material": false, + "relative_delta_pct": 0.7895 + }, + "revenue_growth": { + "absolute_delta": 0.0012, + "candidate": 0.9112, + "definition_changed": true, + "legacy": 0.91, + "material": false, + "relative_delta_pct": 0.1319 + } + }, + "legacy_fetched_at": "2026-07-23T19:51:52.316777+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 17.426, + "candidate_fundamental_rank": 480, + "fundamental_delta": 0.001, + "fundamental_rank_change": 25, + "legacy_fundamental": 17.425, + "legacy_fundamental_rank": 505 + }, + "symbol": "EA" + }, + { + "cik": "0001065088", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.9769, + "candidate": 5.0633, + "definition_changed": true, + "legacy": 3.0864, + "material": false, + "relative_delta_pct": 64.052 + }, + "pe_ratio": { + "absolute_delta": 1.2624, + "candidate": 24.8455, + "definition_changed": true, + "legacy": 23.5831, + "material": false, + "relative_delta_pct": 5.353 + }, + "revenue_growth": { + "absolute_delta": -0.0009, + "candidate": 12.5291, + "definition_changed": true, + "legacy": 12.53, + "material": false, + "relative_delta_pct": -0.0072 + } + }, + "legacy_fetched_at": "2026-07-23T19:51:56.644766+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.607, + "candidate_fundamental_rank": 191, + "fundamental_delta": 1.8914, + "fundamental_rank_change": -2, + "legacy_fundamental": 72.7156, + "legacy_fundamental_rank": 189 + }, + "symbol": "EBAY" + }, + { + "cik": "0001415404", + "fields": { + "earnings_surprise": { + "absolute_delta": -40.1163, + "candidate": 27.3973, + "definition_changed": true, + "legacy": 67.5136, + "material": true, + "relative_delta_pct": -59.4196 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0025, + "candidate": -5.5975, + "definition_changed": true, + "legacy": -5.6, + "material": false, + "relative_delta_pct": 0.0446 + } + }, + "legacy_fetched_at": "2026-07-23T20:59:00.711642+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.0031, + "candidate_fundamental_rank": 262, + "fundamental_delta": 0.0031, + "fundamental_rank_change": -15, + "legacy_fundamental": 68.0, + "legacy_fundamental_rank": 247 + }, + "symbol": "ECHO" + }, + { + "cik": "0000031462", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7299, + "candidate": 0.0, + "definition_changed": true, + "legacy": -0.7299, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 0.3668, + "candidate": 35.6076, + "definition_changed": true, + "legacy": 35.2408, + "material": false, + "relative_delta_pct": 1.0408 + }, + "revenue_growth": { + "absolute_delta": -0.0047, + "candidate": 4.8953, + "definition_changed": true, + "legacy": 4.9, + "material": false, + "relative_delta_pct": -0.0959 + } + }, + "legacy_fetched_at": "2026-07-23T19:52:01.112685+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 47.8488, + "candidate_fundamental_rank": 436, + "fundamental_delta": 0.805, + "fundamental_rank_change": 20, + "legacy_fundamental": 47.0437, + "legacy_fundamental_rank": 456 + }, + "symbol": "ECL" + }, + { + "cik": "0001047862", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4755, + "candidate": -6.4655, + "definition_changed": true, + "legacy": -6.941, + "material": false, + "relative_delta_pct": 6.8506 + }, + "pe_ratio": { + "absolute_delta": -0.1964, + "candidate": 19.0202, + "definition_changed": true, + "legacy": 19.2166, + "material": false, + "relative_delta_pct": -1.022 + }, + "revenue_growth": { + "absolute_delta": -0.8944, + "candidate": 8.1856, + "definition_changed": true, + "legacy": 9.08, + "material": false, + "relative_delta_pct": -9.8502 + } + }, + "legacy_fetched_at": "2026-07-23T19:52:05.826750+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.2452, + "candidate_fundamental_rank": 364, + "fundamental_delta": 0.2653, + "fundamental_rank_change": 0, + "legacy_fundamental": 57.9799, + "legacy_fundamental_rank": 364 + }, + "symbol": "ED" + }, + { + "cik": "0000033185", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.8765, + "candidate": 10.0592, + "definition_changed": true, + "legacy": 1.1827, + "material": true, + "relative_delta_pct": 750.5285 + }, + "pe_ratio": { + "absolute_delta": 1.2708, + "candidate": 29.3005, + "definition_changed": true, + "legacy": 28.0297, + "material": false, + "relative_delta_pct": 4.5338 + }, + "revenue_growth": { + "absolute_delta": -0.0028, + "candidate": 10.3472, + "definition_changed": true, + "legacy": 10.35, + "material": false, + "relative_delta_pct": -0.0271 + } + }, + "legacy_fetched_at": "2026-07-23T19:52:09.867402+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.0666, + "candidate_fundamental_rank": 172, + "fundamental_delta": 13.2812, + "fundamental_rank_change": 145, + "legacy_fundamental": 62.7854, + "legacy_fundamental_rank": 317 + }, + "symbol": "EFX" + }, + { + "cik": "0001095073", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8641, + "candidate": 14.6115, + "definition_changed": true, + "legacy": 11.7474, + "material": true, + "relative_delta_pct": 24.3807 + }, + "pe_ratio": { + "absolute_delta": 0.4062, + "candidate": 7.6473, + "definition_changed": true, + "legacy": 7.2411, + "material": false, + "relative_delta_pct": 5.6096 + }, + "revenue_growth": { + "absolute_delta": -0.0318, + "candidate": -0.6318, + "definition_changed": true, + "legacy": -0.6, + "material": false, + "relative_delta_pct": -5.3 + } + }, + "legacy_fetched_at": "2026-07-23T19:52:14.131491+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.8068, + "candidate_fundamental_rank": 102, + "fundamental_delta": -0.0265, + "fundamental_rank_change": -21, + "legacy_fundamental": 82.8333, + "legacy_fundamental_rank": 81 + }, + "symbol": "EG" + }, + { + "cik": "0000827052", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4545, + "candidate": 7.5758, + "definition_changed": true, + "legacy": 7.1213, + "material": false, + "relative_delta_pct": 6.3823 + }, + "pe_ratio": { + "absolute_delta": 0.4683, + "candidate": 8.6565, + "definition_changed": true, + "legacy": 8.1882, + "material": false, + "relative_delta_pct": 5.7192 + }, + "revenue_growth": { + "absolute_delta": -0.0225, + "candidate": 13.1375, + "definition_changed": true, + "legacy": 13.16, + "material": false, + "relative_delta_pct": -0.171 + } + }, + "legacy_fetched_at": "2026-07-23T19:52:18.489057+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 90.2409, + "candidate_fundamental_rank": 39, + "fundamental_delta": 0.7387, + "fundamental_rank_change": -1, + "legacy_fundamental": 89.5022, + "legacy_fundamental_rank": 38 + }, + "symbol": "EIX" + }, + { + "cik": "0001001250", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7124, + "candidate": 37.8788, + "definition_changed": true, + "legacy": 36.1664, + "material": false, + "relative_delta_pct": 4.7348 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0179, + "candidate": 0.3179, + "definition_changed": true, + "legacy": 0.3, + "material": false, + "relative_delta_pct": 5.9667 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:15.262179+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.3973, + "candidate_fundamental_rank": 179, + "fundamental_delta": 0.0223, + "fundamental_rank_change": -23, + "legacy_fundamental": 75.375, + "legacy_fundamental_rank": 156 + }, + "symbol": "EL" + }, + { + "cik": "0001156039", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6963, + "candidate": 20.5502, + "definition_changed": true, + "legacy": 18.8539, + "material": false, + "relative_delta_pct": 8.9971 + }, + "pe_ratio": { + "absolute_delta": -0.007, + "candidate": 16.7762, + "definition_changed": true, + "legacy": 16.7832, + "material": false, + "relative_delta_pct": -0.0417 + }, + "revenue_growth": { + "absolute_delta": 0.0181, + "candidate": 6.2881, + "definition_changed": true, + "legacy": 6.27, + "material": false, + "relative_delta_pct": 0.2887 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:19.450238+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.5998, + "candidate_fundamental_rank": 71, + "fundamental_delta": 0.0228, + "fundamental_rank_change": -15, + "legacy_fundamental": 86.577, + "legacy_fundamental_rank": 56 + }, + "symbol": "ELV" + }, + { + "cik": "0000105634", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0539, + "candidate": 16.9231, + "definition_changed": true, + "legacy": 14.8692, + "material": true, + "relative_delta_pct": 13.8131 + }, + "pe_ratio": { + "absolute_delta": 0.4288, + "candidate": 25.8337, + "definition_changed": true, + "legacy": 25.4049, + "material": false, + "relative_delta_pct": 1.6879 + }, + "revenue_growth": { + "absolute_delta": -0.0043, + "candidate": 18.3057, + "definition_changed": true, + "legacy": 18.31, + "material": false, + "relative_delta_pct": -0.0235 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:23.827446+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.5506, + "candidate_fundamental_rank": 72, + "fundamental_delta": -0.4801, + "fundamental_rank_change": -22, + "legacy_fundamental": 87.0307, + "legacy_fundamental_rank": 50 + }, + "symbol": "EME" + }, + { + "cik": "0000032604", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.658, + "candidate": 0.0, + "definition_changed": true, + "legacy": -0.658, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 33.0159, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0032, + "candidate": 4.0268, + "definition_changed": true, + "legacy": 4.03, + "material": false, + "relative_delta_pct": -0.0794 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:28.029377+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.0335, + "candidate_fundamental_rank": 383, + "fundamental_delta": 6.1228, + "fundamental_rank_change": 57, + "legacy_fundamental": 48.9107, + "legacy_fundamental_rank": 440 + }, + "symbol": "EMR" + }, + { + "cik": "0000821189", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.2466, + "candidate": 11.0749, + "definition_changed": true, + "legacy": 5.8283, + "material": true, + "relative_delta_pct": 90.0194 + }, + "pe_ratio": { + "absolute_delta": 0.0725, + "candidate": 14.3058, + "definition_changed": true, + "legacy": 14.2333, + "material": false, + "relative_delta_pct": 0.5094 + }, + "revenue_growth": { + "absolute_delta": 0.0334, + "candidate": 2.7534, + "definition_changed": true, + "legacy": 2.72, + "material": false, + "relative_delta_pct": 1.2279 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:32.297005+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.6278, + "candidate_fundamental_rank": 80, + "fundamental_delta": 6.9807, + "fundamental_rank_change": 32, + "legacy_fundamental": 78.6472, + "legacy_fundamental_rank": 112 + }, + "symbol": "EOG" + }, + { + "cik": "0001352010", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1699, + "candidate": 4.0, + "definition_changed": true, + "legacy": 1.8301, + "material": true, + "relative_delta_pct": 118.5673 + }, + "pe_ratio": { + "absolute_delta": 0.681, + "candidate": 12.3764, + "definition_changed": true, + "legacy": 11.6954, + "material": false, + "relative_delta_pct": 5.8228 + }, + "revenue_growth": { + "absolute_delta": 0.0012, + "candidate": 14.2112, + "definition_changed": true, + "legacy": 14.21, + "material": false, + "relative_delta_pct": 0.0084 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:36.985474+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.176, + "candidate_fundamental_rank": 85, + "fundamental_delta": 3.6175, + "fundamental_rank_change": 5, + "legacy_fundamental": 81.5585, + "legacy_fundamental_rank": 90 + }, + "symbol": "EPAM" + }, + { + "cik": "0001101239", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.1331, + "candidate": -0.9183, + "definition_changed": true, + "legacy": -0.7852, + "material": false, + "relative_delta_pct": -16.9511 + }, + "pe_ratio": { + "absolute_delta": 0.0336, + "candidate": 71.4765, + "definition_changed": true, + "legacy": 71.4429, + "material": false, + "relative_delta_pct": 0.047 + }, + "revenue_growth": { + "absolute_delta": -0.0003, + "candidate": 6.6697, + "definition_changed": true, + "legacy": 6.67, + "material": false, + "relative_delta_pct": -0.0045 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:41.002682+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 37.3609, + "candidate_fundamental_rank": 466, + "fundamental_delta": -0.2221, + "fundamental_rank_change": 18, + "legacy_fundamental": 37.583, + "legacy_fundamental_rank": 484 + }, + "symbol": "EQIX" + }, + { + "cik": "0000906107", + "fields": { + "earnings_surprise": { + "absolute_delta": -116.1395, + "candidate": 4.2105, + "definition_changed": true, + "legacy": 120.35, + "material": true, + "relative_delta_pct": -96.5015 + }, + "pe_ratio": { + "absolute_delta": 0.3534, + "candidate": 27.2032, + "definition_changed": true, + "legacy": 26.8498, + "material": false, + "relative_delta_pct": 1.3162 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 3.42, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:54:45.215129+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.1877, + "candidate_fundamental_rank": 289, + "fundamental_delta": -7.8292, + "fundamental_rank_change": -107, + "legacy_fundamental": 73.0169, + "legacy_fundamental_rank": 182 + }, + "symbol": "EQR" + }, + { + "cik": "0000033213", + "fields": { + "earnings_surprise": { + "absolute_delta": 11.1605, + "candidate": 4.4843, + "definition_changed": true, + "legacy": -6.6762, + "material": true, + "relative_delta_pct": 167.1684 + }, + "pe_ratio": { + "absolute_delta": 2.1836, + "candidate": 12.3875, + "definition_changed": true, + "legacy": 10.2039, + "material": true, + "relative_delta_pct": 21.3997 + }, + "revenue_growth": { + "absolute_delta": -21.5206, + "candidate": 29.2494, + "definition_changed": true, + "legacy": 50.77, + "material": true, + "relative_delta_pct": -42.3884 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:49.338105+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 90.8072, + "candidate_fundamental_rank": 36, + "fundamental_delta": 18.6008, + "fundamental_rank_change": 161, + "legacy_fundamental": 72.2063, + "legacy_fundamental_rank": 197 + }, + "symbol": "EQT" + }, + { + "cik": "0000922621", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8454, + "candidate": -5.8824, + "definition_changed": true, + "legacy": -7.7278, + "material": false, + "relative_delta_pct": 23.88 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 17.3916, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0035, + "candidate": 4.7635, + "definition_changed": true, + "legacy": 4.76, + "material": false, + "relative_delta_pct": 0.0735 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:53.531786+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 41.2485, + "candidate_fundamental_rank": 459, + "fundamental_delta": -13.8479, + "fundamental_rank_change": -63, + "legacy_fundamental": 55.0963, + "legacy_fundamental_rank": 396 + }, + "symbol": "ERIE" + }, + { + "cik": "0000072741", + "fields": { + "earnings_surprise": { + "absolute_delta": 11.1878, + "candidate": 8.805, + "definition_changed": true, + "legacy": -2.3828, + "material": true, + "relative_delta_pct": 469.5232 + }, + "pe_ratio": { + "absolute_delta": 0.027, + "candidate": 15.9786, + "definition_changed": true, + "legacy": 15.9516, + "material": false, + "relative_delta_pct": 0.1693 + }, + "revenue_growth": { + "absolute_delta": -0.0034, + "candidate": 9.8266, + "definition_changed": true, + "legacy": 9.83, + "material": false, + "relative_delta_pct": -0.0346 + } + }, + "legacy_fetched_at": "2026-07-23T19:54:57.711711+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.4433, + "candidate_fundamental_rank": 46, + "fundamental_delta": 18.6136, + "fundamental_rank_change": 186, + "legacy_fundamental": 69.8297, + "legacy_fundamental_rank": 232 + }, + "symbol": "ES" + }, + { + "cik": "0000920522", + "fields": { + "earnings_surprise": { + "absolute_delta": -14.8957, + "candidate": 2.5253, + "definition_changed": true, + "legacy": 17.421, + "material": true, + "relative_delta_pct": -85.5043 + }, + "pe_ratio": { + "absolute_delta": 0.0978, + "candidate": 32.9809, + "definition_changed": true, + "legacy": 32.8831, + "material": false, + "relative_delta_pct": 0.2974 + }, + "revenue_growth": { + "absolute_delta": -13.6913, + "candidate": -8.4213, + "definition_changed": true, + "legacy": 5.27, + "material": true, + "relative_delta_pct": -259.797 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:01.767262+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 43.8789, + "candidate_fundamental_rank": 452, + "fundamental_delta": -23.9759, + "fundamental_rank_change": -204, + "legacy_fundamental": 67.8549, + "legacy_fundamental_rank": 248 + }, + "symbol": "ESS" + }, + { + "cik": "0001551182", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0227, + "candidate": 2.5547, + "definition_changed": true, + "legacy": 1.532, + "material": false, + "relative_delta_pct": 66.7559 + }, + "pe_ratio": { + "absolute_delta": 0.5105, + "candidate": 40.6194, + "definition_changed": true, + "legacy": 40.1089, + "material": false, + "relative_delta_pct": 1.2728 + }, + "revenue_growth": { + "absolute_delta": 27.7617, + "candidate": 12.6817, + "definition_changed": true, + "legacy": -15.08, + "material": true, + "relative_delta_pct": 184.0962 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:07.753849+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.0267, + "candidate_fundamental_rank": 398, + "fundamental_delta": 24.2722, + "fundamental_rank_change": 97, + "legacy_fundamental": 28.7546, + "legacy_fundamental_rank": 495 + }, + "symbol": "ETN" + }, + { + "cik": "0000065984", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.7124, + "candidate": -3.3708, + "definition_changed": true, + "legacy": -0.6584, + "material": true, + "relative_delta_pct": -411.9684 + }, + "pe_ratio": { + "absolute_delta": 0.3274, + "candidate": 29.5408, + "definition_changed": true, + "legacy": 29.2134, + "material": false, + "relative_delta_pct": 1.1207 + }, + "revenue_growth": { + "absolute_delta": -0.1494, + "candidate": 11.3606, + "definition_changed": true, + "legacy": 11.51, + "material": false, + "relative_delta_pct": -1.298 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:12.181746+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 54.3594, + "candidate_fundamental_rank": 386, + "fundamental_delta": -5.0089, + "fundamental_rank_change": -42, + "legacy_fundamental": 59.3683, + "legacy_fundamental_rank": 344 + }, + "symbol": "ETR" + }, + { + "cik": "0001711269", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.9467, + "candidate": 9.5238, + "definition_changed": true, + "legacy": 4.5771, + "material": true, + "relative_delta_pct": 108.075 + }, + "pe_ratio": { + "absolute_delta": 0.493, + "candidate": 23.0452, + "definition_changed": true, + "legacy": 22.5522, + "material": false, + "relative_delta_pct": 2.186 + }, + "revenue_growth": { + "absolute_delta": 43.3685, + "candidate": 0.7485, + "definition_changed": true, + "legacy": -42.62, + "material": true, + "relative_delta_pct": 101.7562 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:16.644297+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.2243, + "candidate_fundamental_rank": 196, + "fundamental_delta": 24.9871, + "fundamental_rank_change": 240, + "legacy_fundamental": 49.2372, + "legacy_fundamental_rank": 436 + }, + "symbol": "EVRG" + }, + { + "cik": "0001099800", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.1667, + "candidate": 4.0, + "definition_changed": true, + "legacy": 4.1667, + "material": false, + "relative_delta_pct": -4.0008 + }, + "pe_ratio": { + "absolute_delta": 0.8512, + "candidate": 44.5851, + "definition_changed": true, + "legacy": 43.7339, + "material": false, + "relative_delta_pct": 1.9463 + }, + "revenue_growth": { + "absolute_delta": 6.1653, + "candidate": 19.9753, + "definition_changed": true, + "legacy": 13.81, + "material": true, + "relative_delta_pct": 44.6437 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:20.755119+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 57.107, + "candidate_fundamental_rank": 369, + "fundamental_delta": 3.9141, + "fundamental_rank_change": 39, + "legacy_fundamental": 53.1929, + "legacy_fundamental_rank": 408 + }, + "symbol": "EW" + }, + { + "cik": "0001109357", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4575, + "candidate": 2.2472, + "definition_changed": true, + "legacy": 1.7897, + "material": false, + "relative_delta_pct": 25.5629 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 17.1431, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0067, + "candidate": 4.5867, + "definition_changed": true, + "legacy": 4.58, + "material": false, + "relative_delta_pct": 0.1463 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:25.232602+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.3513, + "candidate_fundamental_rank": 323, + "fundamental_delta": -9.7336, + "fundamental_rank_change": -110, + "legacy_fundamental": 71.0849, + "legacy_fundamental_rank": 213 + }, + "symbol": "EXC" + }, + { + "cik": "0000895126", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.3274, + "candidate": 3.794, + "definition_changed": true, + "legacy": 4.1214, + "material": false, + "relative_delta_pct": -7.9439 + }, + "pe_ratio": { + "absolute_delta": -0.0819, + "candidate": 6.8251, + "definition_changed": true, + "legacy": 6.907, + "material": false, + "relative_delta_pct": -1.1858 + }, + "revenue_growth": { + "absolute_delta": -2.803, + "candidate": 167.757, + "definition_changed": true, + "legacy": 170.56, + "material": true, + "relative_delta_pct": -1.6434 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:29.625909+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 89.6567, + "candidate_fundamental_rank": 40, + "fundamental_delta": -0.5456, + "fundamental_rank_change": -6, + "legacy_fundamental": 90.2023, + "legacy_fundamental_rank": 34 + }, + "symbol": "EXE" + }, + { + "cik": "0000746515", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3721, + "candidate": 28.5714, + "definition_changed": true, + "legacy": 26.1993, + "material": true, + "relative_delta_pct": 9.0541 + }, + "pe_ratio": { + "absolute_delta": 0.7121, + "candidate": 28.462, + "definition_changed": true, + "legacy": 27.7499, + "material": false, + "relative_delta_pct": 2.5661 + }, + "revenue_growth": { + "absolute_delta": 0.0028, + "candidate": 1.1328, + "definition_changed": true, + "legacy": 1.13, + "material": false, + "relative_delta_pct": 0.2478 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:33.740583+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.3196, + "candidate_fundamental_rank": 249, + "fundamental_delta": -0.7889, + "fundamental_rank_change": -21, + "legacy_fundamental": 70.1084, + "legacy_fundamental_rank": 228 + }, + "symbol": "EXPD" + }, + { + "cik": "0001324424", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.6111, + "candidate": 39.0071, + "definition_changed": true, + "legacy": 38.396, + "material": false, + "relative_delta_pct": 1.5916 + }, + "pe_ratio": { + "absolute_delta": 1.7396, + "candidate": 22.7571, + "definition_changed": true, + "legacy": 21.0175, + "material": false, + "relative_delta_pct": 8.2769 + }, + "revenue_growth": { + "absolute_delta": 0.0045, + "candidate": 10.0145, + "definition_changed": true, + "legacy": 10.01, + "material": false, + "relative_delta_pct": 0.045 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:37.943555+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.0598, + "candidate_fundamental_rank": 101, + "fundamental_delta": -1.9291, + "fundamental_rank_change": -36, + "legacy_fundamental": 84.9889, + "legacy_fundamental_rank": 65 + }, + "symbol": "EXPE" + }, + { + "cik": "0001289490", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.33, + "candidate": 1.4925, + "definition_changed": true, + "legacy": 1.1625, + "material": false, + "relative_delta_pct": 28.3871 + }, + "pe_ratio": { + "absolute_delta": 0.3183, + "candidate": 32.6787, + "definition_changed": true, + "legacy": 32.3604, + "material": false, + "relative_delta_pct": 0.9836 + }, + "revenue_growth": { + "absolute_delta": 4.6006, + "candidate": 8.7606, + "definition_changed": true, + "legacy": 4.16, + "material": true, + "relative_delta_pct": 110.5913 + } + }, + "legacy_fetched_at": "2026-07-23T19:55:42.173851+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 56.8118, + "candidate_fundamental_rank": 372, + "fundamental_delta": 4.0303, + "fundamental_rank_change": 40, + "legacy_fundamental": 52.7815, + "legacy_fundamental_rank": 412 + }, + "symbol": "EXR" + }, + { + "cik": "0000037996", + "fields": { + "earnings_surprise": { + "absolute_delta": -15.3689, + "candidate": 230.0, + "definition_changed": true, + "legacy": 245.3689, + "material": true, + "relative_delta_pct": -6.2636 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0007, + "candidate": 3.8207, + "definition_changed": true, + "legacy": 3.82, + "material": false, + "relative_delta_pct": 0.0183 + } + }, + "legacy_fetched_at": "2026-07-23T19:57:39.030163+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.7758, + "candidate_fundamental_rank": 136, + "fundamental_delta": 0.0008, + "fundamental_rank_change": -32, + "legacy_fundamental": 79.775, + "legacy_fundamental_rank": 104 + }, + "symbol": "F" + }, + { + "cik": "0001539838", + "fields": { + "earnings_surprise": { + "absolute_delta": -6.3495, + "candidate": 19.1549, + "definition_changed": true, + "legacy": 25.5044, + "material": true, + "relative_delta_pct": -24.8957 + }, + "pe_ratio": { + "absolute_delta": 8.5843, + "candidate": 209.6837, + "definition_changed": true, + "legacy": 201.0994, + "material": false, + "relative_delta_pct": 4.2687 + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": 18.088, + "definition_changed": true, + "legacy": 18.09, + "material": false, + "relative_delta_pct": -0.0111 + } + }, + "legacy_fetched_at": "2026-07-23T19:57:43.453536+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.0733, + "candidate_fundamental_rank": 291, + "fundamental_delta": -0.0017, + "fundamental_rank_change": 2, + "legacy_fundamental": 65.075, + "legacy_fundamental_rank": 293 + }, + "symbol": "FANG" + }, + { + "cik": "0000815556", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2863, + "candidate": 0.0, + "definition_changed": true, + "legacy": -1.2863, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 0.5381, + "candidate": 39.4444, + "definition_changed": true, + "legacy": 38.9063, + "material": false, + "relative_delta_pct": 1.3831 + }, + "revenue_growth": { + "absolute_delta": 0.0012, + "candidate": 12.5412, + "definition_changed": true, + "legacy": 12.54, + "material": false, + "relative_delta_pct": 0.0096 + } + }, + "legacy_fetched_at": "2026-07-23T19:57:47.604328+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 49.9571, + "candidate_fundamental_rank": 426, + "fundamental_delta": 1.5469, + "fundamental_rank_change": 19, + "legacy_fundamental": 48.4103, + "legacy_fundamental_rank": 445 + }, + "symbol": "FAST" + }, + { + "cik": "0000831259", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.8845, + "candidate": 21.2766, + "definition_changed": true, + "legacy": 24.1611, + "material": true, + "relative_delta_pct": -11.9386 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 32.8645, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -24.23, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:57:51.629972+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 46.8172, + "legacy_fundamental_rank": 457 + }, + "symbol": "FCX" + }, + { + "cik": "0001013237", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3916, + "candidate": 2.027, + "definition_changed": true, + "legacy": 0.6354, + "material": false, + "relative_delta_pct": 219.0116 + }, + "pe_ratio": { + "absolute_delta": 0.8351, + "candidate": 16.0711, + "definition_changed": true, + "legacy": 15.236, + "material": false, + "relative_delta_pct": 5.4811 + }, + "revenue_growth": { + "absolute_delta": 0.001, + "candidate": 6.621, + "definition_changed": true, + "legacy": 6.62, + "material": false, + "relative_delta_pct": 0.0151 + } + }, + "legacy_fetched_at": "2026-07-23T19:57:55.723523+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.3724, + "candidate_fundamental_rank": 194, + "fundamental_delta": 1.3923, + "fundamental_rank_change": -10, + "legacy_fundamental": 72.9801, + "legacy_fundamental_rank": 184 + }, + "symbol": "FDS" + }, + { + "cik": "0001048911", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.9927, + "candidate": 6.7682, + "definition_changed": true, + "legacy": 4.7755, + "material": false, + "relative_delta_pct": 41.7276 + }, + "pe_ratio": { + "absolute_delta": 0.0833, + "candidate": 17.0146, + "definition_changed": true, + "legacy": 16.9313, + "material": false, + "relative_delta_pct": 0.492 + }, + "revenue_growth": { + "absolute_delta": 3.037, + "candidate": 7.727, + "definition_changed": true, + "legacy": 4.69, + "material": true, + "relative_delta_pct": 64.7548 + } + }, + "legacy_fetched_at": "2026-07-23T19:57:59.754742+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.1477, + "candidate_fundamental_rank": 111, + "fundamental_delta": 5.7594, + "fundamental_rank_change": 37, + "legacy_fundamental": 76.3883, + "legacy_fundamental_rank": 148 + }, + "symbol": "FDX" + }, + { + "cik": "0002082247", + "fields": { + "earnings_surprise": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 16.5855, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:33:35.811519+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": null, + "legacy_fundamental_rank": null + }, + "symbol": "FDXF" + }, + { + "cik": "0001031296", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0541, + "candidate": 0.0, + "definition_changed": true, + "legacy": -2.0541, + "material": true, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": -0.0968, + "candidate": 26.8967, + "definition_changed": true, + "legacy": 26.9935, + "material": false, + "relative_delta_pct": -0.3586 + }, + "revenue_growth": { + "absolute_delta": 2.4247, + "candidate": 11.3047, + "definition_changed": true, + "legacy": 8.88, + "material": true, + "relative_delta_pct": 27.3052 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:04.258560+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.8686, + "candidate_fundamental_rank": 309, + "fundamental_delta": 5.5516, + "fundamental_rank_change": 62, + "legacy_fundamental": 57.3171, + "legacy_fundamental_rank": 371 + }, + "symbol": "FE" + }, + { + "cik": "0001048695", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7599, + "candidate": 12.3919, + "definition_changed": true, + "legacy": 10.632, + "material": false, + "relative_delta_pct": 16.5529 + }, + "pe_ratio": { + "absolute_delta": 0.0258, + "candidate": 31.8621, + "definition_changed": true, + "legacy": 31.8363, + "material": false, + "relative_delta_pct": 0.081 + }, + "revenue_growth": { + "absolute_delta": -0.0007, + "candidate": 9.6893, + "definition_changed": true, + "legacy": 9.69, + "material": false, + "relative_delta_pct": -0.0072 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:08.332087+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.6721, + "candidate_fundamental_rank": 212, + "fundamental_delta": -0.0292, + "fundamental_rank_change": -22, + "legacy_fundamental": 72.7013, + "legacy_fundamental_rank": 190 + }, + "symbol": "FFIV" + }, + { + "cik": "0000814547", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6723, + "candidate": 13.3273, + "definition_changed": true, + "legacy": 11.655, + "material": false, + "relative_delta_pct": 14.3483 + }, + "pe_ratio": { + "absolute_delta": 1.6747, + "candidate": 38.2432, + "definition_changed": true, + "legacy": 36.5685, + "material": false, + "relative_delta_pct": 4.5796 + }, + "revenue_growth": { + "absolute_delta": 0.0039, + "candidate": 22.5739, + "definition_changed": true, + "legacy": 22.57, + "material": false, + "relative_delta_pct": 0.0173 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:12.493543+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.1742, + "candidate_fundamental_rank": 197, + "fundamental_delta": -1.8608, + "fundamental_rank_change": -47, + "legacy_fundamental": 76.035, + "legacy_fundamental_rank": 150 + }, + "symbol": "FICO" + }, + { + "cik": "0001136893", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6105, + "candidate": 6.25, + "definition_changed": true, + "legacy": 4.6395, + "material": false, + "relative_delta_pct": 34.7128 + }, + "pe_ratio": { + "absolute_delta": -0.0264, + "candidate": 7.7597, + "definition_changed": true, + "legacy": 7.7861, + "material": false, + "relative_delta_pct": -0.3391 + }, + "revenue_growth": { + "absolute_delta": 0.0049, + "candidate": 12.2449, + "definition_changed": true, + "legacy": 12.24, + "material": false, + "relative_delta_pct": 0.04 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:17.096615+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.2874, + "candidate_fundamental_rank": 59, + "fundamental_delta": 2.6882, + "fundamental_rank_change": 10, + "legacy_fundamental": 84.5992, + "legacy_fundamental_rank": 69 + }, + "symbol": "FIS" + }, + { + "cik": "0000798354", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3331, + "candidate": 14.0127, + "definition_changed": true, + "legacy": 11.6796, + "material": true, + "relative_delta_pct": 19.9759 + }, + "pe_ratio": { + "absolute_delta": 0.1732, + "candidate": 8.4695, + "definition_changed": true, + "legacy": 8.2963, + "material": false, + "relative_delta_pct": 2.0877 + }, + "revenue_growth": { + "absolute_delta": -0.0007, + "candidate": 1.8693, + "definition_changed": true, + "legacy": 1.87, + "material": false, + "relative_delta_pct": -0.0374 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:21.108433+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 84.8911, + "candidate_fundamental_rank": 87, + "fundamental_delta": -0.0006, + "fundamental_rank_change": -21, + "legacy_fundamental": 84.8917, + "legacy_fundamental_rank": 66 + }, + "symbol": "FISV" + }, + { + "cik": "0000035527", + "fields": { + "earnings_surprise": { + "absolute_delta": 16.0899, + "candidate": 4.0816, + "definition_changed": true, + "legacy": -12.0083, + "material": true, + "relative_delta_pct": 133.9898 + }, + "pe_ratio": { + "absolute_delta": -4.31, + "candidate": 19.2424, + "definition_changed": true, + "legacy": 23.5524, + "material": true, + "relative_delta_pct": -18.2996 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 58.1784, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:58:25.376613+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.1334, + "candidate_fundamental_rank": 149, + "fundamental_delta": 20.9694, + "fundamental_rank_change": 224, + "legacy_fundamental": 57.164, + "legacy_fundamental_rank": 373 + }, + "symbol": "FITB" + }, + { + "cik": "0001035983", + "fields": { + "earnings_surprise": { + "absolute_delta": -6.7531, + "candidate": 46.1752, + "definition_changed": true, + "legacy": 52.9283, + "material": true, + "relative_delta_pct": -12.759 + }, + "pe_ratio": { + "absolute_delta": 0.1893, + "candidate": 52.8623, + "definition_changed": true, + "legacy": 52.673, + "material": false, + "relative_delta_pct": 0.3594 + }, + "revenue_growth": { + "absolute_delta": 0.0026, + "candidate": 38.4326, + "definition_changed": true, + "legacy": 38.43, + "material": false, + "relative_delta_pct": 0.0068 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:29.450459+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "FIX" + }, + { + "cik": "0000866374", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.8209, + "candidate": 8.1395, + "definition_changed": true, + "legacy": 4.3186, + "material": true, + "relative_delta_pct": 88.4754 + }, + "pe_ratio": { + "absolute_delta": 1.6876, + "candidate": 54.9099, + "definition_changed": true, + "legacy": 53.2223, + "material": false, + "relative_delta_pct": 3.1709 + }, + "revenue_growth": { + "absolute_delta": -0.0007, + "candidate": 8.1393, + "definition_changed": true, + "legacy": 8.14, + "material": false, + "relative_delta_pct": -0.0086 + } + }, + "legacy_fetched_at": "2026-07-23T19:33:40.898632+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.682, + "candidate_fundamental_rank": 393, + "fundamental_delta": 6.3676, + "fundamental_rank_change": 62, + "legacy_fundamental": 47.3143, + "legacy_fundamental_rank": 455 + }, + "symbol": "FLEX" + }, + { + "cik": "0001754301", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.5032, + "candidate": 29.4118, + "definition_changed": true, + "legacy": 33.915, + "material": true, + "relative_delta_pct": -13.2779 + }, + "pe_ratio": { + "absolute_delta": -0.1548, + "candidate": 12.9421, + "definition_changed": true, + "legacy": 13.0969, + "material": false, + "relative_delta_pct": -1.182 + }, + "revenue_growth": { + "absolute_delta": -0.0039, + "candidate": 0.5961, + "definition_changed": true, + "legacy": 0.6, + "material": false, + "relative_delta_pct": -0.65 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:33.815485+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.8301, + "candidate_fundamental_rank": 93, + "fundamental_delta": -0.0033, + "fundamental_rank_change": -20, + "legacy_fundamental": 83.8333, + "legacy_fundamental_rank": 73 + }, + "symbol": "FOX" + }, + { + "cik": "0001754301", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.5032, + "candidate": 29.4118, + "definition_changed": true, + "legacy": 33.915, + "material": true, + "relative_delta_pct": -13.2779 + }, + "pe_ratio": { + "absolute_delta": 1.4005, + "candidate": 14.4974, + "definition_changed": true, + "legacy": 13.0969, + "material": true, + "relative_delta_pct": 10.6934 + }, + "revenue_growth": { + "absolute_delta": -0.0039, + "candidate": 0.5961, + "definition_changed": true, + "legacy": 0.6, + "material": false, + "relative_delta_pct": -0.65 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:38.032735+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.8301, + "candidate_fundamental_rank": 93, + "fundamental_delta": -0.0033, + "fundamental_rank_change": -20, + "legacy_fundamental": 83.8333, + "legacy_fundamental_rank": 73 + }, + "symbol": "FOXA" + }, + { + "cik": "0000034903", + "fields": { + "earnings_surprise": { + "absolute_delta": -151.8125, + "candidate": 3.2967, + "definition_changed": true, + "legacy": 155.1092, + "material": true, + "relative_delta_pct": -97.8746 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 21.4625, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 7.43, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:58:42.175513+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 82.3444, + "legacy_fundamental_rank": 84 + }, + "symbol": "FRT" + }, + { + "cik": "0001274494", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2412, + "candidate": 12.1951, + "definition_changed": true, + "legacy": 9.9539, + "material": true, + "relative_delta_pct": 22.5158 + }, + "pe_ratio": { + "absolute_delta": -0.1833, + "candidate": 13.3023, + "definition_changed": true, + "legacy": 13.4856, + "material": false, + "relative_delta_pct": -1.3592 + }, + "revenue_growth": { + "absolute_delta": 0.0049, + "candidate": 27.3049, + "definition_changed": true, + "legacy": 27.3, + "material": false, + "relative_delta_pct": 0.0179 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:46.317127+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0768, + "fundamental_rank_change": 9, + "legacy_fundamental": 99.9232, + "legacy_fundamental_rank": 10 + }, + "symbol": "FSLR" + }, + { + "cik": "0001262039", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.2261, + "candidate": 34.4262, + "definition_changed": true, + "legacy": 30.2001, + "material": true, + "relative_delta_pct": 13.9937 + }, + "pe_ratio": { + "absolute_delta": 1.7891, + "candidate": 58.7364, + "definition_changed": true, + "legacy": 56.9473, + "material": false, + "relative_delta_pct": 3.1417 + }, + "revenue_growth": { + "absolute_delta": -0.0016, + "candidate": 15.7484, + "definition_changed": true, + "legacy": 15.75, + "material": false, + "relative_delta_pct": -0.0102 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:50.427926+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 63.1237, + "candidate_fundamental_rank": 306, + "fundamental_delta": -0.0013, + "fundamental_rank_change": 7, + "legacy_fundamental": 63.125, + "legacy_fundamental_rank": 313 + }, + "symbol": "FTNT" + }, + { + "cik": "0001659166", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3336, + "candidate": 9.375, + "definition_changed": true, + "legacy": 8.0414, + "material": false, + "relative_delta_pct": 16.5842 + }, + "pe_ratio": { + "absolute_delta": 2.4602, + "candidate": 36.2994, + "definition_changed": true, + "legacy": 33.8392, + "material": false, + "relative_delta_pct": 7.2703 + }, + "revenue_growth": { + "absolute_delta": -15.9056, + "candidate": -39.2656, + "definition_changed": true, + "legacy": -23.36, + "material": true, + "relative_delta_pct": -68.089 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:54.610653+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 41.959, + "candidate_fundamental_rank": 457, + "fundamental_delta": -0.5109, + "fundamental_rank_change": 15, + "legacy_fundamental": 42.4699, + "legacy_fundamental_rank": 472 + }, + "symbol": "FTV" + }, + { + "cik": "0000040533", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.2136, + "candidate": 11.413, + "definition_changed": true, + "legacy": 8.1994, + "material": true, + "relative_delta_pct": 39.1931 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 23.9201, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 26.2281, + "candidate": 9.3481, + "definition_changed": true, + "legacy": -16.88, + "material": true, + "relative_delta_pct": 155.3797 + } + }, + "legacy_fetched_at": "2026-07-23T19:58:58.792700+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.6851, + "candidate_fundamental_rank": 67, + "fundamental_delta": 30.3306, + "fundamental_rank_change": 318, + "legacy_fundamental": 56.3544, + "legacy_fundamental_rank": 385 + }, + "symbol": "GD" + }, + { + "cik": "0001609711", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.335, + "candidate": 4.5752, + "definition_changed": true, + "legacy": 1.2402, + "material": true, + "relative_delta_pct": 268.9082 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 13.3399, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0021, + "candidate": 7.8279, + "definition_changed": true, + "legacy": 7.83, + "material": false, + "relative_delta_pct": -0.0268 + } + }, + "legacy_fetched_at": "2026-07-23T19:59:03.069856+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.2227, + "candidate_fundamental_rank": 224, + "fundamental_delta": -4.0359, + "fundamental_rank_change": -66, + "legacy_fundamental": 75.2587, + "legacy_fundamental_rank": 158 + }, + "symbol": "GDDY" + }, + { + "cik": "0000040545", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.1247, + "candidate": 8.6022, + "definition_changed": true, + "legacy": 5.4775, + "material": true, + "relative_delta_pct": 57.0461 + }, + "pe_ratio": { + "absolute_delta": 0.9134, + "candidate": 41.1557, + "definition_changed": true, + "legacy": 40.2423, + "material": false, + "relative_delta_pct": 2.2698 + }, + "revenue_growth": { + "absolute_delta": -0.0038, + "candidate": 21.6962, + "definition_changed": true, + "legacy": 21.7, + "material": false, + "relative_delta_pct": -0.0175 + } + }, + "legacy_fetched_at": "2026-07-23T19:59:07.673370+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.6084, + "candidate_fundamental_rank": 255, + "fundamental_delta": 4.1929, + "fundamental_rank_change": 42, + "legacy_fundamental": 64.4155, + "legacy_fundamental_rank": 297 + }, + "symbol": "GE" + }, + { + "cik": "0001932393", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.0692, + "candidate": -7.4766, + "definition_changed": true, + "legacy": -7.5458, + "material": false, + "relative_delta_pct": 0.9171 + }, + "pe_ratio": { + "absolute_delta": 0.2401, + "candidate": 14.8657, + "definition_changed": true, + "legacy": 14.6256, + "material": false, + "relative_delta_pct": 1.6416 + }, + "revenue_growth": { + "absolute_delta": -0.0101, + "candidate": 5.9599, + "definition_changed": true, + "legacy": 5.97, + "material": false, + "relative_delta_pct": -0.1692 + } + }, + "legacy_fetched_at": "2026-07-23T19:59:11.734601+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.1722, + "candidate_fundamental_rank": 356, + "fundamental_delta": 0.1069, + "fundamental_rank_change": -9, + "legacy_fundamental": 59.0653, + "legacy_fundamental_rank": 347 + }, + "symbol": "GEHC" + }, + { + "cik": "0000849399", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0672, + "candidate": 3.0769, + "definition_changed": true, + "legacy": 2.0097, + "material": false, + "relative_delta_pct": 53.1025 + }, + "pe_ratio": { + "absolute_delta": 0.1396, + "candidate": 15.9682, + "definition_changed": true, + "legacy": 15.8286, + "material": false, + "relative_delta_pct": 0.8819 + }, + "revenue_growth": { + "absolute_delta": 0.0048, + "candidate": 27.0648, + "definition_changed": true, + "legacy": 27.06, + "material": false, + "relative_delta_pct": 0.0177 + } + }, + "legacy_fetched_at": "2026-07-23T19:59:16.270851+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.3858, + "candidate_fundamental_rank": 58, + "fundamental_delta": 1.6236, + "fundamental_rank_change": 2, + "legacy_fundamental": 85.7622, + "legacy_fundamental_rank": 60 + }, + "symbol": "GEN" + }, + { + "cik": "0001996810", + "fields": { + "earnings_surprise": { + "absolute_delta": 26.4815, + "candidate": 7.6087, + "definition_changed": true, + "legacy": -18.8728, + "material": true, + "relative_delta_pct": 140.3157 + }, + "pe_ratio": { + "absolute_delta": 1.3265, + "candidate": 29.5639, + "definition_changed": true, + "legacy": 28.2374, + "material": false, + "relative_delta_pct": 4.6977 + }, + "revenue_growth": { + "absolute_delta": 2.7083, + "candidate": 12.9783, + "definition_changed": true, + "legacy": 10.27, + "material": true, + "relative_delta_pct": 26.371 + } + }, + "legacy_fetched_at": "2026-07-23T19:59:20.722820+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.9809, + "candidate_fundamental_rank": 199, + "fundamental_delta": 30.1308, + "fundamental_rank_change": 267, + "legacy_fundamental": 43.8501, + "legacy_fundamental_rank": 466 + }, + "symbol": "GEV" + }, + { + "cik": "0000882095", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.4381, + "candidate": 7.4074, + "definition_changed": true, + "legacy": 3.9693, + "material": true, + "relative_delta_pct": 86.6173 + }, + "pe_ratio": { + "absolute_delta": 0.3047, + "candidate": 17.8041, + "definition_changed": true, + "legacy": 17.4994, + "material": false, + "relative_delta_pct": 1.7412 + }, + "revenue_growth": { + "absolute_delta": 0.0036, + "candidate": 3.4836, + "definition_changed": true, + "legacy": 3.48, + "material": false, + "relative_delta_pct": 0.1034 + } + }, + "legacy_fetched_at": "2026-07-23T19:59:25.730177+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.7997, + "candidate_fundamental_rank": 140, + "fundamental_delta": 5.3946, + "fundamental_rank_change": 35, + "legacy_fundamental": 73.4051, + "legacy_fundamental_rank": 175 + }, + "symbol": "GILD" + }, + { + "cik": "0000040704", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.1294, + "candidate": 15.8537, + "definition_changed": true, + "legacy": 17.9831, + "material": true, + "relative_delta_pct": -11.8411 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0001, + "candidate": -5.4499, + "definition_changed": true, + "legacy": -5.45, + "material": false, + "relative_delta_pct": 0.0018 + } + }, + "legacy_fetched_at": "2026-07-23T20:01:39.113312+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.1876, + "candidate_fundamental_rank": 259, + "fundamental_delta": 0.0001, + "fundamental_rank_change": -14, + "legacy_fundamental": 68.1875, + "legacy_fundamental_rank": 245 + }, + "symbol": "GIS" + }, + { + "cik": "0000320335", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.8319, + "candidate": -0.8671, + "definition_changed": true, + "legacy": -4.699, + "material": true, + "relative_delta_pct": 81.5471 + }, + "pe_ratio": { + "absolute_delta": -0.2334, + "candidate": 11.8394, + "definition_changed": true, + "legacy": 12.0728, + "material": false, + "relative_delta_pct": -1.9333 + }, + "revenue_growth": { + "absolute_delta": -0.0033, + "candidate": 3.9567, + "definition_changed": true, + "legacy": 3.96, + "material": false, + "relative_delta_pct": -0.0833 + } + }, + "legacy_fetched_at": "2026-07-23T20:01:44.270380+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.5188, + "candidate_fundamental_rank": 256, + "fundamental_delta": 6.3838, + "fundamental_rank_change": 74, + "legacy_fundamental": 62.135, + "legacy_fundamental_rank": 330 + }, + "symbol": "GL" + }, + { + "cik": "0000024741", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.4592, + "candidate": 0.0, + "definition_changed": true, + "legacy": 0.4592, + "material": false, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 0.0249, + "candidate": 75.0288, + "definition_changed": true, + "legacy": 75.0039, + "material": false, + "relative_delta_pct": 0.0332 + }, + "revenue_growth": { + "absolute_delta": 0.0015, + "candidate": 20.0515, + "definition_changed": true, + "legacy": 20.05, + "material": false, + "relative_delta_pct": 0.0075 + } + }, + "legacy_fetched_at": "2026-07-23T20:01:49.108785+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.0, + "candidate_fundamental_rank": 420, + "fundamental_delta": -0.7653, + "fundamental_rank_change": 5, + "legacy_fundamental": 50.7653, + "legacy_fundamental_rank": 425 + }, + "symbol": "GLW" + }, + { + "cik": "0001467858", + "fields": { + "earnings_surprise": { + "absolute_delta": 33.354, + "candidate": 41.7625, + "definition_changed": true, + "legacy": 8.4085, + "material": true, + "relative_delta_pct": 396.67 + }, + "pe_ratio": { + "absolute_delta": -0.962, + "candidate": 36.0134, + "definition_changed": true, + "legacy": 36.9754, + "material": false, + "relative_delta_pct": -2.6017 + }, + "revenue_growth": { + "absolute_delta": -0.4748, + "candidate": -1.5848, + "definition_changed": true, + "legacy": -1.11, + "material": false, + "relative_delta_pct": -42.7748 + } + }, + "legacy_fetched_at": "2026-07-23T20:01:53.889783+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.6645, + "candidate_fundamental_rank": 360, + "fundamental_delta": 3.3257, + "fundamental_rank_change": 34, + "legacy_fundamental": 55.3387, + "legacy_fundamental_rank": 394 + }, + "symbol": "GM" + }, + { + "cik": "0001474735", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.5264, + "candidate": 35.3383, + "definition_changed": true, + "legacy": 32.8119, + "material": true, + "relative_delta_pct": 7.6996 + }, + "pe_ratio": { + "absolute_delta": 1.0704, + "candidate": 65.7812, + "definition_changed": true, + "legacy": 64.7108, + "material": false, + "relative_delta_pct": 1.6541 + }, + "revenue_growth": { + "absolute_delta": -0.0026, + "candidate": -0.5126, + "definition_changed": true, + "legacy": -0.51, + "material": false, + "relative_delta_pct": -0.5098 + } + }, + "legacy_fetched_at": "2026-07-23T20:01:58.717498+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 49.5728, + "candidate_fundamental_rank": 429, + "fundamental_delta": -0.0022, + "fundamental_rank_change": 6, + "legacy_fundamental": 49.575, + "legacy_fundamental_rank": 435 + }, + "symbol": "GNRC" + }, + { + "cik": "0001652044", + "fields": { + "earnings_surprise": { + "absolute_delta": -112.627, + "candidate": 93.5606, + "definition_changed": true, + "legacy": 206.1876, + "material": true, + "relative_delta_pct": -54.6236 + }, + "pe_ratio": { + "absolute_delta": 0.0406, + "candidate": 15.9729, + "definition_changed": true, + "legacy": 15.9323, + "material": false, + "relative_delta_pct": 0.2548 + }, + "revenue_growth": { + "absolute_delta": 0.0004, + "candidate": 20.0504, + "definition_changed": true, + "legacy": 20.05, + "material": false, + "relative_delta_pct": 0.002 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:49.732896+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 98.919, + "candidate_fundamental_rank": 15, + "fundamental_delta": -0.0451, + "fundamental_rank_change": -3, + "legacy_fundamental": 98.9641, + "legacy_fundamental_rank": 12 + }, + "symbol": "GOOG" + }, + { + "cik": "0001652044", + "fields": { + "earnings_surprise": { + "absolute_delta": -112.627, + "candidate": 93.5606, + "definition_changed": true, + "legacy": 206.1876, + "material": true, + "relative_delta_pct": -54.6236 + }, + "pe_ratio": { + "absolute_delta": 0.008, + "candidate": 15.9403, + "definition_changed": true, + "legacy": 15.9323, + "material": false, + "relative_delta_pct": 0.0502 + }, + "revenue_growth": { + "absolute_delta": 0.0004, + "candidate": 20.0504, + "definition_changed": true, + "legacy": 20.05, + "material": false, + "relative_delta_pct": 0.002 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:36.881473+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 98.9552, + "candidate_fundamental_rank": 14, + "fundamental_delta": -0.0089, + "fundamental_rank_change": -2, + "legacy_fundamental": 98.9641, + "legacy_fundamental_rank": 12 + }, + "symbol": "GOOGL" + }, + { + "cik": "0000040987", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.7716, + "candidate": -2.2099, + "definition_changed": true, + "legacy": 2.5617, + "material": true, + "relative_delta_pct": -186.2669 + }, + "pe_ratio": { + "absolute_delta": 203.8289, + "candidate": 480.2, + "definition_changed": true, + "legacy": 276.3711, + "material": true, + "relative_delta_pct": 73.7519 + }, + "revenue_growth": { + "absolute_delta": 0.6817, + "candidate": 5.4717, + "definition_changed": true, + "legacy": 4.79, + "material": false, + "relative_delta_pct": 14.2317 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:03.089725+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 34.2099, + "candidate_fundamental_rank": 467, + "fundamental_delta": -7.3846, + "fundamental_rank_change": 7, + "legacy_fundamental": 41.5945, + "legacy_fundamental_rank": 474 + }, + "symbol": "GPC" + }, + { + "cik": "0001123360", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3085, + "candidate": 4.9645, + "definition_changed": true, + "legacy": 3.656, + "material": false, + "relative_delta_pct": 35.7905 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 15.1453, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -5.6158, + "candidate": -18.1658, + "definition_changed": true, + "legacy": -12.55, + "material": true, + "relative_delta_pct": -44.7474 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:07.260763+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 39.7041, + "candidate_fundamental_rank": 464, + "fundamental_delta": -22.4361, + "fundamental_rank_change": -135, + "legacy_fundamental": 62.1402, + "legacy_fundamental_rank": 329 + }, + "symbol": "GPN" + }, + { + "cik": "0001121788", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9564, + "candidate": 13.0435, + "definition_changed": true, + "legacy": 12.0871, + "material": false, + "relative_delta_pct": 7.9126 + }, + "pe_ratio": { + "absolute_delta": -0.0355, + "candidate": 26.7969, + "definition_changed": true, + "legacy": 26.8324, + "material": false, + "relative_delta_pct": -0.1323 + }, + "revenue_growth": { + "absolute_delta": 0.0032, + "candidate": 15.7132, + "definition_changed": true, + "legacy": 15.71, + "material": false, + "relative_delta_pct": 0.0204 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:11.410767+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.32, + "candidate_fundamental_rank": 98, + "fundamental_delta": 0.0421, + "fundamental_rank_change": -23, + "legacy_fundamental": 83.2779, + "legacy_fundamental_rank": 75 + }, + "symbol": "GRMN" + }, + { + "cik": "0000886982", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.2815, + "candidate": 44.9896, + "definition_changed": true, + "legacy": 40.7081, + "material": true, + "relative_delta_pct": 10.5176 + }, + "pe_ratio": { + "absolute_delta": 4.398, + "candidate": 19.6296, + "definition_changed": true, + "legacy": 15.2316, + "material": true, + "relative_delta_pct": 28.8742 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 6.67, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:02:15.445711+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 92.284, + "candidate_fundamental_rank": 29, + "fundamental_delta": 3.6497, + "fundamental_rank_change": 11, + "legacy_fundamental": 88.6343, + "legacy_fundamental_rank": 40 + }, + "symbol": "GS" + }, + { + "cik": "0000277135", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2646, + "candidate": 14.2157, + "definition_changed": true, + "legacy": 12.9511, + "material": false, + "relative_delta_pct": 9.7644 + }, + "pe_ratio": { + "absolute_delta": 0.5557, + "candidate": 36.7696, + "definition_changed": true, + "legacy": 36.2139, + "material": false, + "relative_delta_pct": 1.5345 + }, + "revenue_growth": { + "absolute_delta": -0.0029, + "candidate": 6.6071, + "definition_changed": true, + "legacy": 6.61, + "material": false, + "relative_delta_pct": -0.0439 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:19.842297+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.6509, + "candidate_fundamental_rank": 295, + "fundamental_delta": -0.6198, + "fundamental_rank_change": -5, + "legacy_fundamental": 65.2707, + "legacy_fundamental_rank": 290 + }, + "symbol": "GWW" + }, + { + "cik": "0000045012", + "fields": { + "earnings_surprise": { + "absolute_delta": 10.7876, + "candidate": 12.2449, + "definition_changed": true, + "legacy": 1.4573, + "material": true, + "relative_delta_pct": 740.2457 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 18.0072, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -1.72, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:02:24.294105+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 64.3208, + "legacy_fundamental_rank": 298 + }, + "symbol": "HAL" + }, + { + "cik": "0000046080", + "fields": { + "earnings_surprise": { + "absolute_delta": 19.9553, + "candidate": 31.25, + "definition_changed": true, + "legacy": 11.2947, + "material": true, + "relative_delta_pct": 176.6784 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 15.5228, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -4.1163, + "candidate": 12.8737, + "definition_changed": true, + "legacy": 16.99, + "material": true, + "relative_delta_pct": -24.2278 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:28.282755+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 91.0921, + "candidate_fundamental_rank": 34, + "fundamental_delta": -5.8187, + "fundamental_rank_change": -14, + "legacy_fundamental": 96.9108, + "legacy_fundamental_rank": 20 + }, + "symbol": "HAS" + }, + { + "cik": "0000049196", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.1668, + "candidate": 2.7778, + "definition_changed": true, + "legacy": 3.9446, + "material": false, + "relative_delta_pct": -29.5797 + }, + "pe_ratio": { + "absolute_delta": -3.4883, + "candidate": 13.3846, + "definition_changed": true, + "legacy": 16.8729, + "material": true, + "relative_delta_pct": -20.674 + }, + "revenue_growth": { + "absolute_delta": -45.4717, + "candidate": 13.4862, + "definition_changed": true, + "legacy": 58.9579, + "material": true, + "relative_delta_pct": -77.1257 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:32.578433+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.5348, + "candidate_fundamental_rank": 103, + "fundamental_delta": -5.2919, + "fundamental_rank_change": -57, + "legacy_fundamental": 87.8267, + "legacy_fundamental_rank": 46 + }, + "symbol": "HBAN" + }, + { + "cik": "0000860730", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.3064, + "candidate": -0.2789, + "definition_changed": true, + "legacy": 1.0275, + "material": false, + "relative_delta_pct": -127.1436 + }, + "pe_ratio": { + "absolute_delta": 0.7936, + "candidate": 12.9693, + "definition_changed": true, + "legacy": 12.1757, + "material": false, + "relative_delta_pct": 6.5179 + }, + "revenue_growth": { + "absolute_delta": -0.0005, + "candidate": 6.7095, + "definition_changed": true, + "legacy": 6.71, + "material": false, + "relative_delta_pct": -0.0075 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:36.695443+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.793, + "candidate_fundamental_rank": 219, + "fundamental_delta": -2.1778, + "fundamental_rank_change": -48, + "legacy_fundamental": 73.9708, + "legacy_fundamental_rank": 171 + }, + "symbol": "HCA" + }, + { + "cik": "0000354950", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0836, + "candidate": 0.8824, + "definition_changed": true, + "legacy": -2.2012, + "material": true, + "relative_delta_pct": 140.0872 + }, + "pe_ratio": { + "absolute_delta": -0.1045, + "candidate": 23.0618, + "definition_changed": true, + "legacy": 23.1663, + "material": false, + "relative_delta_pct": -0.4511 + }, + "revenue_growth": { + "absolute_delta": 0.0038, + "candidate": 2.2338, + "definition_changed": true, + "legacy": 2.23, + "material": false, + "relative_delta_pct": 0.1704 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:53.937422+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.0412, + "candidate_fundamental_rank": 327, + "fundamental_delta": 5.2585, + "fundamental_rank_change": 64, + "legacy_fundamental": 55.7827, + "legacy_fundamental_rank": 391 + }, + "symbol": "HD" + }, + { + "cik": "0000874766", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.9673, + "candidate": -6.079, + "definition_changed": true, + "legacy": -10.0463, + "material": true, + "relative_delta_pct": 39.4902 + }, + "pe_ratio": { + "absolute_delta": 0.5224, + "candidate": 10.0056, + "definition_changed": true, + "legacy": 9.4832, + "material": false, + "relative_delta_pct": 5.5087 + }, + "revenue_growth": { + "absolute_delta": -2.8239, + "candidate": 4.0761, + "definition_changed": true, + "legacy": 6.9, + "material": true, + "relative_delta_pct": -40.9261 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:40.751609+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.9317, + "candidate_fundamental_rank": 342, + "fundamental_delta": 4.1817, + "fundamental_rank_change": 50, + "legacy_fundamental": 55.75, + "legacy_fundamental_rank": 392 + }, + "symbol": "HIG" + }, + { + "cik": "0001501585", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.554, + "candidate": 2.4324, + "definition_changed": true, + "legacy": 0.8784, + "material": false, + "relative_delta_pct": 176.9126 + }, + "pe_ratio": { + "absolute_delta": 0.5949, + "candidate": 18.6543, + "definition_changed": true, + "legacy": 18.0594, + "material": false, + "relative_delta_pct": 3.2941 + }, + "revenue_growth": { + "absolute_delta": 0.0013, + "candidate": 12.0813, + "definition_changed": true, + "legacy": 12.08, + "material": false, + "relative_delta_pct": 0.0108 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:44.910478+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.7281, + "candidate_fundamental_rank": 164, + "fundamental_delta": 1.9301, + "fundamental_rank_change": -1, + "legacy_fundamental": 74.798, + "legacy_fundamental_rank": 163 + }, + "symbol": "HII" + }, + { + "cik": "0001585689", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3782, + "candidate": 2.551, + "definition_changed": true, + "legacy": 1.1728, + "material": false, + "relative_delta_pct": 117.5136 + }, + "pe_ratio": { + "absolute_delta": 0.7825, + "candidate": 48.8824, + "definition_changed": true, + "legacy": 48.0999, + "material": false, + "relative_delta_pct": 1.6268 + }, + "revenue_growth": { + "absolute_delta": -0.0001, + "candidate": 8.7199, + "definition_changed": true, + "legacy": 8.72, + "material": false, + "relative_delta_pct": -0.0011 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:49.064273+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 44.8516, + "candidate_fundamental_rank": 449, + "fundamental_delta": 2.297, + "fundamental_rank_change": 21, + "legacy_fundamental": 42.5547, + "legacy_fundamental_rank": 470 + }, + "symbol": "HLT" + }, + { + "cik": "0000773840", + "fields": { + "earnings_surprise": { + "absolute_delta": 65.9462, + "candidate": 6.0606, + "definition_changed": true, + "legacy": -59.8856, + "material": true, + "relative_delta_pct": 110.1203 + }, + "pe_ratio": { + "absolute_delta": 21.9363, + "candidate": 38.3002, + "definition_changed": true, + "legacy": 16.3639, + "material": true, + "relative_delta_pct": 134.053 + }, + "revenue_growth": { + "absolute_delta": -9.8127, + "candidate": -6.2527, + "definition_changed": true, + "legacy": 3.56, + "material": true, + "relative_delta_pct": -275.6376 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:53.114394+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 45.668, + "candidate_fundamental_rank": 445, + "fundamental_delta": -5.7832, + "fundamental_rank_change": -28, + "legacy_fundamental": 51.4512, + "legacy_fundamental_rank": 417 + }, + "symbol": "HON" + }, + { + "cik": "0002089271", + "fields": { + "earnings_surprise": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 41.98, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T19:33:46.221337+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": null, + "legacy_fundamental_rank": null + }, + "symbol": "HONA" + }, + { + "cik": "0001783879", + "fields": { + "earnings_surprise": { + "absolute_delta": 7.5029, + "candidate": -5.0, + "definition_changed": true, + "legacy": -12.5029, + "material": true, + "relative_delta_pct": 60.0093 + }, + "pe_ratio": { + "absolute_delta": -0.33, + "candidate": 49.3107, + "definition_changed": true, + "legacy": 49.6407, + "material": false, + "relative_delta_pct": -0.6648 + }, + "revenue_growth": { + "absolute_delta": 0.0031, + "candidate": 41.5031, + "definition_changed": true, + "legacy": 41.5, + "material": false, + "relative_delta_pct": 0.0075 + } + }, + "legacy_fetched_at": "2026-07-23T20:02:57.487071+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 41.6667, + "candidate_fundamental_rank": 458, + "fundamental_delta": 8.3333, + "fundamental_rank_change": 32, + "legacy_fundamental": 33.3333, + "legacy_fundamental_rank": 490 + }, + "symbol": "HOOD" + }, + { + "cik": "0001645590", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.1084, + "candidate": 46.2963, + "definition_changed": true, + "legacy": 46.4047, + "material": false, + "relative_delta_pct": -0.2336 + }, + "pe_ratio": { + "absolute_delta": 2.8229, + "candidate": 44.5234, + "definition_changed": true, + "legacy": 41.7005, + "material": false, + "relative_delta_pct": 6.7695 + }, + "revenue_growth": { + "absolute_delta": -0.0042, + "candidate": 22.5758, + "definition_changed": true, + "legacy": 22.58, + "material": false, + "relative_delta_pct": -0.0186 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:01.903276+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 67.1963, + "candidate_fundamental_rank": 265, + "fundamental_delta": -3.1365, + "fundamental_rank_change": -42, + "legacy_fundamental": 70.3328, + "legacy_fundamental_rank": 223 + }, + "symbol": "HPE" + }, + { + "cik": "0000047217", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.3328, + "candidate": 19.4444, + "definition_changed": true, + "legacy": 19.7772, + "material": false, + "relative_delta_pct": -1.6827 + }, + "pe_ratio": { + "absolute_delta": 0.2102, + "candidate": 9.0778, + "definition_changed": true, + "legacy": 8.8676, + "material": false, + "relative_delta_pct": 2.3704 + }, + "revenue_growth": { + "absolute_delta": 0.0042, + "candidate": 5.7442, + "definition_changed": true, + "legacy": 5.74, + "material": false, + "relative_delta_pct": 0.0732 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:06.022867+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.1202, + "candidate_fundamental_rank": 51, + "fundamental_delta": 0.0035, + "fundamental_rank_change": -8, + "legacy_fundamental": 88.1167, + "legacy_fundamental_rank": 43 + }, + "symbol": "HPQ" + }, + { + "cik": "0000048465", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.2363, + "candidate": 14.2857, + "definition_changed": true, + "legacy": 11.0494, + "material": true, + "relative_delta_pct": 29.2894 + }, + "pe_ratio": { + "absolute_delta": 0.115, + "candidate": 29.4353, + "definition_changed": true, + "legacy": 29.3203, + "material": false, + "relative_delta_pct": 0.3922 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 2.47, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:03:10.277993+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.9412, + "candidate_fundamental_rank": 173, + "fundamental_delta": 6.461, + "fundamental_rank_change": 60, + "legacy_fundamental": 69.4802, + "legacy_fundamental_rank": 233 + }, + "symbol": "HRL" + }, + { + "cik": "0001000228", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.6941, + "candidate": 10.0, + "definition_changed": true, + "legacy": 6.3059, + "material": true, + "relative_delta_pct": 58.5816 + }, + "pe_ratio": { + "absolute_delta": 1.4653, + "candidate": 25.5378, + "definition_changed": true, + "legacy": 24.0725, + "material": false, + "relative_delta_pct": 6.087 + }, + "revenue_growth": { + "absolute_delta": 0.0037, + "candidate": 5.6437, + "definition_changed": true, + "legacy": 5.64, + "material": false, + "relative_delta_pct": 0.0656 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:14.360133+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.3278, + "candidate_fundamental_rank": 170, + "fundamental_delta": 4.5318, + "fundamental_rank_change": 30, + "legacy_fundamental": 71.7959, + "legacy_fundamental_rank": 200 + }, + "symbol": "HSIC" + }, + { + "cik": "0001070750", + "fields": { + "earnings_surprise": { + "absolute_delta": -53.0839, + "candidate": 6.3492, + "definition_changed": true, + "legacy": 59.4331, + "material": true, + "relative_delta_pct": -89.3171 + }, + "pe_ratio": { + "absolute_delta": -0.2977, + "candidate": 16.2993, + "definition_changed": true, + "legacy": 16.597, + "material": false, + "relative_delta_pct": -1.7937 + }, + "revenue_growth": { + "absolute_delta": 0.005, + "candidate": 6.165, + "definition_changed": true, + "legacy": 6.16, + "material": false, + "relative_delta_pct": 0.0812 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:18.699938+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.9425, + "candidate_fundamental_rank": 121, + "fundamental_delta": -5.7498, + "fundamental_rank_change": -68, + "legacy_fundamental": 86.6922, + "legacy_fundamental_rank": 53 + }, + "symbol": "HST" + }, + { + "cik": "0000047111", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8437, + "candidate": 14.6341, + "definition_changed": true, + "legacy": 13.7904, + "material": false, + "relative_delta_pct": 6.118 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 31.6948, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 8.726, + "candidate": 11.496, + "definition_changed": true, + "legacy": 2.77, + "material": true, + "relative_delta_pct": 315.0181 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:23.523193+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 89.37, + "candidate_fundamental_rank": 42, + "fundamental_delta": 22.2782, + "fundamental_rank_change": 213, + "legacy_fundamental": 67.0919, + "legacy_fundamental_rank": 255 + }, + "symbol": "HSY" + }, + { + "cik": "0000048898", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3681, + "candidate": 1.5504, + "definition_changed": true, + "legacy": -0.8177, + "material": true, + "relative_delta_pct": 289.605 + }, + "pe_ratio": { + "absolute_delta": 0.8891, + "candidate": 29.0702, + "definition_changed": true, + "legacy": 28.1811, + "material": false, + "relative_delta_pct": 3.155 + }, + "revenue_growth": { + "absolute_delta": -0.0034, + "candidate": 7.1766, + "definition_changed": true, + "legacy": 7.18, + "material": false, + "relative_delta_pct": -0.0474 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:28.018940+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.5975, + "candidate_fundamental_rank": 348, + "fundamental_delta": 2.956, + "fundamental_rank_change": 30, + "legacy_fundamental": 56.6415, + "legacy_fundamental_rank": 378 + }, + "symbol": "HUBB" + }, + { + "cik": "0000049071", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.2012, + "candidate": 3.4102, + "definition_changed": true, + "legacy": 0.209, + "material": true, + "relative_delta_pct": 1531.6746 + }, + "pe_ratio": { + "absolute_delta": 0.3562, + "candidate": 42.1025, + "definition_changed": true, + "legacy": 41.7463, + "material": false, + "relative_delta_pct": 0.8532 + }, + "revenue_growth": { + "absolute_delta": 0.0042, + "candidate": 14.0842, + "definition_changed": true, + "legacy": 14.08, + "material": false, + "relative_delta_pct": 0.0298 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:32.261784+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.9734, + "candidate_fundamental_rank": 389, + "fundamental_delta": 4.9432, + "fundamental_rank_change": 50, + "legacy_fundamental": 49.0302, + "legacy_fundamental_rank": 439 + }, + "symbol": "HUM" + }, + { + "cik": "0000004281", + "fields": { + "earnings_surprise": { + "absolute_delta": -31.5874, + "candidate": -22.5225, + "definition_changed": true, + "legacy": 9.0649, + "material": true, + "relative_delta_pct": -348.4583 + }, + "pe_ratio": { + "absolute_delta": 2.2236, + "candidate": 66.6102, + "definition_changed": true, + "legacy": 64.3866, + "material": false, + "relative_delta_pct": 3.4535 + }, + "revenue_growth": { + "absolute_delta": 0.0022, + "candidate": 14.2422, + "definition_changed": true, + "legacy": 14.24, + "material": false, + "relative_delta_pct": 0.0154 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:36.391124+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 28.5352, + "candidate_fundamental_rank": 475, + "fundamental_delta": -31.773, + "fundamental_rank_change": -137, + "legacy_fundamental": 60.3082, + "legacy_fundamental_rank": 338 + }, + "symbol": "HWM" + }, + { + "cik": "0001381197", + "fields": { + "earnings_surprise": { + "absolute_delta": -9.2166, + "candidate": -3.2258, + "definition_changed": true, + "legacy": 5.9908, + "material": true, + "relative_delta_pct": -153.8459 + }, + "pe_ratio": { + "absolute_delta": -35.5289, + "candidate": 105.4713, + "definition_changed": true, + "legacy": 141.0002, + "material": true, + "relative_delta_pct": -25.1978 + }, + "revenue_growth": { + "absolute_delta": 3.7214, + "candidate": 19.5214, + "definition_changed": true, + "legacy": 15.8, + "material": true, + "relative_delta_pct": 23.5532 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:40.866743+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 44.2248, + "candidate_fundamental_rank": 451, + "fundamental_delta": -12.2599, + "fundamental_rank_change": -70, + "legacy_fundamental": 56.4847, + "legacy_fundamental_rank": 381 + }, + "symbol": "IBKR" + }, + { + "cik": "0000051143", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.2441, + "candidate": 5.5249, + "definition_changed": true, + "legacy": -2.7192, + "material": true, + "relative_delta_pct": 303.1811 + }, + "pe_ratio": { + "absolute_delta": 0.2152, + "candidate": 18.3038, + "definition_changed": true, + "legacy": 18.0886, + "material": false, + "relative_delta_pct": 1.1897 + }, + "revenue_growth": { + "absolute_delta": -0.0082, + "candidate": 7.8918, + "definition_changed": true, + "legacy": 7.9, + "material": false, + "relative_delta_pct": -0.1038 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:45.346770+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.7804, + "candidate_fundamental_rank": 141, + "fundamental_delta": 13.4942, + "fundamental_rank_change": 148, + "legacy_fundamental": 65.2862, + "legacy_fundamental_rank": 289 + }, + "symbol": "IBM" + }, + { + "cik": "0001571949", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.621, + "candidate": 3.5242, + "definition_changed": true, + "legacy": 2.9032, + "material": false, + "relative_delta_pct": 21.3902 + }, + "pe_ratio": { + "absolute_delta": 0.3996, + "candidate": 20.8457, + "definition_changed": true, + "legacy": 20.4461, + "material": false, + "relative_delta_pct": 1.9544 + }, + "revenue_growth": { + "absolute_delta": -0.0047, + "candidate": 7.2853, + "definition_changed": true, + "legacy": 7.29, + "material": false, + "relative_delta_pct": -0.0645 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:49.466743+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.1162, + "candidate_fundamental_rank": 217, + "fundamental_delta": 0.5871, + "fundamental_rank_change": -15, + "legacy_fundamental": 71.5291, + "legacy_fundamental_rank": 202 + }, + "symbol": "ICE" + }, + { + "cik": "0000874716", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3668, + "candidate": 1.462, + "definition_changed": true, + "legacy": 0.0952, + "material": false, + "relative_delta_pct": 1435.7143 + }, + "pe_ratio": { + "absolute_delta": 0.8502, + "candidate": 39.6884, + "definition_changed": true, + "legacy": 38.8382, + "material": false, + "relative_delta_pct": 2.1891 + }, + "revenue_growth": { + "absolute_delta": -0.0006, + "candidate": 13.0794, + "definition_changed": true, + "legacy": 13.08, + "material": false, + "relative_delta_pct": -0.0046 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:53.728325+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.5713, + "candidate_fundamental_rank": 400, + "fundamental_delta": 1.3328, + "fundamental_rank_change": 20, + "legacy_fundamental": 51.2384, + "legacy_fundamental_rank": 420 + }, + "symbol": "IDXX" + }, + { + "cik": "0000832101", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.659, + "candidate": 12.3596, + "definition_changed": true, + "legacy": 11.7006, + "material": false, + "relative_delta_pct": 5.6322 + }, + "pe_ratio": { + "absolute_delta": 0.3802, + "candidate": 32.8728, + "definition_changed": true, + "legacy": 32.4926, + "material": false, + "relative_delta_pct": 1.1701 + }, + "revenue_growth": { + "absolute_delta": -0.0002, + "candidate": 7.5398, + "definition_changed": true, + "legacy": 7.54, + "material": false, + "relative_delta_pct": -0.0027 + } + }, + "legacy_fetched_at": "2026-07-23T20:03:57.788628+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.7578, + "candidate_fundamental_rank": 246, + "fundamental_delta": -0.4226, + "fundamental_rank_change": -21, + "legacy_fundamental": 70.1804, + "legacy_fundamental_rank": 225 + }, + "symbol": "IEX" + }, + { + "cik": "0000051253", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4058, + "candidate": 15.7407, + "definition_changed": true, + "legacy": 15.3349, + "material": false, + "relative_delta_pct": 2.6463 + }, + "pe_ratio": { + "absolute_delta": 1.1052, + "candidate": 22.839, + "definition_changed": true, + "legacy": 21.7338, + "material": false, + "relative_delta_pct": 5.0852 + }, + "revenue_growth": { + "absolute_delta": -0.0003, + "candidate": -5.6003, + "definition_changed": true, + "legacy": -5.6, + "material": false, + "relative_delta_pct": -0.0054 + } + }, + "legacy_fetched_at": "2026-07-23T20:04:01.910973+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.9564, + "candidate_fundamental_rank": 242, + "fundamental_delta": -1.2282, + "fundamental_rank_change": -31, + "legacy_fundamental": 71.1847, + "legacy_fundamental_rank": 211 + }, + "symbol": "IFF" + }, + { + "cik": "0000879169", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7258, + "candidate": 31.1594, + "definition_changed": true, + "legacy": 29.4336, + "material": false, + "relative_delta_pct": 5.8634 + }, + "pe_ratio": { + "absolute_delta": 0.2579, + "candidate": 16.4816, + "definition_changed": true, + "legacy": 16.2237, + "material": false, + "relative_delta_pct": 1.5896 + }, + "revenue_growth": { + "absolute_delta": -0.0038, + "candidate": 21.4762, + "definition_changed": true, + "legacy": 21.48, + "material": false, + "relative_delta_pct": -0.0177 + } + }, + "legacy_fetched_at": "2026-07-23T20:04:05.974426+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 98.3537, + "candidate_fundamental_rank": 17, + "fundamental_delta": -0.2866, + "fundamental_rank_change": -3, + "legacy_fundamental": 98.6403, + "legacy_fundamental_rank": 14 + }, + "symbol": "INCY" + }, + { + "cik": "0000050863", + "fields": { + "earnings_surprise": { + "absolute_delta": 828.5714, + "candidate": 2800.0, + "definition_changed": true, + "legacy": 1971.4286, + "material": true, + "relative_delta_pct": 42.029 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0045, + "candidate": 1.3555, + "definition_changed": true, + "legacy": 1.36, + "material": false, + "relative_delta_pct": -0.3309 + } + }, + "legacy_fetched_at": "2026-07-23T20:06:02.912932+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.6943, + "candidate_fundamental_rank": 165, + "fundamental_delta": -0.0057, + "fundamental_rank_change": -22, + "legacy_fundamental": 76.7, + "legacy_fundamental_rank": 143 + }, + "symbol": "INTC" + }, + { + "cik": "0000896878", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.7388, + "candidate": 2.5641, + "definition_changed": true, + "legacy": -0.1747, + "material": true, + "relative_delta_pct": 1567.7161 + }, + "pe_ratio": { + "absolute_delta": 0.281, + "candidate": 17.1769, + "definition_changed": true, + "legacy": 16.8959, + "material": false, + "relative_delta_pct": 1.6631 + }, + "revenue_growth": { + "absolute_delta": 0.0037, + "candidate": 15.0737, + "definition_changed": true, + "legacy": 15.07, + "material": false, + "relative_delta_pct": 0.0246 + } + }, + "legacy_fetched_at": "2026-07-23T20:46:58.538336+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.0828, + "candidate_fundamental_rank": 119, + "fundamental_delta": 4.2555, + "fundamental_rank_change": 20, + "legacy_fundamental": 76.8273, + "legacy_fundamental_rank": 139 + }, + "symbol": "INTU" + }, + { + "cik": "0001687229", + "fields": { + "earnings_surprise": { + "absolute_delta": -42.3098, + "candidate": 0.0, + "definition_changed": true, + "legacy": 42.3098, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 0.8535, + "candidate": 30.9895, + "definition_changed": true, + "legacy": 30.136, + "material": false, + "relative_delta_pct": 2.8322 + }, + "revenue_growth": { + "absolute_delta": -26.0807, + "candidate": -20.7307, + "definition_changed": true, + "legacy": 5.35, + "material": true, + "relative_delta_pct": -487.4897 + } + }, + "legacy_fetched_at": "2026-07-23T20:06:06.938689+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 32.2339, + "candidate_fundamental_rank": 472, + "fundamental_delta": -38.74, + "fundamental_rank_change": -257, + "legacy_fundamental": 70.9739, + "legacy_fundamental_rank": 215 + }, + "symbol": "INVH" + }, + { + "cik": "0000051434", + "fields": { + "earnings_surprise": { + "absolute_delta": -20.0437, + "candidate": -16.6667, + "definition_changed": true, + "legacy": 3.377, + "material": true, + "relative_delta_pct": -593.5357 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 24.9196, + "candidate": 19.1096, + "definition_changed": true, + "legacy": -5.81, + "material": true, + "relative_delta_pct": 428.9088 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:04.264086+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 48.887, + "candidate_fundamental_rank": 431, + "fundamental_delta": -2.293, + "fundamental_rank_change": -9, + "legacy_fundamental": 51.18, + "legacy_fundamental_rank": 422 + }, + "symbol": "IP" + }, + { + "cik": "0001478242", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5582, + "candidate": 2.4735, + "definition_changed": true, + "legacy": 1.9153, + "material": false, + "relative_delta_pct": 29.1443 + }, + "pe_ratio": { + "absolute_delta": 1.777, + "candidate": 25.754, + "definition_changed": true, + "legacy": 23.977, + "material": false, + "relative_delta_pct": 7.4113 + }, + "revenue_growth": { + "absolute_delta": 0.004, + "candidate": 7.324, + "definition_changed": true, + "legacy": 7.32, + "material": false, + "relative_delta_pct": 0.0546 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:08.269737+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.9436, + "candidate_fundamental_rank": 293, + "fundamental_delta": -1.0408, + "fundamental_rank_change": -11, + "legacy_fundamental": 65.9844, + "legacy_fundamental_rank": 282 + }, + "symbol": "IQV" + }, + { + "cik": "0001699150", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0837, + "candidate": 4.0541, + "definition_changed": true, + "legacy": 0.9704, + "material": true, + "relative_delta_pct": 317.7762 + }, + "pe_ratio": { + "absolute_delta": 1.189, + "candidate": 56.9662, + "definition_changed": true, + "legacy": 55.7772, + "material": false, + "relative_delta_pct": 2.1317 + }, + "revenue_growth": { + "absolute_delta": 0.001, + "candidate": 6.861, + "definition_changed": true, + "legacy": 6.86, + "material": false, + "relative_delta_pct": 0.0146 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:12.545592+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 45.8076, + "candidate_fundamental_rank": 444, + "fundamental_delta": 5.1403, + "fundamental_rank_change": 34, + "legacy_fundamental": 40.6673, + "legacy_fundamental_rank": 478 + }, + "symbol": "IR" + }, + { + "cik": "0001020569", + "fields": { + "earnings_surprise": { + "absolute_delta": -72.1748, + "candidate": -56.8345, + "definition_changed": true, + "legacy": 15.3403, + "material": true, + "relative_delta_pct": -470.4915 + }, + "pe_ratio": { + "absolute_delta": -1.7106, + "candidate": 135.3804, + "definition_changed": true, + "legacy": 137.091, + "material": false, + "relative_delta_pct": -1.2478 + }, + "revenue_growth": { + "absolute_delta": -0.0025, + "candidate": 15.6375, + "definition_changed": true, + "legacy": 15.64, + "material": false, + "relative_delta_pct": -0.016 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:16.781928+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 29.698, + "candidate_fundamental_rank": 474, + "fundamental_delta": -33.3354, + "fundamental_rank_change": -159, + "legacy_fundamental": 63.0333, + "legacy_fundamental_rank": 315 + }, + "symbol": "IRM" + }, + { + "cik": "0001035267", + "fields": { + "earnings_surprise": { + "absolute_delta": 10.4013, + "candidate": 20.1923, + "definition_changed": true, + "legacy": 9.791, + "material": true, + "relative_delta_pct": 106.2333 + }, + "pe_ratio": { + "absolute_delta": 0.7152, + "candidate": 38.0757, + "definition_changed": true, + "legacy": 37.3605, + "material": false, + "relative_delta_pct": 1.9143 + }, + "revenue_growth": { + "absolute_delta": 0.0005, + "candidate": 20.6605, + "definition_changed": true, + "legacy": 20.66, + "material": false, + "relative_delta_pct": 0.0024 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:20.964704+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.3603, + "candidate_fundamental_rank": 195, + "fundamental_delta": -0.4463, + "fundamental_rank_change": -33, + "legacy_fundamental": 74.8067, + "legacy_fundamental_rank": 162 + }, + "symbol": "ISRG" + }, + { + "cik": "0000749251", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3886, + "candidate": 11.0368, + "definition_changed": true, + "legacy": 10.6482, + "material": false, + "relative_delta_pct": 3.6494 + }, + "pe_ratio": { + "absolute_delta": 1.4317, + "candidate": 13.2105, + "definition_changed": true, + "legacy": 11.7788, + "material": true, + "relative_delta_pct": 12.1549 + }, + "revenue_growth": { + "absolute_delta": -0.0006, + "candidate": 2.2994, + "definition_changed": true, + "legacy": 2.3, + "material": false, + "relative_delta_pct": -0.0261 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:25.045106+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.2495, + "candidate_fundamental_rank": 83, + "fundamental_delta": -0.0005, + "fundamental_rank_change": -21, + "legacy_fundamental": 85.25, + "legacy_fundamental_rank": 62 + }, + "symbol": "IT" + }, + { + "cik": "0000049826", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5912, + "candidate": 4.3137, + "definition_changed": true, + "legacy": 2.7225, + "material": false, + "relative_delta_pct": 58.4463 + }, + "pe_ratio": { + "absolute_delta": 0.5425, + "candidate": 25.7112, + "definition_changed": true, + "legacy": 25.1687, + "material": false, + "relative_delta_pct": 2.1555 + }, + "revenue_growth": { + "absolute_delta": -0.001, + "candidate": 2.899, + "definition_changed": true, + "legacy": 2.9, + "material": false, + "relative_delta_pct": -0.0345 + } + }, + "legacy_fetched_at": "2026-07-23T20:08:29.266751+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.3707, + "candidate_fundamental_rank": 299, + "fundamental_delta": 2.0484, + "fundamental_rank_change": 27, + "legacy_fundamental": 62.3223, + "legacy_fundamental_rank": 326 + }, + "symbol": "ITW" + }, + { + "cik": "0000914208", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.633, + "candidate": -1.7241, + "definition_changed": true, + "legacy": -3.3571, + "material": false, + "relative_delta_pct": 48.6432 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 26.8031, + "candidate": 7.7031, + "definition_changed": true, + "legacy": -19.1, + "material": true, + "relative_delta_pct": 140.3304 + } + }, + "legacy_fetched_at": "2026-07-23T20:10:26.235489+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.3185, + "candidate_fundamental_rank": 380, + "fundamental_delta": 37.5863, + "fundamental_rank_change": 124, + "legacy_fundamental": 17.7323, + "legacy_fundamental_rank": 504 + }, + "symbol": "IVZ" + }, + { + "cik": "0000052988", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7283, + "candidate": 6.7073, + "definition_changed": true, + "legacy": 4.979, + "material": false, + "relative_delta_pct": 34.7118 + }, + "pe_ratio": { + "absolute_delta": 0.5997, + "candidate": 40.9938, + "definition_changed": true, + "legacy": 40.3941, + "material": false, + "relative_delta_pct": 1.4846 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 30.77, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:10:30.408253+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 48.4453, + "candidate_fundamental_rank": 433, + "fundamental_delta": -14.9707, + "fundamental_rank_change": -124, + "legacy_fundamental": 63.416, + "legacy_fundamental_rank": 309 + }, + "symbol": "J" + }, + { + "cik": "0000728535", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.8168, + "candidate": 11.6959, + "definition_changed": true, + "legacy": 7.8791, + "material": true, + "relative_delta_pct": 48.4421 + }, + "pe_ratio": { + "absolute_delta": 0.7027, + "candidate": 44.9332, + "definition_changed": true, + "legacy": 44.2305, + "material": false, + "relative_delta_pct": 1.5887 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 0.58, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:10:34.724282+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.1113, + "candidate_fundamental_rank": 419, + "fundamental_delta": 2.3078, + "fundamental_rank_change": 33, + "legacy_fundamental": 47.8035, + "legacy_fundamental_rank": 452 + }, + "symbol": "JBHT" + }, + { + "cik": "0000898293", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3333, + "candidate": 1.2821, + "definition_changed": true, + "legacy": 0.9488, + "material": false, + "relative_delta_pct": 35.1286 + }, + "pe_ratio": { + "absolute_delta": 1.3306, + "candidate": 40.3054, + "definition_changed": true, + "legacy": 38.9748, + "material": false, + "relative_delta_pct": 3.414 + }, + "revenue_growth": { + "absolute_delta": 0.0018, + "candidate": 17.8018, + "definition_changed": true, + "legacy": 17.8, + "material": false, + "relative_delta_pct": 0.0101 + } + }, + "legacy_fetched_at": "2026-07-23T20:10:39.118585+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.5211, + "candidate_fundamental_rank": 377, + "fundamental_delta": -0.9215, + "fundamental_rank_change": 5, + "legacy_fundamental": 56.4427, + "legacy_fundamental_rank": 382 + }, + "symbol": "JBL" + }, + { + "cik": "0000833444", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.819, + "candidate": 6.25, + "definition_changed": true, + "legacy": 5.431, + "material": false, + "relative_delta_pct": 15.0801 + }, + "pe_ratio": { + "absolute_delta": 1.1446, + "candidate": 25.8646, + "definition_changed": true, + "legacy": 24.72, + "material": false, + "relative_delta_pct": 4.6303 + }, + "revenue_growth": { + "absolute_delta": 18.3093, + "candidate": 14.9193, + "definition_changed": true, + "legacy": -3.39, + "material": true, + "relative_delta_pct": 540.0973 + } + }, + "legacy_fetched_at": "2026-07-23T20:10:43.286891+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.4443, + "candidate_fundamental_rank": 154, + "fundamental_delta": 15.351, + "fundamental_rank_change": 177, + "legacy_fundamental": 62.0933, + "legacy_fundamental_rank": 331 + }, + "symbol": "JCI" + }, + { + "cik": "0000779152", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.6996, + "candidate": 19.5804, + "definition_changed": true, + "legacy": 14.8808, + "material": true, + "relative_delta_pct": 31.5816 + }, + "pe_ratio": { + "absolute_delta": 0.6574, + "candidate": 20.7025, + "definition_changed": true, + "legacy": 20.0451, + "material": false, + "relative_delta_pct": 3.2796 + }, + "revenue_growth": { + "absolute_delta": 0.0029, + "candidate": 8.4429, + "definition_changed": true, + "legacy": 8.44, + "material": false, + "relative_delta_pct": 0.0344 + } + }, + "legacy_fetched_at": "2026-07-23T20:10:47.950083+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 84.0329, + "candidate_fundamental_rank": 91, + "fundamental_delta": -0.7281, + "fundamental_rank_change": -23, + "legacy_fundamental": 84.761, + "legacy_fundamental_rank": 68 + }, + "symbol": "JKHY" + }, + { + "cik": "0000200406", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2256, + "candidate": 2.1127, + "definition_changed": true, + "legacy": 0.8871, + "material": false, + "relative_delta_pct": 138.158 + }, + "pe_ratio": { + "absolute_delta": 0.3615, + "candidate": 30.0429, + "definition_changed": true, + "legacy": 29.6814, + "material": false, + "relative_delta_pct": 1.2179 + }, + "revenue_growth": { + "absolute_delta": -0.1893, + "candidate": 7.8707, + "definition_changed": true, + "legacy": 8.06, + "material": false, + "relative_delta_pct": -2.3486 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:02.617540+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.0324, + "candidate_fundamental_rank": 338, + "fundamental_delta": 1.4833, + "fundamental_rank_change": 20, + "legacy_fundamental": 58.5492, + "legacy_fundamental_rank": 358 + }, + "symbol": "JNJ" + }, + { + "cik": "0000019617", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.8769, + "candidate": 9.839, + "definition_changed": true, + "legacy": 3.9621, + "material": true, + "relative_delta_pct": 148.3279 + }, + "pe_ratio": { + "absolute_delta": 2.4261, + "candidate": 16.7496, + "definition_changed": true, + "legacy": 14.3235, + "material": true, + "relative_delta_pct": 16.9379 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 108.9793, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:47:06.655047+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 96.6814, + "candidate_fundamental_rank": 20, + "fundamental_delta": 6.7446, + "fundamental_rank_change": 16, + "legacy_fundamental": 89.9368, + "legacy_fundamental_rank": 36 + }, + "symbol": "JPM" + }, + { + "cik": "0001418135", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6544, + "candidate": 5.4054, + "definition_changed": true, + "legacy": 3.751, + "material": false, + "relative_delta_pct": 44.1056 + }, + "pe_ratio": { + "absolute_delta": -0.4506, + "candidate": 21.9778, + "definition_changed": true, + "legacy": 22.4284, + "material": false, + "relative_delta_pct": -2.0091 + }, + "revenue_growth": { + "absolute_delta": -0.0007, + "candidate": 9.1893, + "definition_changed": true, + "legacy": 9.19, + "material": false, + "relative_delta_pct": -0.0076 + } + }, + "legacy_fetched_at": "2026-07-23T20:10:52.060450+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.5804, + "candidate_fundamental_rank": 176, + "fundamental_delta": 3.2575, + "fundamental_rank_change": 19, + "legacy_fundamental": 72.3229, + "legacy_fundamental_rank": 195 + }, + "symbol": "KDP" + }, + { + "cik": "0000091576", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.2485, + "candidate": 7.3171, + "definition_changed": true, + "legacy": 3.0686, + "material": true, + "relative_delta_pct": 138.4508 + }, + "pe_ratio": { + "absolute_delta": 1.9141, + "candidate": 13.9387, + "definition_changed": true, + "legacy": 12.0246, + "material": true, + "relative_delta_pct": 15.9182 + }, + "revenue_growth": { + "absolute_delta": -48.3341, + "candidate": 8.7613, + "definition_changed": true, + "legacy": 57.0954, + "material": true, + "relative_delta_pct": -84.6549 + } + }, + "legacy_fetched_at": "2026-07-23T20:10:56.360589+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.1629, + "candidate_fundamental_rank": 76, + "fundamental_delta": -2.2848, + "fundamental_rank_change": -34, + "legacy_fundamental": 88.4477, + "legacy_fundamental_rank": 42 + }, + "symbol": "KEY" + }, + { + "cik": "0001601046", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.946, + "candidate": 23.176, + "definition_changed": true, + "legacy": 21.23, + "material": false, + "relative_delta_pct": 9.1663 + }, + "pe_ratio": { + "absolute_delta": 0.1943, + "candidate": 53.3, + "definition_changed": true, + "legacy": 53.1057, + "material": false, + "relative_delta_pct": 0.3659 + }, + "revenue_growth": { + "absolute_delta": -0.0044, + "candidate": 19.1856, + "definition_changed": true, + "legacy": 19.19, + "material": false, + "relative_delta_pct": -0.0229 + } + }, + "legacy_fetched_at": "2026-07-23T20:11:00.627556+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.988, + "candidate_fundamental_rank": 281, + "fundamental_delta": -0.0037, + "fundamental_rank_change": 0, + "legacy_fundamental": 65.9917, + "legacy_fundamental_rank": 281 + }, + "symbol": "KEYS" + }, + { + "cik": "0001637459", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8268, + "candidate": 16.0, + "definition_changed": true, + "legacy": 14.1732, + "material": false, + "relative_delta_pct": 12.8891 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -1.75, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:12:59.208158+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 72.8125, + "legacy_fundamental_rank": 187 + }, + "symbol": "KHC" + }, + { + "cik": "0000879101", + "fields": { + "earnings_surprise": { + "absolute_delta": -16.0906, + "candidate": 2.2222, + "definition_changed": true, + "legacy": 18.3128, + "material": true, + "relative_delta_pct": -87.8653 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 28.5796, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0035, + "candidate": 4.4265, + "definition_changed": true, + "legacy": 4.43, + "material": false, + "relative_delta_pct": -0.079 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:03.922468+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.0887, + "candidate_fundamental_rank": 326, + "fundamental_delta": -10.8478, + "fundamental_rank_change": -128, + "legacy_fundamental": 71.9366, + "legacy_fundamental_rank": 198 + }, + "symbol": "KIM" + }, + { + "cik": "0001404912", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0231, + "candidate": 8.5937, + "definition_changed": true, + "legacy": 6.5706, + "material": true, + "relative_delta_pct": 30.7902 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 28.9618, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 2.1986, + "candidate": 34.8286, + "definition_changed": true, + "legacy": 32.63, + "material": true, + "relative_delta_pct": 6.738 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:08.496011+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 96.4844, + "candidate_fundamental_rank": 21, + "fundamental_delta": 17.7132, + "fundamental_rank_change": 87, + "legacy_fundamental": 78.7712, + "legacy_fundamental_rank": 108 + }, + "symbol": "KKR" + }, + { + "cik": "0000319201", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.805, + "candidate": 2.6201, + "definition_changed": true, + "legacy": 0.8151, + "material": false, + "relative_delta_pct": 221.4452 + }, + "pe_ratio": { + "absolute_delta": -54.0155, + "candidate": 6.1946, + "definition_changed": true, + "legacy": 60.2101, + "material": true, + "relative_delta_pct": -89.7117 + }, + "revenue_growth": { + "absolute_delta": -0.0005, + "candidate": 13.3895, + "definition_changed": true, + "legacy": 13.39, + "material": false, + "relative_delta_pct": -0.0037 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:13.163698+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.1914, + "candidate_fundamental_rank": 109, + "fundamental_delta": 36.3412, + "fundamental_rank_change": 353, + "legacy_fundamental": 45.8502, + "legacy_fundamental_rank": 462 + }, + "symbol": "KLAC" + }, + { + "cik": "0000055785", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.4886, + "candidate": 2.6042, + "definition_changed": true, + "legacy": 3.0928, + "material": false, + "relative_delta_pct": -15.798 + }, + "pe_ratio": { + "absolute_delta": 0.1168, + "candidate": 16.8462, + "definition_changed": true, + "legacy": 16.7294, + "material": false, + "relative_delta_pct": 0.6982 + }, + "revenue_growth": { + "absolute_delta": -3.9779, + "candidate": -20.1479, + "definition_changed": true, + "legacy": -16.17, + "material": true, + "relative_delta_pct": -24.6005 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:18.488953+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.289, + "candidate_fundamental_rank": 407, + "fundamental_delta": -4.1358, + "fundamental_rank_change": -24, + "legacy_fundamental": 56.4248, + "legacy_fundamental_rank": 383 + }, + "symbol": "KMB" + }, + { + "cik": "0001506307", + "fields": { + "earnings_surprise": { + "absolute_delta": 13.8538, + "candidate": 26.3158, + "definition_changed": true, + "legacy": 12.462, + "material": true, + "relative_delta_pct": 111.1684 + }, + "pe_ratio": { + "absolute_delta": 0.1981, + "candidate": 21.9933, + "definition_changed": true, + "legacy": 21.7952, + "material": false, + "relative_delta_pct": 0.9089 + }, + "revenue_growth": { + "absolute_delta": 0.249, + "candidate": 13.319, + "definition_changed": true, + "legacy": 13.07, + "material": false, + "relative_delta_pct": 1.9051 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:23.105546+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.6622, + "candidate_fundamental_rank": 69, + "fundamental_delta": -0.0126, + "fundamental_rank_change": -15, + "legacy_fundamental": 86.6748, + "legacy_fundamental_rank": 54 + }, + "symbol": "KMI" + }, + { + "cik": "0000021344", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.2774, + "candidate": 6.1728, + "definition_changed": true, + "legacy": 2.8954, + "material": true, + "relative_delta_pct": 113.1933 + }, + "pe_ratio": { + "absolute_delta": -0.024, + "candidate": 25.5252, + "definition_changed": true, + "legacy": 25.5492, + "material": false, + "relative_delta_pct": -0.0939 + }, + "revenue_growth": { + "absolute_delta": -0.0044, + "candidate": 5.1056, + "definition_changed": true, + "legacy": 5.11, + "material": false, + "relative_delta_pct": -0.0861 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:10.746885+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.5148, + "candidate_fundamental_rank": 248, + "fundamental_delta": 5.4854, + "fundamental_rank_change": 52, + "legacy_fundamental": 64.0293, + "legacy_fundamental_rank": 300 + }, + "symbol": "KO" + }, + { + "cik": "0000056873", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.012, + "candidate": -0.6289, + "definition_changed": true, + "legacy": -3.6409, + "material": true, + "relative_delta_pct": 82.7268 + }, + "pe_ratio": { + "absolute_delta": 0.2013, + "candidate": 32.6082, + "definition_changed": true, + "legacy": 32.4069, + "material": false, + "relative_delta_pct": 0.6212 + }, + "revenue_growth": { + "absolute_delta": -1.9693, + "candidate": -0.8293, + "definition_changed": true, + "legacy": 1.14, + "material": false, + "relative_delta_pct": -172.7456 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:28.187955+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 45.3627, + "candidate_fundamental_rank": 447, + "fundamental_delta": 3.1552, + "fundamental_rank_change": 26, + "legacy_fundamental": 42.2075, + "legacy_fundamental_rank": 473 + }, + "symbol": "KR" + }, + { + "cik": "0001944048", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.1077, + "candidate": 18.5185, + "definition_changed": true, + "legacy": 19.6262, + "material": false, + "relative_delta_pct": -5.644 + }, + "pe_ratio": { + "absolute_delta": -0.1447, + "candidate": 22.5, + "definition_changed": true, + "legacy": 22.6447, + "material": false, + "relative_delta_pct": -0.639 + }, + "revenue_growth": { + "absolute_delta": 0.0046, + "candidate": -0.0654, + "definition_changed": true, + "legacy": -0.07, + "material": false, + "relative_delta_pct": 6.5714 + } + }, + "legacy_fetched_at": "2026-07-23T20:13:33.380292+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.9455, + "candidate_fundamental_rank": 187, + "fundamental_delta": 0.1647, + "fundamental_rank_change": -23, + "legacy_fundamental": 74.7809, + "legacy_fundamental_rank": 164 + }, + "symbol": "KVUE" + }, + { + "cik": "0000060086", + "fields": { + "earnings_surprise": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "pe_ratio": { + "absolute_delta": 0.3363, + "candidate": 14.7112, + "definition_changed": true, + "legacy": 14.3749, + "material": false, + "relative_delta_pct": 2.3395 + }, + "revenue_growth": { + "absolute_delta": 1.0832, + "candidate": 5.1832, + "definition_changed": true, + "legacy": 4.1, + "material": false, + "relative_delta_pct": 26.4195 + } + }, + "legacy_fetched_at": "2026-07-23T20:15:35.953549+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.479, + "candidate_fundamental_rank": 116, + "fundamental_delta": 1.354, + "fundamental_rank_change": -16, + "legacy_fundamental": 80.125, + "legacy_fundamental_rank": 100 + }, + "symbol": "L" + }, + { + "cik": "0001336920", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8158, + "candidate": 8.6806, + "definition_changed": true, + "legacy": 5.8648, + "material": true, + "relative_delta_pct": 48.0119 + }, + "pe_ratio": { + "absolute_delta": -3.325, + "candidate": 10.0942, + "definition_changed": true, + "legacy": 13.4192, + "material": true, + "relative_delta_pct": -24.7779 + }, + "revenue_growth": { + "absolute_delta": 0.0869, + "candidate": 2.4269, + "definition_changed": true, + "legacy": 2.34, + "material": false, + "relative_delta_pct": 3.7137 + } + }, + "legacy_fetched_at": "2026-07-23T20:15:41.379615+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.1566, + "candidate_fundamental_rank": 100, + "fundamental_delta": 4.7653, + "fundamental_rank_change": 16, + "legacy_fundamental": 78.3913, + "legacy_fundamental_rank": 116 + }, + "symbol": "LDOS" + }, + { + "cik": "0000920760", + "fields": { + "earnings_surprise": { + "absolute_delta": 7.6205, + "candidate": 6.5041, + "definition_changed": true, + "legacy": -1.1164, + "material": true, + "relative_delta_pct": 682.5958 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 11.934, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0013, + "candidate": -7.4487, + "definition_changed": true, + "legacy": -7.45, + "material": false, + "relative_delta_pct": 0.0174 + } + }, + "legacy_fetched_at": "2026-07-23T20:15:47.429026+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 56.9493, + "candidate_fundamental_rank": 370, + "fundamental_delta": -1.6483, + "fundamental_rank_change": -13, + "legacy_fundamental": 58.5977, + "legacy_fundamental_rank": 357 + }, + "symbol": "LEN" + }, + { + "cik": "0000920148", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8995, + "candidate": 3.912, + "definition_changed": true, + "legacy": 1.0125, + "material": true, + "relative_delta_pct": 286.3704 + }, + "pe_ratio": { + "absolute_delta": -0.0861, + "candidate": 25.7768, + "definition_changed": true, + "legacy": 25.8629, + "material": false, + "relative_delta_pct": -0.3329 + }, + "revenue_growth": { + "absolute_delta": -0.0032, + "candidate": 7.3368, + "definition_changed": true, + "legacy": 7.34, + "material": false, + "relative_delta_pct": -0.0436 + } + }, + "legacy_fetched_at": "2026-07-23T20:15:53.927100+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 67.3264, + "candidate_fundamental_rank": 264, + "fundamental_delta": 4.9255, + "fundamental_rank_change": 59, + "legacy_fundamental": 62.4009, + "legacy_fundamental_rank": 323 + }, + "symbol": "LH" + }, + { + "cik": "0000202058", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6033, + "candidate": 7.5099, + "definition_changed": true, + "legacy": 5.9066, + "material": false, + "relative_delta_pct": 27.1442 + }, + "pe_ratio": { + "absolute_delta": 1.9645, + "candidate": 32.5375, + "definition_changed": true, + "legacy": 30.573, + "material": false, + "relative_delta_pct": 6.4256 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -20.84, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:15:59.695662+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.5456, + "candidate_fundamental_rank": 297, + "fundamental_delta": 22.0046, + "fundamental_rank_change": 174, + "legacy_fundamental": 42.541, + "legacy_fundamental_rank": 471 + }, + "symbol": "LHX" + }, + { + "cik": "0001069202", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1876, + "candidate": 6.0127, + "definition_changed": true, + "legacy": 4.8251, + "material": false, + "relative_delta_pct": 24.613 + }, + "pe_ratio": { + "absolute_delta": 0.5798, + "candidate": 23.6227, + "definition_changed": true, + "legacy": 23.0429, + "material": false, + "relative_delta_pct": 2.5162 + }, + "revenue_growth": { + "absolute_delta": -0.001, + "candidate": -2.031, + "definition_changed": true, + "legacy": -2.03, + "material": false, + "relative_delta_pct": -0.0493 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:06.657932+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.4144, + "candidate_fundamental_rank": 285, + "fundamental_delta": 1.3341, + "fundamental_rank_change": 14, + "legacy_fundamental": 64.0803, + "legacy_fundamental_rank": 299 + }, + "symbol": "LII" + }, + { + "cik": "0001707925", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8782, + "candidate": 1.4052, + "definition_changed": true, + "legacy": 0.527, + "material": false, + "relative_delta_pct": 166.6414 + }, + "pe_ratio": { + "absolute_delta": 0.349, + "candidate": 33.5756, + "definition_changed": true, + "legacy": 33.2266, + "material": false, + "relative_delta_pct": 1.0504 + }, + "revenue_growth": { + "absolute_delta": 0.0011, + "candidate": 4.9611, + "definition_changed": true, + "legacy": 4.96, + "material": false, + "relative_delta_pct": 0.0222 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:14.807119+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.5033, + "candidate_fundamental_rank": 402, + "fundamental_delta": 1.0767, + "fundamental_rank_change": 16, + "legacy_fundamental": 51.4266, + "legacy_fundamental_rank": 418 + }, + "symbol": "LIN" + }, + { + "cik": "0001633978", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.2394, + "candidate": 5.8036, + "definition_changed": true, + "legacy": 1.5642, + "material": true, + "relative_delta_pct": 271.0267 + }, + "pe_ratio": { + "absolute_delta": -2.2268, + "candidate": 146.7676, + "definition_changed": true, + "legacy": 148.9944, + "material": false, + "relative_delta_pct": -1.4946 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 68.98, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:16:12.305781+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 39.5089, + "candidate_fundamental_rank": 465, + "fundamental_delta": -13.0981, + "fundamental_rank_change": -52, + "legacy_fundamental": 52.607, + "legacy_fundamental_rank": 413 + }, + "symbol": "LITE" + }, + { + "cik": "0000059478", + "fields": { + "earnings_surprise": { + "absolute_delta": -5.9383, + "candidate": 21.1048, + "definition_changed": true, + "legacy": 27.0431, + "material": true, + "relative_delta_pct": -21.9587 + }, + "pe_ratio": { + "absolute_delta": -1.2936, + "candidate": 42.1268, + "definition_changed": true, + "legacy": 43.4204, + "material": false, + "relative_delta_pct": -2.9792 + }, + "revenue_growth": { + "absolute_delta": -0.0017, + "candidate": 47.4383, + "definition_changed": true, + "legacy": 47.44, + "material": false, + "relative_delta_pct": -0.0036 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:18.930759+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.8591, + "candidate_fundamental_rank": 243, + "fundamental_delta": 1.4373, + "fundamental_rank_change": -1, + "legacy_fundamental": 68.4218, + "legacy_fundamental_rank": 242 + }, + "symbol": "LLY" + }, + { + "cik": "0000936468", + "fields": { + "earnings_surprise": { + "absolute_delta": -13.6694, + "candidate": -3.4483, + "definition_changed": true, + "legacy": 10.2211, + "material": true, + "relative_delta_pct": -133.7371 + }, + "pe_ratio": { + "absolute_delta": -0.0436, + "candidate": 27.5346, + "definition_changed": true, + "legacy": 27.5782, + "material": false, + "relative_delta_pct": -0.1581 + }, + "revenue_growth": { + "absolute_delta": -0.0016, + "candidate": 4.5884, + "definition_changed": true, + "legacy": 4.59, + "material": false, + "relative_delta_pct": -0.0349 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:17.948058+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.8159, + "candidate_fundamental_rank": 415, + "fundamental_delta": -22.3667, + "fundamental_rank_change": -235, + "legacy_fundamental": 73.1826, + "legacy_fundamental_rank": 180 + }, + "symbol": "LMT" + }, + { + "cik": "0000352541", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.9604, + "candidate": 0.0, + "definition_changed": true, + "legacy": 0.9604, + "material": false, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 0.1481, + "candidate": 23.4025, + "definition_changed": true, + "legacy": 23.2544, + "material": false, + "relative_delta_pct": 0.6369 + }, + "revenue_growth": { + "absolute_delta": -0.6826, + "candidate": 8.3374, + "definition_changed": true, + "legacy": 9.02, + "material": false, + "relative_delta_pct": -7.5676 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:24.249286+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.2784, + "candidate_fundamental_rank": 300, + "fundamental_delta": -2.3341, + "fundamental_rank_change": -23, + "legacy_fundamental": 66.6124, + "legacy_fundamental_rank": 277 + }, + "symbol": "LNT" + }, + { + "cik": "0000060667", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.4423, + "candidate": 2.3649, + "definition_changed": true, + "legacy": 0.9226, + "material": false, + "relative_delta_pct": 156.3299 + }, + "pe_ratio": { + "absolute_delta": 0.0671, + "candidate": 17.0685, + "definition_changed": true, + "legacy": 17.0014, + "material": false, + "relative_delta_pct": 0.3947 + }, + "revenue_growth": { + "absolute_delta": -0.0002, + "candidate": 6.2398, + "definition_changed": true, + "legacy": 6.24, + "material": false, + "relative_delta_pct": -0.0032 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:29.336798+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.5096, + "candidate_fundamental_rank": 205, + "fundamental_delta": 2.3291, + "fundamental_rank_change": 7, + "legacy_fundamental": 71.1806, + "legacy_fundamental_rank": 212 + }, + "symbol": "LOW" + }, + { + "cik": "0000707549", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.1579, + "candidate": 8.0882, + "definition_changed": true, + "legacy": 4.9303, + "material": true, + "relative_delta_pct": 64.0509 + }, + "pe_ratio": { + "absolute_delta": 0.4914, + "candidate": 60.4499, + "definition_changed": true, + "legacy": 59.9585, + "material": false, + "relative_delta_pct": 0.8196 + }, + "revenue_growth": { + "absolute_delta": 0.0002, + "candidate": 26.5302, + "definition_changed": true, + "legacy": 26.53, + "material": false, + "relative_delta_pct": 0.0008 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:37.483490+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 63.4804, + "candidate_fundamental_rank": 304, + "fundamental_delta": 5.2632, + "fundamental_rank_change": 57, + "legacy_fundamental": 58.2172, + "legacy_fundamental_rank": 361 + }, + "symbol": "LRCX" + }, + { + "cik": "0001397187", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.684, + "candidate": 1.1976, + "definition_changed": true, + "legacy": -1.4864, + "material": true, + "relative_delta_pct": 180.5705 + }, + "pe_ratio": { + "absolute_delta": -0.1087, + "candidate": 8.9579, + "definition_changed": true, + "legacy": 9.0666, + "material": false, + "relative_delta_pct": -1.1989 + }, + "revenue_growth": { + "absolute_delta": 0.0, + "candidate": 4.22, + "definition_changed": true, + "legacy": 4.22, + "material": false, + "relative_delta_pct": 0.0 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:45.963467+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.1794, + "candidate_fundamental_rank": 216, + "fundamental_delta": 4.4734, + "fundamental_rank_change": 35, + "legacy_fundamental": 67.706, + "legacy_fundamental_rank": 251 + }, + "symbol": "LULU" + }, + { + "cik": "0000092380", + "fields": { + "earnings_surprise": { + "absolute_delta": -82.4534, + "candidate": 0.0, + "definition_changed": true, + "legacy": 82.4534, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 2.3887, + "candidate": 29.8067, + "definition_changed": true, + "legacy": 27.418, + "material": false, + "relative_delta_pct": 8.7122 + }, + "revenue_growth": { + "absolute_delta": 0.0005, + "candidate": 4.7205, + "definition_changed": true, + "legacy": 4.72, + "material": false, + "relative_delta_pct": 0.0106 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:52.355925+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 54.1485, + "candidate_fundamental_rank": 387, + "fundamental_delta": -19.3203, + "fundamental_rank_change": -213, + "legacy_fundamental": 73.4689, + "legacy_fundamental_rank": 174 + }, + "symbol": "LUV" + }, + { + "cik": "0001300514", + "fields": { + "earnings_surprise": { + "absolute_delta": 43.3735, + "candidate": 21.3333, + "definition_changed": true, + "legacy": -22.0402, + "material": true, + "relative_delta_pct": 196.7927 + }, + "pe_ratio": { + "absolute_delta": 0.4804, + "candidate": 16.9852, + "definition_changed": true, + "legacy": 16.5048, + "material": false, + "relative_delta_pct": 2.9107 + }, + "revenue_growth": { + "absolute_delta": -0.0024, + "candidate": 22.6676, + "definition_changed": true, + "legacy": 22.67, + "material": false, + "relative_delta_pct": -0.0106 + } + }, + "legacy_fetched_at": "2026-07-23T20:16:59.493795+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 97.7942, + "candidate_fundamental_rank": 18, + "fundamental_delta": 32.7995, + "fundamental_rank_change": 276, + "legacy_fundamental": 64.9947, + "legacy_fundamental_rank": 294 + }, + "symbol": "LVS" + }, + { + "cik": "0001489393", + "fields": { + "earnings_surprise": { + "absolute_delta": -82.3673, + "candidate": 58.0645, + "definition_changed": true, + "legacy": 140.4318, + "material": true, + "relative_delta_pct": -58.6529 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.004, + "candidate": -22.024, + "definition_changed": true, + "legacy": -22.02, + "material": false, + "relative_delta_pct": -0.0182 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:03.638976+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.0, + "candidate_fundamental_rank": 420, + "fundamental_delta": 0.0, + "fundamental_rank_change": 8, + "legacy_fundamental": 50.0, + "legacy_fundamental_rank": 428 + }, + "symbol": "LYB" + }, + { + "cik": "0001335258", + "fields": { + "earnings_surprise": { + "absolute_delta": 272.8502, + "candidate": -18.5185, + "definition_changed": true, + "legacy": -291.3687, + "material": true, + "relative_delta_pct": 93.6443 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 494.0888, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0, + "candidate": 12.64, + "definition_changed": true, + "legacy": 12.64, + "material": false, + "relative_delta_pct": -0.0 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:07.794118+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 40.8, + "candidate_fundamental_rank": 460, + "fundamental_delta": 13.6, + "fundamental_rank_change": 38, + "legacy_fundamental": 27.2, + "legacy_fundamental_rank": 498 + }, + "symbol": "LYV" + }, + { + "cik": "0001141391", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0652, + "candidate": 4.5455, + "definition_changed": true, + "legacy": 1.4803, + "material": true, + "relative_delta_pct": 207.0661 + }, + "pe_ratio": { + "absolute_delta": 0.8559, + "candidate": 30.6881, + "definition_changed": true, + "legacy": 29.8322, + "material": false, + "relative_delta_pct": 2.869 + }, + "revenue_growth": { + "absolute_delta": 0.0032, + "candidate": 16.7532, + "definition_changed": true, + "legacy": 16.75, + "material": false, + "relative_delta_pct": 0.0191 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:23.470396+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.7723, + "candidate_fundamental_rank": 230, + "fundamental_delta": 4.1603, + "fundamental_rank_change": 48, + "legacy_fundamental": 66.6119, + "legacy_fundamental_rank": 278 + }, + "symbol": "MA" + }, + { + "cik": "0000912595", + "fields": { + "earnings_surprise": { + "absolute_delta": -30.5381, + "candidate": 0.4717, + "definition_changed": true, + "legacy": 31.0098, + "material": true, + "relative_delta_pct": -98.4789 + }, + "pe_ratio": { + "absolute_delta": 0.8722, + "candidate": 40.2273, + "definition_changed": true, + "legacy": 39.3551, + "material": false, + "relative_delta_pct": 2.2162 + }, + "revenue_growth": { + "absolute_delta": -0.0021, + "candidate": 0.7679, + "definition_changed": true, + "legacy": 0.77, + "material": false, + "relative_delta_pct": -0.2727 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:12.144018+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 40.0624, + "candidate_fundamental_rank": 462, + "fundamental_delta": -16.8513, + "fundamental_rank_change": -87, + "legacy_fundamental": 56.9138, + "legacy_fundamental_rank": 375 + }, + "symbol": "MAA" + }, + { + "cik": "0001048286", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.0327, + "candidate": 5.4264, + "definition_changed": true, + "legacy": 5.4591, + "material": false, + "relative_delta_pct": -0.599 + }, + "pe_ratio": { + "absolute_delta": 0.86, + "candidate": 38.1644, + "definition_changed": true, + "legacy": 37.3044, + "material": false, + "relative_delta_pct": 2.3054 + }, + "revenue_growth": { + "absolute_delta": 0.0016, + "candidate": 4.6916, + "definition_changed": true, + "legacy": 4.69, + "material": false, + "relative_delta_pct": 0.0341 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:16.573884+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.882, + "candidate_fundamental_rank": 390, + "fundamental_delta": -1.0088, + "fundamental_rank_change": 7, + "legacy_fundamental": 54.8908, + "legacy_fundamental_rank": 397 + }, + "symbol": "MAR" + }, + { + "cik": "0000062996", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.548, + "candidate": 18.1818, + "definition_changed": true, + "legacy": 17.6338, + "material": false, + "relative_delta_pct": 3.1077 + }, + "pe_ratio": { + "absolute_delta": 0.3408, + "candidate": 19.1436, + "definition_changed": true, + "legacy": 18.8028, + "material": false, + "relative_delta_pct": 1.8125 + }, + "revenue_growth": { + "absolute_delta": -0.0016, + "candidate": -0.3116, + "definition_changed": true, + "legacy": -0.31, + "material": false, + "relative_delta_pct": -0.5161 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:20.760717+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.4697, + "candidate_fundamental_rank": 146, + "fundamental_delta": -0.3799, + "fundamental_rank_change": -39, + "legacy_fundamental": 78.8497, + "legacy_fundamental_rank": 107 + }, + "symbol": "MAS" + }, + { + "cik": "0000063908", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1223, + "candidate": 3.2847, + "definition_changed": true, + "legacy": 2.1624, + "material": false, + "relative_delta_pct": 51.9007 + }, + "pe_ratio": { + "absolute_delta": 0.1577, + "candidate": 21.6653, + "definition_changed": true, + "legacy": 21.5076, + "material": false, + "relative_delta_pct": 0.7332 + }, + "revenue_growth": { + "absolute_delta": -0.0053, + "candidate": 6.7647, + "definition_changed": true, + "legacy": 6.77, + "material": false, + "relative_delta_pct": -0.0783 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:27.528550+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.3725, + "candidate_fundamental_rank": 235, + "fundamental_delta": 1.6908, + "fundamental_rank_change": 4, + "legacy_fundamental": 68.6817, + "legacy_fundamental_rank": 239 + }, + "symbol": "MCD" + }, + { + "cik": "0000827054", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.4063, + "candidate": 14.0, + "definition_changed": true, + "legacy": 10.5937, + "material": true, + "relative_delta_pct": 32.154 + }, + "pe_ratio": { + "absolute_delta": 179.8732, + "candidate": 369.7727, + "definition_changed": true, + "legacy": 189.8995, + "material": true, + "relative_delta_pct": 94.7202 + }, + "revenue_growth": { + "absolute_delta": -0.003, + "candidate": 7.077, + "definition_changed": true, + "legacy": 7.08, + "material": false, + "relative_delta_pct": -0.0424 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:24.939086+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.8975, + "candidate_fundamental_rank": 375, + "fundamental_delta": -0.0025, + "fundamental_rank_change": 14, + "legacy_fundamental": 55.9, + "legacy_fundamental_rank": 389 + }, + "symbol": "MCHP" + }, + { + "cik": "0000927653", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0081, + "candidate": 1.1246, + "definition_changed": true, + "legacy": 0.1165, + "material": false, + "relative_delta_pct": 865.3219 + }, + "pe_ratio": { + "absolute_delta": 1.3316, + "candidate": 21.4823, + "definition_changed": true, + "legacy": 20.1507, + "material": false, + "relative_delta_pct": 6.6082 + }, + "revenue_growth": { + "absolute_delta": 0.0001, + "candidate": 12.3601, + "definition_changed": true, + "legacy": 12.36, + "material": false, + "relative_delta_pct": 0.0008 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:29.440510+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.6385, + "candidate_fundamental_rank": 220, + "fundamental_delta": 0.2006, + "fundamental_rank_change": -14, + "legacy_fundamental": 71.4378, + "legacy_fundamental_rank": 206 + }, + "symbol": "MCK" + }, + { + "cik": "0001059556", + "fields": { + "earnings_surprise": { + "absolute_delta": -7.5862, + "candidate": 1.8824, + "definition_changed": true, + "legacy": 9.4686, + "material": true, + "relative_delta_pct": -80.1196 + }, + "pe_ratio": { + "absolute_delta": 3.7716, + "candidate": 33.8766, + "definition_changed": true, + "legacy": 30.105, + "material": true, + "relative_delta_pct": 12.5282 + }, + "revenue_growth": { + "absolute_delta": -2.7162, + "candidate": 8.9538, + "definition_changed": true, + "legacy": 11.67, + "material": true, + "relative_delta_pct": -23.2751 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:33.860232+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 56.2914, + "candidate_fundamental_rank": 374, + "fundamental_delta": -19.0979, + "fundamental_rank_change": -219, + "legacy_fundamental": 75.3893, + "legacy_fundamental_rank": 155 + }, + "symbol": "MCO" + }, + { + "cik": "0001103982", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7716, + "candidate": 9.8361, + "definition_changed": true, + "legacy": 8.0645, + "material": false, + "relative_delta_pct": 21.9679 + }, + "pe_ratio": { + "absolute_delta": 0.2055, + "candidate": 29.7277, + "definition_changed": true, + "legacy": 29.5222, + "material": false, + "relative_delta_pct": 0.6961 + }, + "revenue_growth": { + "absolute_delta": -0.0015, + "candidate": 7.7885, + "definition_changed": true, + "legacy": 7.79, + "material": false, + "relative_delta_pct": -0.0193 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:37.972242+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.1864, + "candidate_fundamental_rank": 207, + "fundamental_delta": 2.723, + "fundamental_rank_change": 12, + "legacy_fundamental": 70.4634, + "legacy_fundamental_rank": 219 + }, + "symbol": "MDLZ" + }, + { + "cik": "0001613103", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0798, + "candidate": 0.6494, + "definition_changed": true, + "legacy": -0.4304, + "material": false, + "relative_delta_pct": 250.8829 + }, + "pe_ratio": { + "absolute_delta": 0.1949, + "candidate": 21.9866, + "definition_changed": true, + "legacy": 21.7917, + "material": false, + "relative_delta_pct": 0.8944 + }, + "revenue_growth": { + "absolute_delta": -0.0005, + "candidate": 8.4295, + "definition_changed": true, + "legacy": 8.43, + "material": false, + "relative_delta_pct": -0.0059 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:42.380784+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 67.0106, + "candidate_fundamental_rank": 266, + "fundamental_delta": 1.5826, + "fundamental_rank_change": 20, + "legacy_fundamental": 65.428, + "legacy_fundamental_rank": 286 + }, + "symbol": "MDT" + }, + { + "cik": "0001099219", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0676, + "candidate": 7.5556, + "definition_changed": true, + "legacy": 5.488, + "material": true, + "relative_delta_pct": 37.6749 + }, + "pe_ratio": { + "absolute_delta": 1.5086, + "candidate": 17.8994, + "definition_changed": true, + "legacy": 16.3908, + "material": false, + "relative_delta_pct": 9.2039 + }, + "revenue_growth": { + "absolute_delta": 6.9961, + "candidate": 12.2861, + "definition_changed": true, + "legacy": 5.29, + "material": true, + "relative_delta_pct": 132.2514 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:46.837663+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.2761, + "candidate_fundamental_rank": 74, + "fundamental_delta": 7.5998, + "fundamental_rank_change": 37, + "legacy_fundamental": 78.6763, + "legacy_fundamental_rank": 111 + }, + "symbol": "MET" + }, + { + "cik": "0001326801", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.3518, + "candidate": 8.9419, + "definition_changed": true, + "legacy": 5.5901, + "material": true, + "relative_delta_pct": 59.9596 + }, + "pe_ratio": { + "absolute_delta": -0.5141, + "candidate": 22.04, + "definition_changed": true, + "legacy": 22.5541, + "material": false, + "relative_delta_pct": -2.2794 + }, + "revenue_growth": { + "absolute_delta": 0.0016, + "candidate": 26.1816, + "definition_changed": true, + "legacy": 26.18, + "material": false, + "relative_delta_pct": 0.0061 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:31.807729+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 90.4142, + "candidate_fundamental_rank": 38, + "fundamental_delta": 6.1575, + "fundamental_rank_change": 33, + "legacy_fundamental": 84.2567, + "legacy_fundamental_rank": 71 + }, + "symbol": "META" + }, + { + "cik": "0000789570", + "fields": { + "earnings_surprise": { + "absolute_delta": -3.2744, + "candidate": -12.5, + "definition_changed": true, + "legacy": -9.2256, + "material": true, + "relative_delta_pct": -35.4925 + }, + "pe_ratio": { + "absolute_delta": -1.7073, + "candidate": 61.6301, + "definition_changed": true, + "legacy": 63.3374, + "material": false, + "relative_delta_pct": -2.6956 + }, + "revenue_growth": { + "absolute_delta": 0.0018, + "candidate": 3.3918, + "definition_changed": true, + "legacy": 3.39, + "material": false, + "relative_delta_pct": 0.0531 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:51.255968+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 19.4932, + "candidate_fundamental_rank": 479, + "fundamental_delta": -1.2891, + "fundamental_rank_change": 23, + "legacy_fundamental": 20.7823, + "legacy_fundamental_rank": 502 + }, + "symbol": "MGM" + }, + { + "cik": "0000063754", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5092, + "candidate": 15.942, + "definition_changed": true, + "legacy": 14.4328, + "material": false, + "relative_delta_pct": 10.4567 + }, + "pe_ratio": { + "absolute_delta": -0.0758, + "candidate": 8.3511, + "definition_changed": true, + "legacy": 8.4269, + "material": false, + "relative_delta_pct": -0.8995 + }, + "revenue_growth": { + "absolute_delta": -0.0039, + "candidate": 9.5361, + "definition_changed": true, + "legacy": 9.54, + "material": false, + "relative_delta_pct": -0.0409 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:55.272878+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 91.2801, + "candidate_fundamental_rank": 33, + "fundamental_delta": -0.0033, + "fundamental_rank_change": -4, + "legacy_fundamental": 91.2833, + "legacy_fundamental_rank": 29 + }, + "symbol": "MKC" + }, + { + "cik": "0000916076", + "fields": { + "earnings_surprise": { + "absolute_delta": 9.8298, + "candidate": 9.6591, + "definition_changed": true, + "legacy": -0.1707, + "material": true, + "relative_delta_pct": 5758.5237 + }, + "pe_ratio": { + "absolute_delta": 0.041, + "candidate": 13.0425, + "definition_changed": true, + "legacy": 13.0015, + "material": false, + "relative_delta_pct": 0.3153 + }, + "revenue_growth": { + "absolute_delta": -5.936, + "candidate": -7.216, + "definition_changed": true, + "legacy": -1.28, + "material": true, + "relative_delta_pct": -463.75 + } + }, + "legacy_fetched_at": "2026-07-23T20:19:59.543574+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.7518, + "candidate_fundamental_rank": 163, + "fundamental_delta": 11.4363, + "fundamental_rank_change": 125, + "legacy_fundamental": 65.3155, + "legacy_fundamental_rank": 288 + }, + "symbol": "MLM" + }, + { + "cik": "0000066740", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.1065, + "candidate": 5.9406, + "definition_changed": true, + "legacy": 5.8341, + "material": false, + "relative_delta_pct": 1.8255 + }, + "pe_ratio": { + "absolute_delta": 0.8312, + "candidate": 30.1226, + "definition_changed": true, + "legacy": 29.2914, + "material": false, + "relative_delta_pct": 2.8377 + }, + "revenue_growth": { + "absolute_delta": -0.0006, + "candidate": 2.3494, + "definition_changed": true, + "legacy": 2.35, + "material": false, + "relative_delta_pct": -0.0255 + } + }, + "legacy_fetched_at": "2026-07-23T20:20:05.761515+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.7227, + "candidate_fundamental_rank": 316, + "fundamental_delta": -0.7465, + "fundamental_rank_change": 6, + "legacy_fundamental": 62.4692, + "legacy_fundamental_rank": 322 + }, + "symbol": "MMM" + }, + { + "cik": "0000865752", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1038, + "candidate": 9.434, + "definition_changed": true, + "legacy": 8.3302, + "material": false, + "relative_delta_pct": 13.2506 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 45.2442, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0031, + "candidate": 18.0569, + "definition_changed": true, + "legacy": 18.06, + "material": false, + "relative_delta_pct": -0.0172 + } + }, + "legacy_fetched_at": "2026-07-23T20:20:10.169893+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 96.156, + "candidate_fundamental_rank": 24, + "fundamental_delta": 33.889, + "fundamental_rank_change": 304, + "legacy_fundamental": 62.267, + "legacy_fundamental_rank": 328 + }, + "symbol": "MNST" + }, + { + "cik": "0000764180", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.6078, + "candidate": 6.4516, + "definition_changed": true, + "legacy": 2.8438, + "material": true, + "relative_delta_pct": 126.8655 + }, + "pe_ratio": { + "absolute_delta": 0.2008, + "candidate": 15.048, + "definition_changed": true, + "legacy": 14.8472, + "material": false, + "relative_delta_pct": 1.3524 + }, + "revenue_growth": { + "absolute_delta": 0.0025, + "candidate": -1.0675, + "definition_changed": true, + "legacy": -1.07, + "material": false, + "relative_delta_pct": 0.2336 + } + }, + "legacy_fetched_at": "2026-07-23T20:20:15.130787+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.4764, + "candidate_fundamental_rank": 169, + "fundamental_delta": 5.9618, + "fundamental_rank_change": 48, + "legacy_fundamental": 70.5147, + "legacy_fundamental_rank": 217 + }, + "symbol": "MO" + }, + { + "cik": "0001285785", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.1319, + "candidate": -75.0, + "definition_changed": true, + "legacy": -79.1319, + "material": true, + "relative_delta_pct": 5.2215 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 160.4419, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 12.34, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:20:19.813795+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 26.95, + "legacy_fundamental_rank": 499 + }, + "symbol": "MOS" + }, + { + "cik": "0001510295", + "fields": { + "earnings_surprise": { + "absolute_delta": 10.5657, + "candidate": 129.1667, + "definition_changed": true, + "legacy": 118.601, + "material": true, + "relative_delta_pct": 8.9086 + }, + "pe_ratio": { + "absolute_delta": 0.6527, + "candidate": 20.5576, + "definition_changed": true, + "legacy": 19.9049, + "material": false, + "relative_delta_pct": 3.2791 + }, + "revenue_growth": { + "absolute_delta": -0.7455, + "candidate": -1.6655, + "definition_changed": true, + "legacy": -0.92, + "material": false, + "relative_delta_pct": -81.0326 + } + }, + "legacy_fetched_at": "2026-07-23T20:20:24.908596+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.7703, + "candidate_fundamental_rank": 175, + "fundamental_delta": -1.3465, + "fundamental_rank_change": -43, + "legacy_fundamental": 77.1168, + "legacy_fundamental_rank": 132 + }, + "symbol": "MPC" + }, + { + "cik": "0001280452", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1556, + "candidate": 4.2945, + "definition_changed": true, + "legacy": 2.1389, + "material": true, + "relative_delta_pct": 100.7808 + }, + "pe_ratio": { + "absolute_delta": -1.8666, + "candidate": 99.8678, + "definition_changed": true, + "legacy": 101.7344, + "material": false, + "relative_delta_pct": -1.8348 + }, + "revenue_growth": { + "absolute_delta": -0.0049, + "candidate": 23.8951, + "definition_changed": true, + "legacy": 23.9, + "material": false, + "relative_delta_pct": -0.0205 + } + }, + "legacy_fetched_at": "2026-07-23T20:20:29.701321+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 57.1575, + "candidate_fundamental_rank": 368, + "fundamental_delta": 3.5926, + "fundamental_rank_change": 38, + "legacy_fundamental": 53.5648, + "legacy_fundamental_rank": 406 + }, + "symbol": "MPWR" + }, + { + "cik": "0000310158", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.7677, + "candidate": 15.2318, + "definition_changed": true, + "legacy": 15.9995, + "material": false, + "relative_delta_pct": -4.7983 + }, + "pe_ratio": { + "absolute_delta": 1.1297, + "candidate": 36.7549, + "definition_changed": true, + "legacy": 35.6252, + "material": false, + "relative_delta_pct": 3.1711 + }, + "revenue_growth": { + "absolute_delta": -0.0021, + "candidate": 2.8879, + "definition_changed": true, + "legacy": 2.89, + "material": false, + "relative_delta_pct": -0.0727 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:35.790903+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.5678, + "candidate_fundamental_rank": 318, + "fundamental_delta": -1.257, + "fundamental_rank_change": -2, + "legacy_fundamental": 62.8248, + "legacy_fundamental_rank": 316 + }, + "symbol": "MRK" + }, + { + "cik": "0001682852", + "fields": { + "earnings_surprise": { + "absolute_delta": 45.0814, + "candidate": 60.9272, + "definition_changed": true, + "legacy": 15.8458, + "material": true, + "relative_delta_pct": 284.5006 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0046, + "candidate": -29.9654, + "definition_changed": true, + "legacy": -29.97, + "material": false, + "relative_delta_pct": 0.0153 + } + }, + "legacy_fetched_at": "2026-07-23T20:22:32.667079+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.0, + "candidate_fundamental_rank": 420, + "fundamental_delta": 0.0, + "fundamental_rank_change": 8, + "legacy_fundamental": 50.0, + "legacy_fundamental_rank": 428 + }, + "symbol": "MRNA" + }, + { + "cik": "0000062709", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3467, + "candidate": 2.4922, + "definition_changed": true, + "legacy": 0.1455, + "material": true, + "relative_delta_pct": 1612.8522 + }, + "pe_ratio": { + "absolute_delta": 0.3997, + "candidate": 21.5385, + "definition_changed": true, + "legacy": 21.1388, + "material": false, + "relative_delta_pct": 1.8908 + }, + "revenue_growth": { + "absolute_delta": -0.0041, + "candidate": 8.3259, + "definition_changed": true, + "legacy": 8.33, + "material": false, + "relative_delta_pct": -0.0492 + } + }, + "legacy_fetched_at": "2026-07-23T20:22:37.038993+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.4936, + "candidate_fundamental_rank": 232, + "fundamental_delta": 3.4637, + "fundamental_rank_change": 25, + "legacy_fundamental": 67.0299, + "legacy_fundamental_rank": 257 + }, + "symbol": "MRSH" + }, + { + "cik": "0001835632", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9411, + "candidate": 0.0, + "definition_changed": true, + "legacy": -0.9411, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": -2.1174, + "candidate": 71.9313, + "definition_changed": true, + "legacy": 74.0487, + "material": false, + "relative_delta_pct": -2.8595 + }, + "revenue_growth": { + "absolute_delta": 0.0042, + "candidate": 34.0742, + "definition_changed": true, + "legacy": 34.07, + "material": false, + "relative_delta_pct": 0.0123 + } + }, + "legacy_fetched_at": "2026-07-23T19:33:50.587500+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.0, + "candidate_fundamental_rank": 420, + "fundamental_delta": 1.5685, + "fundamental_rank_change": 24, + "legacy_fundamental": 48.4315, + "legacy_fundamental_rank": 444 + }, + "symbol": "MRVL" + }, + { + "cik": "0000895421", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.6109, + "candidate": 19.7232, + "definition_changed": true, + "legacy": 14.1123, + "material": true, + "relative_delta_pct": 39.7589 + }, + "pe_ratio": { + "absolute_delta": 2.6937, + "candidate": 19.4909, + "definition_changed": true, + "legacy": 16.7972, + "material": true, + "relative_delta_pct": 16.0366 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 13.96, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:22:41.179697+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 92.5151, + "candidate_fundamental_rank": 28, + "fundamental_delta": -0.4547, + "fundamental_rank_change": -3, + "legacy_fundamental": 92.9698, + "legacy_fundamental_rank": 25 + }, + "symbol": "MS" + }, + { + "cik": "0001408198", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.2647, + "candidate": 3.4091, + "definition_changed": true, + "legacy": -1.8556, + "material": true, + "relative_delta_pct": 283.7196 + }, + "pe_ratio": { + "absolute_delta": 0.2015, + "candidate": 30.2083, + "definition_changed": true, + "legacy": 30.0068, + "material": false, + "relative_delta_pct": 0.6715 + }, + "revenue_growth": { + "absolute_delta": -0.0007, + "candidate": 11.6193, + "definition_changed": true, + "legacy": 11.62, + "material": false, + "relative_delta_pct": -0.006 + } + }, + "legacy_fetched_at": "2026-07-23T20:22:45.329586+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.1331, + "candidate_fundamental_rank": 290, + "fundamental_delta": 8.55, + "fundamental_rank_change": 90, + "legacy_fundamental": 56.5831, + "legacy_fundamental_rank": 380 + }, + "symbol": "MSCI" + }, + { + "cik": "0000789019", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8536, + "candidate": 4.914, + "definition_changed": true, + "legacy": 3.0604, + "material": false, + "relative_delta_pct": 60.5672 + }, + "pe_ratio": { + "absolute_delta": -0.3232, + "candidate": 22.7266, + "definition_changed": true, + "legacy": 23.0498, + "material": false, + "relative_delta_pct": -1.4022 + }, + "revenue_growth": { + "absolute_delta": 0.0045, + "candidate": 17.8745, + "definition_changed": true, + "legacy": 17.87, + "material": false, + "relative_delta_pct": 0.0252 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:39.779659+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.167, + "candidate_fundamental_rank": 118, + "fundamental_delta": 3.4522, + "fundamental_rank_change": 8, + "legacy_fundamental": 77.7148, + "legacy_fundamental_rank": 126 + }, + "symbol": "MSFT" + }, + { + "cik": "0000068505", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8606, + "candidate": 3.6923, + "definition_changed": true, + "legacy": 2.8317, + "material": false, + "relative_delta_pct": 30.3916 + }, + "pe_ratio": { + "absolute_delta": 0.7315, + "candidate": 32.8242, + "definition_changed": true, + "legacy": 32.0927, + "material": false, + "relative_delta_pct": 2.2793 + }, + "revenue_growth": { + "absolute_delta": 0.0042, + "candidate": 8.3242, + "definition_changed": true, + "legacy": 8.32, + "material": false, + "relative_delta_pct": 0.0505 + } + }, + "legacy_fetched_at": "2026-07-23T20:22:49.536127+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.9527, + "candidate_fundamental_rank": 340, + "fundamental_delta": 0.6251, + "fundamental_rank_change": 6, + "legacy_fundamental": 59.3276, + "legacy_fundamental_rank": 346 + }, + "symbol": "MSI" + }, + { + "cik": "0001050446", + "fields": { + "earnings_surprise": { + "absolute_delta": -251.2947, + "candidate": -1021.7009, + "definition_changed": true, + "legacy": -770.4062, + "material": true, + "relative_delta_pct": -32.6185 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0013, + "candidate": 6.7913, + "definition_changed": true, + "legacy": 6.79, + "material": false, + "relative_delta_pct": 0.0191 + } + }, + "legacy_fetched_at": "2026-07-23T20:52:52.141637+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 33.4892, + "candidate_fundamental_rank": 470, + "fundamental_delta": 0.0017, + "fundamental_rank_change": 19, + "legacy_fundamental": 33.4875, + "legacy_fundamental_rank": 489 + }, + "symbol": "MSTR" + }, + { + "cik": "0000036270", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7933, + "candidate": 14.8069, + "definition_changed": true, + "legacy": 13.0136, + "material": false, + "relative_delta_pct": 13.7802 + }, + "pe_ratio": { + "absolute_delta": 2.1127, + "candidate": 13.8108, + "definition_changed": true, + "legacy": 11.6981, + "material": true, + "relative_delta_pct": 18.0602 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 86.1566, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:22:54.064985+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0, + "fundamental_rank_change": 0, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "MTB" + }, + { + "cik": "0001037646", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.044, + "candidate": 2.4138, + "definition_changed": true, + "legacy": 1.3698, + "material": false, + "relative_delta_pct": 76.2155 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 30.3913, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 6.78, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:22:58.160885+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 57.4982, + "legacy_fundamental_rank": 369 + }, + "symbol": "MTD" + }, + { + "cik": "0000723125", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.0653, + "candidate": 17.3913, + "definition_changed": true, + "legacy": 17.326, + "material": false, + "relative_delta_pct": 0.3769 + }, + "pe_ratio": { + "absolute_delta": 0.3102, + "candidate": 22.3827, + "definition_changed": true, + "legacy": 22.0725, + "material": false, + "relative_delta_pct": 1.4054 + }, + "revenue_growth": { + "absolute_delta": 0.0002, + "candidate": 166.9802, + "definition_changed": true, + "legacy": 166.98, + "material": false, + "relative_delta_pct": 0.0001 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:02.515515+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 91.797, + "candidate_fundamental_rank": 31, + "fundamental_delta": -0.3447, + "fundamental_rank_change": -5, + "legacy_fundamental": 92.1417, + "legacy_fundamental_rank": 26 + }, + "symbol": "MU" + }, + { + "cik": "0001513761", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.9599, + "candidate": 53.3333, + "definition_changed": true, + "legacy": 58.2932, + "material": true, + "relative_delta_pct": -8.5085 + }, + "pe_ratio": { + "absolute_delta": -0.7481, + "candidate": 15.0887, + "definition_changed": true, + "legacy": 15.8368, + "material": false, + "relative_delta_pct": -4.7238 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 6.53, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:23:08.048900+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 99.8522, + "candidate_fundamental_rank": 13, + "fundamental_delta": 12.0069, + "fundamental_rank_change": 32, + "legacy_fundamental": 87.8452, + "legacy_fundamental_rank": 45 + }, + "symbol": "NCLH" + }, + { + "cik": "0001120193", + "fields": { + "earnings_surprise": { + "absolute_delta": -3.7956, + "candidate": 3.2258, + "definition_changed": true, + "legacy": 7.0214, + "material": true, + "relative_delta_pct": -54.0576 + }, + "pe_ratio": { + "absolute_delta": 0.0079, + "candidate": 27.2349, + "definition_changed": true, + "legacy": 27.227, + "material": false, + "relative_delta_pct": 0.029 + }, + "revenue_growth": { + "absolute_delta": -0.0224, + "candidate": 6.3076, + "definition_changed": true, + "legacy": 6.33, + "material": false, + "relative_delta_pct": -0.3539 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:12.192245+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 63.7049, + "candidate_fundamental_rank": 301, + "fundamental_delta": -6.3535, + "fundamental_rank_change": -72, + "legacy_fundamental": 70.0584, + "legacy_fundamental_rank": 229 + }, + "symbol": "NDAQ" + }, + { + "cik": "0000072331", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.9471, + "candidate": 1.4184, + "definition_changed": true, + "legacy": -0.5287, + "material": false, + "relative_delta_pct": 368.2807 + }, + "pe_ratio": { + "absolute_delta": 0.2569, + "candidate": 31.2073, + "definition_changed": true, + "legacy": 30.9504, + "material": false, + "relative_delta_pct": 0.83 + }, + "revenue_growth": { + "absolute_delta": -0.0046, + "candidate": 7.3654, + "definition_changed": true, + "legacy": 7.37, + "material": false, + "relative_delta_pct": -0.0624 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:16.646860+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 57.1605, + "candidate_fundamental_rank": 367, + "fundamental_delta": 2.956, + "fundamental_rank_change": 34, + "legacy_fundamental": 54.2045, + "legacy_fundamental_rank": 401 + }, + "symbol": "NDSN" + }, + { + "cik": "0000753308", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.2394, + "candidate": 11.2245, + "definition_changed": true, + "legacy": 12.4639, + "material": false, + "relative_delta_pct": -9.9439 + }, + "pe_ratio": { + "absolute_delta": -0.251, + "candidate": 22.7893, + "definition_changed": true, + "legacy": 23.0403, + "material": false, + "relative_delta_pct": -1.0894 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 10.29, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:23:20.679268+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.0178, + "candidate_fundamental_rank": 61, + "fundamental_delta": 4.0431, + "fundamental_rank_change": 17, + "legacy_fundamental": 82.9747, + "legacy_fundamental_rank": 78 + }, + "symbol": "NEE" + }, + { + "cik": "0001164727", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.3922, + "candidate": 40.0966, + "definition_changed": true, + "legacy": 31.7044, + "material": true, + "relative_delta_pct": 26.4701 + }, + "pe_ratio": { + "absolute_delta": 0.2128, + "candidate": 12.2853, + "definition_changed": true, + "legacy": 12.0725, + "material": false, + "relative_delta_pct": 1.7627 + }, + "revenue_growth": { + "absolute_delta": 0.0007, + "candidate": 26.9307, + "definition_changed": true, + "legacy": 26.93, + "material": false, + "relative_delta_pct": 0.0026 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:24.840937+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0, + "fundamental_rank_change": 0, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "NEM" + }, + { + "cik": "0001065280", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7881, + "candidate": 1.2658, + "definition_changed": true, + "legacy": -0.5223, + "material": false, + "relative_delta_pct": 342.3511 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 20.9819, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.004, + "candidate": 16.016, + "definition_changed": true, + "legacy": 16.02, + "material": false, + "relative_delta_pct": -0.025 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:28.734980+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.1846, + "candidate_fundamental_rank": 208, + "fundamental_delta": 0.6849, + "fundamental_rank_change": -14, + "legacy_fundamental": 72.4996, + "legacy_fundamental_rank": 194 + }, + "symbol": "NFLX" + }, + { + "cik": "0001111711", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2951, + "candidate": 0.0, + "definition_changed": true, + "legacy": -2.2951, + "material": true, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": -0.0777, + "candidate": 23.2587, + "definition_changed": true, + "legacy": 23.3364, + "material": false, + "relative_delta_pct": -0.333 + }, + "revenue_growth": { + "absolute_delta": 0.0027, + "candidate": 15.6527, + "definition_changed": true, + "legacy": 15.65, + "material": false, + "relative_delta_pct": 0.0173 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:28.941283+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.5343, + "candidate_fundamental_rank": 231, + "fundamental_delta": 3.9138, + "fundamental_rank_change": 45, + "legacy_fundamental": 66.6205, + "legacy_fundamental_rank": 276 + }, + "symbol": "NI" + }, + { + "cik": "0000320187", + "fields": { + "earnings_surprise": { + "absolute_delta": 31.668, + "candidate": 81.8182, + "definition_changed": true, + "legacy": 50.1502, + "material": true, + "relative_delta_pct": 63.1463 + }, + "pe_ratio": { + "absolute_delta": -0.0343, + "candidate": 19.519, + "definition_changed": true, + "legacy": 19.5533, + "material": false, + "relative_delta_pct": -0.1754 + }, + "revenue_growth": { + "absolute_delta": 0.0022, + "candidate": 0.1922, + "definition_changed": true, + "legacy": 0.19, + "material": false, + "relative_delta_pct": 1.1579 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:33.489500+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.4723, + "candidate_fundamental_rank": 144, + "fundamental_delta": 0.0399, + "fundamental_rank_change": -29, + "legacy_fundamental": 78.4324, + "legacy_fundamental_rank": 115 + }, + "symbol": "NKE" + }, + { + "cik": "0001133421", + "fields": { + "earnings_surprise": { + "absolute_delta": -10.5001, + "candidate": 0.9868, + "definition_changed": true, + "legacy": 11.4869, + "material": true, + "relative_delta_pct": -91.4093 + }, + "pe_ratio": { + "absolute_delta": -0.0897, + "candidate": 16.9574, + "definition_changed": true, + "legacy": 17.0471, + "material": false, + "relative_delta_pct": -0.5262 + }, + "revenue_growth": { + "absolute_delta": 0.0036, + "candidate": 5.9036, + "definition_changed": true, + "legacy": 5.9, + "material": false, + "relative_delta_pct": 0.061 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:37.503169+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.0561, + "candidate_fundamental_rank": 227, + "fundamental_delta": -14.9193, + "fundamental_rank_change": -169, + "legacy_fundamental": 85.9754, + "legacy_fundamental_rank": 58 + }, + "symbol": "NOC" + }, + { + "cik": "0001373715", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.2425, + "candidate": 2.1053, + "definition_changed": true, + "legacy": 4.3478, + "material": true, + "relative_delta_pct": -51.5778 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 56.0322, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.4663, + "candidate": 22.1863, + "definition_changed": true, + "legacy": 21.72, + "material": false, + "relative_delta_pct": 2.1469 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:41.642922+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.2632, + "candidate_fundamental_rank": 128, + "fundamental_delta": 23.0168, + "fundamental_rank_change": 244, + "legacy_fundamental": 57.2463, + "legacy_fundamental_rank": 372 + }, + "symbol": "NOW" + }, + { + "cik": "0001013871", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7729, + "candidate": -16.8539, + "definition_changed": true, + "legacy": -17.6268, + "material": false, + "relative_delta_pct": 4.3848 + }, + "pe_ratio": { + "absolute_delta": 31.7894, + "candidate": 155.4239, + "definition_changed": true, + "legacy": 123.6345, + "material": true, + "relative_delta_pct": 25.7124 + }, + "revenue_growth": { + "absolute_delta": 0.2908, + "candidate": 10.8708, + "definition_changed": true, + "legacy": 10.58, + "material": false, + "relative_delta_pct": 2.7486 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:46.171940+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 25.7257, + "candidate_fundamental_rank": 477, + "fundamental_delta": 0.2424, + "fundamental_rank_change": 23, + "legacy_fundamental": 25.4833, + "legacy_fundamental_rank": 500 + }, + "symbol": "NRG" + }, + { + "cik": "0000702165", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.021, + "candidate": 5.5777, + "definition_changed": true, + "legacy": 5.5567, + "material": false, + "relative_delta_pct": 0.3779 + }, + "pe_ratio": { + "absolute_delta": -0.1673, + "candidate": 29.3639, + "definition_changed": true, + "legacy": 29.5312, + "material": false, + "relative_delta_pct": -0.5665 + }, + "revenue_growth": { + "absolute_delta": 0.0027, + "candidate": 0.6027, + "definition_changed": true, + "legacy": 0.6, + "material": false, + "relative_delta_pct": 0.45 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:50.320590+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.5051, + "candidate_fundamental_rank": 330, + "fundamental_delta": 0.2231, + "fundamental_rank_change": 9, + "legacy_fundamental": 60.2821, + "legacy_fundamental_rank": 339 + }, + "symbol": "NSC" + }, + { + "cik": "0001002047", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.9538, + "candidate": 7.0485, + "definition_changed": true, + "legacy": 5.0947, + "material": false, + "relative_delta_pct": 38.3497 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 25.7965, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 5.37, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:23:54.898324+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 67.6367, + "legacy_fundamental_rank": 252 + }, + "symbol": "NTAP" + }, + { + "cik": "0000073124", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.823, + "candidate": 14.346, + "definition_changed": true, + "legacy": 7.523, + "material": true, + "relative_delta_pct": 90.6952 + }, + "pe_ratio": { + "absolute_delta": 1.0419, + "candidate": 18.6335, + "definition_changed": true, + "legacy": 17.5916, + "material": false, + "relative_delta_pct": 5.9227 + }, + "revenue_growth": { + "absolute_delta": 9.9249, + "candidate": 7.2249, + "definition_changed": true, + "legacy": -2.7, + "material": true, + "relative_delta_pct": 367.5889 + } + }, + "legacy_fetched_at": "2026-07-23T20:23:59.149624+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.3168, + "candidate_fundamental_rank": 82, + "fundamental_delta": 11.2414, + "fundamental_rank_change": 87, + "legacy_fundamental": 74.0754, + "legacy_fundamental_rank": 169 + }, + "symbol": "NTRS" + }, + { + "cik": "0000073309", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2301, + "candidate": 15.7706, + "definition_changed": true, + "legacy": 13.5405, + "material": true, + "relative_delta_pct": 16.4698 + }, + "pe_ratio": { + "absolute_delta": 0.4607, + "candidate": 23.9236, + "definition_changed": true, + "legacy": 23.4629, + "material": false, + "relative_delta_pct": 1.9635 + }, + "revenue_growth": { + "absolute_delta": -0.001, + "candidate": 12.269, + "definition_changed": true, + "legacy": 12.27, + "material": false, + "relative_delta_pct": -0.0081 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:03.868904+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.6424, + "candidate_fundamental_rank": 95, + "fundamental_delta": -0.5127, + "fundamental_rank_change": -23, + "legacy_fundamental": 84.1551, + "legacy_fundamental_rank": 72 + }, + "symbol": "NUE" + }, + { + "cik": "0001045810", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3087, + "candidate": 5.6497, + "definition_changed": true, + "legacy": 4.341, + "material": false, + "relative_delta_pct": 30.1474 + }, + "pe_ratio": { + "absolute_delta": 0.1769, + "candidate": 31.9694, + "definition_changed": true, + "legacy": 31.7925, + "material": false, + "relative_delta_pct": 0.5564 + }, + "revenue_growth": { + "absolute_delta": 0.0038, + "candidate": 70.6838, + "definition_changed": true, + "legacy": 70.68, + "material": false, + "relative_delta_pct": 0.0054 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:48.906609+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.8947, + "candidate_fundamental_rank": 201, + "fundamental_delta": 1.9847, + "fundamental_rank_change": -2, + "legacy_fundamental": 71.91, + "legacy_fundamental_rank": 199 + }, + "symbol": "NVDA" + }, + { + "cik": "0000906163", + "fields": { + "earnings_surprise": { + "absolute_delta": 27.9523, + "candidate": 15.7965, + "definition_changed": true, + "legacy": -12.1558, + "material": true, + "relative_delta_pct": 229.9503 + }, + "pe_ratio": { + "absolute_delta": 1.6124, + "candidate": 15.0313, + "definition_changed": true, + "legacy": 13.4189, + "material": true, + "relative_delta_pct": 12.0159 + }, + "revenue_growth": { + "absolute_delta": 0.2036, + "candidate": -7.4764, + "definition_changed": true, + "legacy": -7.68, + "material": false, + "relative_delta_pct": 2.651 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:08.371662+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.0682, + "candidate_fundamental_rank": 157, + "fundamental_delta": 33.4682, + "fundamental_rank_change": 311, + "legacy_fundamental": 43.6, + "legacy_fundamental_rank": 468 + }, + "symbol": "NVR" + }, + { + "cik": "0001564708", + "fields": { + "earnings_surprise": { + "absolute_delta": 37.9402, + "candidate": 50.0, + "definition_changed": true, + "legacy": 12.0598, + "material": true, + "relative_delta_pct": 314.6006 + }, + "pe_ratio": { + "absolute_delta": 1.1316, + "candidate": 14.875, + "definition_changed": true, + "legacy": 13.7434, + "material": false, + "relative_delta_pct": 8.2338 + }, + "revenue_growth": { + "absolute_delta": 5.0447, + "candidate": -1.3453, + "definition_changed": true, + "legacy": -6.39, + "material": true, + "relative_delta_pct": 78.9468 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:12.552919+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.2123, + "candidate_fundamental_rank": 107, + "fundamental_delta": 4.2039, + "fundamental_rank_change": 12, + "legacy_fundamental": 78.0083, + "legacy_fundamental_rank": 119 + }, + "symbol": "NWS" + }, + { + "cik": "0001564708", + "fields": { + "earnings_surprise": { + "absolute_delta": 19.1902, + "candidate": 31.25, + "definition_changed": true, + "legacy": 12.0598, + "material": true, + "relative_delta_pct": 159.1254 + }, + "pe_ratio": { + "absolute_delta": -0.5784, + "candidate": 13.165, + "definition_changed": true, + "legacy": 13.7434, + "material": false, + "relative_delta_pct": -4.2086 + }, + "revenue_growth": { + "absolute_delta": 5.0447, + "candidate": -1.3453, + "definition_changed": true, + "legacy": -6.39, + "material": true, + "relative_delta_pct": 78.9468 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:16.733439+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.2123, + "candidate_fundamental_rank": 107, + "fundamental_delta": 4.2039, + "fundamental_rank_change": 12, + "legacy_fundamental": 78.0083, + "legacy_fundamental_rank": 119 + }, + "symbol": "NWSA" + }, + { + "cik": "0001413447", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9729, + "candidate": 2.349, + "definition_changed": true, + "legacy": 1.3761, + "material": false, + "relative_delta_pct": 70.6998 + }, + "pe_ratio": { + "absolute_delta": -0.0222, + "candidate": 26.5096, + "definition_changed": true, + "legacy": 26.5318, + "material": false, + "relative_delta_pct": -0.0837 + }, + "revenue_growth": { + "absolute_delta": -0.0004, + "candidate": 2.3696, + "definition_changed": true, + "legacy": 2.37, + "material": false, + "relative_delta_pct": -0.0169 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:20.815134+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.7679, + "candidate_fundamental_rank": 345, + "fundamental_delta": 1.6458, + "fundamental_rank_change": 17, + "legacy_fundamental": 58.1221, + "legacy_fundamental_rank": 362 + }, + "symbol": "NXPI" + }, + { + "cik": "0000726728", + "fields": { + "earnings_surprise": { + "absolute_delta": 22.5134, + "candidate": 2.7273, + "definition_changed": true, + "legacy": -19.7861, + "material": true, + "relative_delta_pct": 113.7839 + }, + "pe_ratio": { + "absolute_delta": -1.209, + "candidate": 53.0492, + "definition_changed": true, + "legacy": 54.2582, + "material": false, + "relative_delta_pct": -2.2282 + }, + "revenue_growth": { + "absolute_delta": 0.0048, + "candidate": 9.7648, + "definition_changed": true, + "legacy": 9.76, + "material": false, + "relative_delta_pct": 0.0492 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:24.956272+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 46.0161, + "candidate_fundamental_rank": 443, + "fundamental_delta": 21.2161, + "fundamental_rank_change": 58, + "legacy_fundamental": 24.8, + "legacy_fundamental_rank": 501 + }, + "symbol": "O" + }, + { + "cik": "0000878927", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1089, + "candidate": 8.5714, + "definition_changed": true, + "legacy": 6.4625, + "material": true, + "relative_delta_pct": 32.6329 + }, + "pe_ratio": { + "absolute_delta": 0.8585, + "candidate": 48.1649, + "definition_changed": true, + "legacy": 47.3064, + "material": false, + "relative_delta_pct": 1.8148 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -4.77, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:24:29.040301+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 46.4286, + "candidate_fundamental_rank": 441, + "fundamental_delta": 6.2994, + "fundamental_rank_change": 38, + "legacy_fundamental": 40.1292, + "legacy_fundamental_rank": 479 + }, + "symbol": "ODFL" + }, + { + "cik": "0001039684", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8325, + "candidate": 3.1746, + "definition_changed": true, + "legacy": 0.3421, + "material": true, + "relative_delta_pct": 827.9743 + }, + "pe_ratio": { + "absolute_delta": -0.0191, + "candidate": 16.6185, + "definition_changed": true, + "legacy": 16.6376, + "material": false, + "relative_delta_pct": -0.1148 + }, + "revenue_growth": { + "absolute_delta": 55.7217, + "candidate": 41.0417, + "definition_changed": true, + "legacy": -14.68, + "material": true, + "relative_delta_pct": 379.5756 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:33.273398+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.826, + "candidate_fundamental_rank": 65, + "fundamental_delta": 33.642, + "fundamental_rank_change": 344, + "legacy_fundamental": 53.1839, + "legacy_fundamental_rank": 409 + }, + "symbol": "OKE" + }, + { + "cik": "0000029989", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.3184, + "candidate": -0.5236, + "definition_changed": true, + "legacy": 1.7948, + "material": true, + "relative_delta_pct": -129.1732 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 354.516, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0028, + "candidate": 25.8772, + "definition_changed": true, + "legacy": 25.88, + "material": false, + "relative_delta_pct": -0.0108 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:37.567665+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.6911, + "candidate_fundamental_rank": 203, + "fundamental_delta": 20.6998, + "fundamental_rank_change": 208, + "legacy_fundamental": 52.9913, + "legacy_fundamental_rank": 411 + }, + "symbol": "OMC" + }, + { + "cik": "0001097864", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6589, + "candidate": 4.918, + "definition_changed": true, + "legacy": 3.2591, + "material": false, + "relative_delta_pct": 50.9006 + }, + "pe_ratio": { + "absolute_delta": 6.0253, + "candidate": 66.2721, + "definition_changed": true, + "legacy": 60.2468, + "material": true, + "relative_delta_pct": 10.001 + }, + "revenue_growth": { + "absolute_delta": 0.0036, + "candidate": -9.0364, + "definition_changed": true, + "legacy": -9.04, + "material": false, + "relative_delta_pct": 0.0398 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:41.769368+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 33.9998, + "candidate_fundamental_rank": 468, + "fundamental_delta": 2.7679, + "fundamental_rank_change": 25, + "legacy_fundamental": 31.2318, + "legacy_fundamental_rank": 493 + }, + "symbol": "ON" + }, + { + "cik": "0001341439", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.2444, + "candidate": 7.6531, + "definition_changed": true, + "legacy": 1.4087, + "material": true, + "relative_delta_pct": 443.2739 + }, + "pe_ratio": { + "absolute_delta": -0.3252, + "candidate": 20.5901, + "definition_changed": true, + "legacy": 20.9153, + "material": false, + "relative_delta_pct": -1.5548 + }, + "revenue_growth": { + "absolute_delta": -0.0013, + "candidate": 17.3487, + "definition_changed": true, + "legacy": 17.35, + "material": false, + "relative_delta_pct": -0.0075 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:44.140106+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.6679, + "candidate_fundamental_rank": 54, + "fundamental_delta": 10.7676, + "fundamental_rank_change": 83, + "legacy_fundamental": 76.9003, + "legacy_fundamental_rank": 137 + }, + "symbol": "ORCL" + }, + { + "cik": "0000898173", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.6098, + "candidate": 4.3478, + "definition_changed": true, + "legacy": 1.738, + "material": true, + "relative_delta_pct": 150.1611 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 27.3925, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0024, + "candidate": 7.9224, + "definition_changed": true, + "legacy": 7.92, + "material": false, + "relative_delta_pct": 0.0303 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:45.846762+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.7726, + "candidate_fundamental_rank": 229, + "fundamental_delta": 8.3787, + "fundamental_rank_change": 95, + "legacy_fundamental": 62.3939, + "legacy_fundamental_rank": 324 + }, + "symbol": "ORLY" + }, + { + "cik": "0001781335", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.5616, + "candidate": -2.1978, + "definition_changed": true, + "legacy": -1.6362, + "material": false, + "relative_delta_pct": -34.3234 + }, + "pe_ratio": { + "absolute_delta": 0.6685, + "candidate": 18.8218, + "definition_changed": true, + "legacy": 18.1533, + "material": false, + "relative_delta_pct": 3.6825 + }, + "revenue_growth": { + "absolute_delta": -0.0029, + "candidate": 3.3371, + "definition_changed": true, + "legacy": 3.34, + "material": false, + "relative_delta_pct": -0.0868 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:49.991623+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.5381, + "candidate_fundamental_rank": 319, + "fundamental_delta": -1.6812, + "fundamental_rank_change": -7, + "legacy_fundamental": 63.2193, + "legacy_fundamental_rank": 312 + }, + "symbol": "OTIS" + }, + { + "cik": "0000797468", + "fields": { + "earnings_surprise": { + "absolute_delta": -14.4478, + "candidate": 63.0769, + "definition_changed": true, + "legacy": 77.5247, + "material": true, + "relative_delta_pct": -18.6364 + }, + "pe_ratio": { + "absolute_delta": 2.3526, + "candidate": 14.5088, + "definition_changed": true, + "legacy": 12.1562, + "material": true, + "relative_delta_pct": 19.3531 + }, + "revenue_growth": { + "absolute_delta": -18.7452, + "candidate": -26.6952, + "definition_changed": true, + "legacy": -7.95, + "material": true, + "relative_delta_pct": -235.7887 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:54.116813+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": -10.0417, + "fundamental_rank_change": -125, + "legacy_fundamental": 76.7083, + "legacy_fundamental_rank": 142 + }, + "symbol": "OXY" + }, + { + "cik": "0001327567", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.1553, + "candidate": 4.9383, + "definition_changed": true, + "legacy": 4.783, + "material": false, + "relative_delta_pct": 3.2469 + }, + "pe_ratio": { + "absolute_delta": -41.0642, + "candidate": 283.1565, + "definition_changed": true, + "legacy": 324.2207, + "material": true, + "relative_delta_pct": -12.6655 + }, + "revenue_growth": { + "absolute_delta": 0.0016, + "candidate": 19.5116, + "definition_changed": true, + "legacy": 19.51, + "material": false, + "relative_delta_pct": 0.0082 + } + }, + "legacy_fetched_at": "2026-07-23T20:24:58.230323+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 57.8235, + "candidate_fundamental_rank": 365, + "fundamental_delta": 0.2602, + "fundamental_rank_change": 3, + "legacy_fundamental": 57.5633, + "legacy_fundamental_rank": 368 + }, + "symbol": "PANW" + }, + { + "cik": "0000723531", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5227, + "candidate": 0.7634, + "definition_changed": true, + "legacy": -0.7593, + "material": false, + "relative_delta_pct": 200.54 + }, + "pe_ratio": { + "absolute_delta": 0.3171, + "candidate": 22.6299, + "definition_changed": true, + "legacy": 22.3128, + "material": false, + "relative_delta_pct": 1.4212 + }, + "revenue_growth": { + "absolute_delta": -0.4087, + "candidate": 16.4713, + "definition_changed": true, + "legacy": 16.88, + "material": false, + "relative_delta_pct": -2.4212 + } + }, + "legacy_fetched_at": "2026-07-23T20:55:04.550673+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.1874, + "candidate_fundamental_rank": 206, + "fundamental_delta": 1.8449, + "fundamental_rank_change": 3, + "legacy_fundamental": 71.3425, + "legacy_fundamental_rank": 209 + }, + "symbol": "PAYX" + }, + { + "cik": "0000075362", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.4205, + "candidate": 1.7699, + "definition_changed": true, + "legacy": -1.6506, + "material": true, + "relative_delta_pct": 207.2277 + }, + "pe_ratio": { + "absolute_delta": -0.4742, + "candidate": 27.8191, + "definition_changed": true, + "legacy": 28.2933, + "material": false, + "relative_delta_pct": -1.676 + }, + "revenue_growth": { + "absolute_delta": 0.0023, + "candidate": -14.1577, + "definition_changed": true, + "legacy": -14.16, + "material": false, + "relative_delta_pct": 0.0162 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:02.637541+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 43.5749, + "candidate_fundamental_rank": 454, + "fundamental_delta": 6.2296, + "fundamental_rank_change": 31, + "legacy_fundamental": 37.3453, + "legacy_fundamental_rank": 485 + }, + "symbol": "PCAR" + }, + { + "cik": "0001004980", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.2151, + "candidate": 10.2564, + "definition_changed": true, + "legacy": 10.0413, + "material": false, + "relative_delta_pct": 2.1422 + }, + "pe_ratio": { + "absolute_delta": -0.7221, + "candidate": 12.6187, + "definition_changed": true, + "legacy": 13.3408, + "material": false, + "relative_delta_pct": -5.4127 + }, + "revenue_growth": { + "absolute_delta": 0.3998, + "candidate": 5.6598, + "definition_changed": true, + "legacy": 5.26, + "material": false, + "relative_delta_pct": 7.6008 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:06.933195+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.0499, + "candidate_fundamental_rank": 52, + "fundamental_delta": 0.3332, + "fundamental_rank_change": -4, + "legacy_fundamental": 87.7167, + "legacy_fundamental_rank": 48 + }, + "symbol": "PCG" + }, + { + "cik": "0000788784", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.4396, + "candidate": 5.4422, + "definition_changed": true, + "legacy": 6.8818, + "material": false, + "relative_delta_pct": -20.9189 + }, + "pe_ratio": { + "absolute_delta": 0.0429, + "candidate": 17.6482, + "definition_changed": true, + "legacy": 17.6053, + "material": false, + "relative_delta_pct": 0.2437 + }, + "revenue_growth": { + "absolute_delta": 0.0018, + "candidate": 18.9918, + "definition_changed": true, + "legacy": 18.99, + "material": false, + "relative_delta_pct": 0.0095 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:10.955290+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.621, + "candidate_fundamental_rank": 45, + "fundamental_delta": -2.4456, + "fundamental_rank_change": -14, + "legacy_fundamental": 91.0666, + "legacy_fundamental_rank": 31 + }, + "symbol": "PEG" + }, + { + "cik": "0000077476", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.7709, + "candidate": 0.4566, + "definition_changed": true, + "legacy": -1.3143, + "material": false, + "relative_delta_pct": 134.7409 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 17.7484, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 5.62, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:47:48.260579+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 66.1057, + "legacy_fundamental_rank": 280 + }, + "symbol": "PEP" + }, + { + "cik": "0000078003", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0855, + "candidate": 5.6338, + "definition_changed": true, + "legacy": 3.5483, + "material": true, + "relative_delta_pct": 58.7746 + }, + "pe_ratio": { + "absolute_delta": 0.0858, + "candidate": 19.0916, + "definition_changed": true, + "legacy": 19.0058, + "material": false, + "relative_delta_pct": 0.4514 + }, + "revenue_growth": { + "absolute_delta": 0.004, + "candidate": 1.364, + "definition_changed": true, + "legacy": 1.36, + "material": false, + "relative_delta_pct": 0.2941 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:15.060675+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.6468, + "candidate_fundamental_rank": 213, + "fundamental_delta": 3.3838, + "fundamental_rank_change": 21, + "legacy_fundamental": 69.2629, + "legacy_fundamental_rank": 234 + }, + "symbol": "PFE" + }, + { + "cik": "0001126328", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7225, + "candidate": 2.9851, + "definition_changed": true, + "legacy": 2.2626, + "material": false, + "relative_delta_pct": 31.9323 + }, + "pe_ratio": { + "absolute_delta": 0.3418, + "candidate": 15.3974, + "definition_changed": true, + "legacy": 15.0556, + "material": false, + "relative_delta_pct": 2.2703 + }, + "revenue_growth": { + "absolute_delta": -0.2159, + "candidate": -1.9759, + "definition_changed": true, + "legacy": -1.76, + "material": false, + "relative_delta_pct": -12.267 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:19.112394+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.5537, + "candidate_fundamental_rank": 247, + "fundamental_delta": 0.6444, + "fundamental_rank_change": -11, + "legacy_fundamental": 68.9092, + "legacy_fundamental_rank": 236 + }, + "symbol": "PFG" + }, + { + "cik": "0000080424", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.6907, + "candidate": 1.9231, + "definition_changed": true, + "legacy": -0.7676, + "material": true, + "relative_delta_pct": 350.5341 + }, + "pe_ratio": { + "absolute_delta": 1.0051, + "candidate": 21.4868, + "definition_changed": true, + "legacy": 20.4817, + "material": false, + "relative_delta_pct": 4.9073 + }, + "revenue_growth": { + "absolute_delta": -0.0057, + "candidate": 3.3243, + "definition_changed": true, + "legacy": 3.33, + "material": false, + "relative_delta_pct": -0.1712 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:52.275950+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.4345, + "candidate_fundamental_rank": 284, + "fundamental_delta": 3.3629, + "fundamental_rank_change": 48, + "legacy_fundamental": 62.0716, + "legacy_fundamental_rank": 332 + }, + "symbol": "PG" + }, + { + "cik": "0000080661", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.6451, + "candidate": 3.1915, + "definition_changed": true, + "legacy": -0.4536, + "material": true, + "relative_delta_pct": 803.5935 + }, + "pe_ratio": { + "absolute_delta": 0.1926, + "candidate": 10.5326, + "definition_changed": true, + "legacy": 10.34, + "material": false, + "relative_delta_pct": 1.8627 + }, + "revenue_growth": { + "absolute_delta": 0.0032, + "candidate": 13.8932, + "definition_changed": true, + "legacy": 13.89, + "material": false, + "relative_delta_pct": 0.023 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:23.284506+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 83.5635, + "candidate_fundamental_rank": 96, + "fundamental_delta": 6.0778, + "fundamental_rank_change": 33, + "legacy_fundamental": 77.4857, + "legacy_fundamental_rank": 129 + }, + "symbol": "PGR" + }, + { + "cik": "0000076334", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.7895, + "candidate": 4.0764, + "definition_changed": true, + "legacy": 1.2869, + "material": true, + "relative_delta_pct": 216.7612 + }, + "pe_ratio": { + "absolute_delta": 1.035, + "candidate": 36.3646, + "definition_changed": true, + "legacy": 35.3296, + "material": false, + "relative_delta_pct": 2.9296 + }, + "revenue_growth": { + "absolute_delta": -0.0012, + "candidate": 6.0288, + "definition_changed": true, + "legacy": 6.03, + "material": false, + "relative_delta_pct": -0.0199 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:27.332724+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 54.7463, + "candidate_fundamental_rank": 385, + "fundamental_delta": 3.4983, + "fundamental_rank_change": 34, + "legacy_fundamental": 51.2481, + "legacy_fundamental_rank": 419 + }, + "symbol": "PH" + }, + { + "cik": "0000822416", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.504, + "candidate": -0.5556, + "definition_changed": true, + "legacy": 3.9484, + "material": true, + "relative_delta_pct": -114.0715 + }, + "pe_ratio": { + "absolute_delta": 1.0521, + "candidate": 12.7344, + "definition_changed": true, + "legacy": 11.6823, + "material": false, + "relative_delta_pct": 9.0059 + }, + "revenue_growth": { + "absolute_delta": -1.3361, + "candidate": -7.2761, + "definition_changed": true, + "legacy": -5.94, + "material": false, + "relative_delta_pct": -22.4933 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:31.455843+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.6774, + "candidate_fundamental_rank": 346, + "fundamental_delta": -8.62, + "fundamental_rank_change": -102, + "legacy_fundamental": 68.2973, + "legacy_fundamental_rank": 244 + }, + "symbol": "PHM" + }, + { + "cik": "0000075677", + "fields": { + "earnings_surprise": { + "absolute_delta": 10.0557, + "candidate": 10.5991, + "definition_changed": true, + "legacy": 0.5434, + "material": true, + "relative_delta_pct": 1850.5153 + }, + "pe_ratio": { + "absolute_delta": 0.5583, + "candidate": 28.4204, + "definition_changed": true, + "legacy": 27.8621, + "material": false, + "relative_delta_pct": 2.0038 + }, + "revenue_growth": { + "absolute_delta": -0.0038, + "candidate": 7.8562, + "definition_changed": true, + "legacy": 7.86, + "material": false, + "relative_delta_pct": -0.0483 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:35.578087+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.9686, + "candidate_fundamental_rank": 186, + "fundamental_delta": 15.1375, + "fundamental_rank_change": 156, + "legacy_fundamental": 59.8311, + "legacy_fundamental_rank": 342 + }, + "symbol": "PKG" + }, + { + "cik": "0001045609", + "fields": { + "earnings_surprise": { + "absolute_delta": -35.0859, + "candidate": 6.5359, + "definition_changed": true, + "legacy": 41.6218, + "material": true, + "relative_delta_pct": -84.2969 + }, + "pe_ratio": { + "absolute_delta": 4.0863, + "candidate": 36.4623, + "definition_changed": true, + "legacy": 32.376, + "material": true, + "relative_delta_pct": 12.6214 + }, + "revenue_growth": { + "absolute_delta": -0.629, + "candidate": 6.721, + "definition_changed": true, + "legacy": 7.35, + "material": false, + "relative_delta_pct": -8.5578 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:39.839868+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.3137, + "candidate_fundamental_rank": 354, + "fundamental_delta": -10.8379, + "fundamental_rank_change": -128, + "legacy_fundamental": 70.1517, + "legacy_fundamental_rank": 226 + }, + "symbol": "PLD" + }, + { + "cik": "0001321655", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.037, + "candidate": 13.7931, + "definition_changed": true, + "legacy": 15.8301, + "material": true, + "relative_delta_pct": -12.8679 + }, + "pe_ratio": { + "absolute_delta": 7.7263, + "candidate": 138.618, + "definition_changed": true, + "legacy": 130.8917, + "material": false, + "relative_delta_pct": 5.9028 + }, + "revenue_growth": { + "absolute_delta": -0.0011, + "candidate": 67.7089, + "definition_changed": true, + "legacy": 67.71, + "material": false, + "relative_delta_pct": -0.0016 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:43.953307+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "PLTR" + }, + { + "cik": "0001413329", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.2041, + "candidate": 7.6923, + "definition_changed": true, + "legacy": 4.4882, + "material": true, + "relative_delta_pct": 71.3894 + }, + "pe_ratio": { + "absolute_delta": -0.4077, + "candidate": 26.9183, + "definition_changed": true, + "legacy": 27.326, + "material": false, + "relative_delta_pct": -1.492 + }, + "revenue_growth": { + "absolute_delta": 0.0041, + "candidate": 8.0941, + "definition_changed": true, + "legacy": 8.09, + "material": false, + "relative_delta_pct": 0.0507 + } + }, + "legacy_fetched_at": "2026-07-23T20:47:56.249405+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.9897, + "candidate_fundamental_rank": 210, + "fundamental_delta": 5.7966, + "fundamental_rank_change": 44, + "legacy_fundamental": 67.1931, + "legacy_fundamental_rank": 254 + }, + "symbol": "PM" + }, + { + "cik": "0000713676", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.3281, + "candidate": 7.5388, + "definition_changed": true, + "legacy": 7.8669, + "material": false, + "relative_delta_pct": -4.1706 + }, + "pe_ratio": { + "absolute_delta": 1.4395, + "candidate": 14.4834, + "definition_changed": true, + "legacy": 13.0439, + "material": true, + "relative_delta_pct": 11.0358 + }, + "revenue_growth": { + "absolute_delta": -63.3477, + "candidate": 8.9196, + "definition_changed": true, + "legacy": 72.2673, + "material": true, + "relative_delta_pct": -87.6575 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:47.946374+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.6643, + "candidate_fundamental_rank": 68, + "fundamental_delta": -9.7805, + "fundamental_rank_change": -47, + "legacy_fundamental": 96.4448, + "legacy_fundamental_rank": 21 + }, + "symbol": "PNC" + }, + { + "cik": "0000077360", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.98, + "candidate": 4.2735, + "definition_changed": true, + "legacy": 3.2935, + "material": false, + "relative_delta_pct": 29.7556 + }, + "pe_ratio": { + "absolute_delta": 0.2563, + "candidate": 15.2132, + "definition_changed": true, + "legacy": 14.9569, + "material": false, + "relative_delta_pct": 1.7136 + }, + "revenue_growth": { + "absolute_delta": -0.0014, + "candidate": 3.0986, + "definition_changed": true, + "legacy": 3.1, + "material": false, + "relative_delta_pct": -0.0452 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:52.031069+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.1344, + "candidate_fundamental_rank": 171, + "fundamental_delta": 1.3953, + "fundamental_rank_change": -6, + "legacy_fundamental": 74.7392, + "legacy_fundamental_rank": 165 + }, + "symbol": "PNR" + }, + { + "cik": "0000764622", + "fields": { + "earnings_surprise": { + "absolute_delta": -1331.405, + "candidate": 1000.0, + "definition_changed": true, + "legacy": 2331.405, + "material": true, + "relative_delta_pct": -57.1074 + }, + "pe_ratio": { + "absolute_delta": -0.0054, + "candidate": 19.6698, + "definition_changed": true, + "legacy": 19.6752, + "material": false, + "relative_delta_pct": -0.0274 + }, + "revenue_growth": { + "absolute_delta": -0.0033, + "candidate": 4.8367, + "definition_changed": true, + "legacy": 4.84, + "material": false, + "relative_delta_pct": -0.0682 + } + }, + "legacy_fetched_at": "2026-07-23T20:25:56.307931+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.1753, + "candidate_fundamental_rank": 110, + "fundamental_delta": 0.0033, + "fundamental_rank_change": -23, + "legacy_fundamental": 82.172, + "legacy_fundamental_rank": 87 + }, + "symbol": "PNW" + }, + { + "cik": "0001145197", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.368, + "candidate": 24.5614, + "definition_changed": true, + "legacy": 16.1934, + "material": true, + "relative_delta_pct": 51.6754 + }, + "pe_ratio": { + "absolute_delta": 0.8346, + "candidate": 37.0047, + "definition_changed": true, + "legacy": 36.1701, + "material": false, + "relative_delta_pct": 2.3074 + }, + "revenue_growth": { + "absolute_delta": -0.0095, + "candidate": 31.9205, + "definition_changed": true, + "legacy": 31.93, + "material": false, + "relative_delta_pct": -0.0298 + } + }, + "legacy_fetched_at": "2026-07-23T20:26:00.347042+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.5504, + "candidate_fundamental_rank": 177, + "fundamental_delta": -0.9273, + "fundamental_rank_change": -32, + "legacy_fundamental": 76.4777, + "legacy_fundamental_rank": 145 + }, + "symbol": "PODD" + }, + { + "cik": "0000945841", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.1437, + "candidate": 6.7164, + "definition_changed": true, + "legacy": -1.4273, + "material": true, + "relative_delta_pct": 570.5668 + }, + "pe_ratio": { + "absolute_delta": -1.082, + "candidate": 16.8502, + "definition_changed": true, + "legacy": 17.9322, + "material": false, + "relative_delta_pct": -6.0338 + }, + "revenue_growth": { + "absolute_delta": 0.0006, + "candidate": 1.7906, + "definition_changed": true, + "legacy": 1.79, + "material": false, + "relative_delta_pct": 0.0335 + } + }, + "legacy_fetched_at": "2026-07-23T20:26:04.636143+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.2971, + "candidate_fundamental_rank": 155, + "fundamental_delta": 14.7756, + "fundamental_rank_change": 166, + "legacy_fundamental": 62.5215, + "legacy_fundamental_rank": 321 + }, + "symbol": "POOL" + }, + { + "cik": "0000079879", + "fields": { + "earnings_surprise": { + "absolute_delta": -2.3834, + "candidate": 0.0, + "definition_changed": true, + "legacy": 2.3834, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": -0.0161, + "candidate": 16.2268, + "definition_changed": true, + "legacy": 16.2429, + "material": false, + "relative_delta_pct": -0.0991 + }, + "revenue_growth": { + "absolute_delta": 9.8738, + "candidate": 5.9338, + "definition_changed": true, + "legacy": -3.94, + "material": true, + "relative_delta_pct": 250.6041 + } + }, + "legacy_fetched_at": "2026-07-23T20:26:09.038295+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.2483, + "candidate_fundamental_rank": 237, + "fundamental_delta": 4.2737, + "fundamental_rank_change": 46, + "legacy_fundamental": 65.9747, + "legacy_fundamental_rank": 283 + }, + "symbol": "PPG" + }, + { + "cik": "0000922224", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0901, + "candidate": 3.2787, + "definition_changed": true, + "legacy": 1.1886, + "material": true, + "relative_delta_pct": 175.8455 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 22.4316, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -58.81, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:26:13.476727+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 43.7237, + "legacy_fundamental_rank": 467 + }, + "symbol": "PPL" + }, + { + "cik": "0001137774", + "fields": { + "earnings_surprise": { + "absolute_delta": -3.9673, + "candidate": 11.4198, + "definition_changed": true, + "legacy": 15.3871, + "material": true, + "relative_delta_pct": -25.7833 + }, + "pe_ratio": { + "absolute_delta": 0.4114, + "candidate": 12.1359, + "definition_changed": true, + "legacy": 11.7245, + "material": false, + "relative_delta_pct": 3.5089 + }, + "revenue_growth": { + "absolute_delta": 0.2318, + "candidate": 4.0818, + "definition_changed": true, + "legacy": 3.85, + "material": false, + "relative_delta_pct": 6.0208 + } + }, + "legacy_fetched_at": "2026-07-23T20:26:17.621527+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.7348, + "candidate_fundamental_rank": 66, + "fundamental_delta": 0.1931, + "fundamental_rank_change": -9, + "legacy_fundamental": 86.5417, + "legacy_fundamental_rank": 57 + }, + "symbol": "PRU" + }, + { + "cik": "0001393311", + "fields": { + "earnings_surprise": { + "absolute_delta": -10.2223, + "candidate": 2.1792, + "definition_changed": true, + "legacy": 12.4015, + "material": true, + "relative_delta_pct": -82.4279 + }, + "pe_ratio": { + "absolute_delta": 3.7809, + "candidate": 32.5424, + "definition_changed": true, + "legacy": 28.7615, + "material": true, + "relative_delta_pct": 13.1457 + }, + "revenue_growth": { + "absolute_delta": 0.0035, + "candidate": 2.9035, + "definition_changed": true, + "legacy": 2.9, + "material": false, + "relative_delta_pct": 0.1207 + } + }, + "legacy_fetched_at": "2026-07-23T20:26:22.090520+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.2267, + "candidate_fundamental_rank": 397, + "fundamental_delta": -17.2328, + "fundamental_rank_change": -177, + "legacy_fundamental": 70.4594, + "legacy_fundamental_rank": 220 + }, + "symbol": "PSA" + }, + { + "cik": "0002041610", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5181, + "candidate": 53.3333, + "definition_changed": true, + "legacy": 51.8152, + "material": false, + "relative_delta_pct": 2.9298 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 1.14, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:28:19.535823+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 76.425, + "legacy_fundamental_rank": 147 + }, + "symbol": "PSKY" + }, + { + "cik": "0001534701", + "fields": { + "earnings_surprise": { + "absolute_delta": -32.1962, + "candidate": 189.0909, + "definition_changed": true, + "legacy": 221.2871, + "material": true, + "relative_delta_pct": -14.5495 + }, + "pe_ratio": { + "absolute_delta": -0.1057, + "candidate": 20.4526, + "definition_changed": true, + "legacy": 20.5583, + "material": false, + "relative_delta_pct": -0.5141 + }, + "revenue_growth": { + "absolute_delta": 0.0049, + "candidate": -2.3851, + "definition_changed": true, + "legacy": -2.39, + "material": false, + "relative_delta_pct": 0.205 + } + }, + "legacy_fetched_at": "2026-07-23T20:28:24.027387+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.2873, + "candidate_fundamental_rank": 181, + "fundamental_delta": 0.1216, + "fundamental_rank_change": -22, + "legacy_fundamental": 75.1658, + "legacy_fundamental_rank": 159 + }, + "symbol": "PSX" + }, + { + "cik": "0000857005", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.1608, + "candidate": 30.5825, + "definition_changed": true, + "legacy": 26.4217, + "material": true, + "relative_delta_pct": 15.7477 + }, + "pe_ratio": { + "absolute_delta": 0.3427, + "candidate": 10.8598, + "definition_changed": true, + "legacy": 10.5171, + "material": false, + "relative_delta_pct": 3.2585 + }, + "revenue_growth": { + "absolute_delta": -0.001, + "candidate": 27.749, + "definition_changed": true, + "legacy": 27.75, + "material": false, + "relative_delta_pct": -0.0036 + } + }, + "legacy_fetched_at": "2026-07-23T20:28:28.457869+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0, + "fundamental_rank_change": 0, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "PTC" + }, + { + "cik": "0001050915", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.6501, + "candidate": 31.3725, + "definition_changed": true, + "legacy": 28.7224, + "material": true, + "relative_delta_pct": 9.2266 + }, + "pe_ratio": { + "absolute_delta": 0.6396, + "candidate": 89.6845, + "definition_changed": true, + "legacy": 89.0449, + "material": false, + "relative_delta_pct": 0.7183 + }, + "revenue_growth": { + "absolute_delta": 0.0034, + "candidate": 21.0934, + "definition_changed": true, + "legacy": 21.09, + "material": false, + "relative_delta_pct": 0.0161 + } + }, + "legacy_fetched_at": "2026-07-23T20:28:32.773612+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "PWR" + }, + { + "cik": "0001633917", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8688, + "candidate": 5.5118, + "definition_changed": true, + "legacy": 3.643, + "material": false, + "relative_delta_pct": 51.2984 + }, + "pe_ratio": { + "absolute_delta": 0.7954, + "candidate": 10.5066, + "definition_changed": true, + "legacy": 9.7112, + "material": false, + "relative_delta_pct": 8.1905 + }, + "revenue_growth": { + "absolute_delta": -0.0043, + "candidate": 5.7857, + "definition_changed": true, + "legacy": 5.79, + "material": false, + "relative_delta_pct": -0.0743 + } + }, + "legacy_fetched_at": "2026-07-23T20:28:36.905249+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.6744, + "candidate_fundamental_rank": 125, + "fundamental_delta": 3.1111, + "fundamental_rank_change": 3, + "legacy_fundamental": 77.5633, + "legacy_fundamental_rank": 128 + }, + "symbol": "PYPL" + }, + { + "cik": "0002058873", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.632, + "candidate": 17.3913, + "definition_changed": true, + "legacy": 14.7593, + "material": true, + "relative_delta_pct": 17.8328 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 62.8652, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:30:38.849109+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 50.0, + "legacy_fundamental_rank": 428 + }, + "symbol": "Q" + }, + { + "cik": "0000804328", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.689, + "candidate": 3.1128, + "definition_changed": true, + "legacy": 1.4238, + "material": false, + "relative_delta_pct": 118.6262 + }, + "pe_ratio": { + "absolute_delta": 0.4534, + "candidate": 18.3989, + "definition_changed": true, + "legacy": 17.9455, + "material": false, + "relative_delta_pct": 2.5265 + }, + "revenue_growth": { + "absolute_delta": -0.0073, + "candidate": 5.2027, + "definition_changed": true, + "legacy": 5.21, + "material": false, + "relative_delta_pct": -0.1401 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:00.292122+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.4137, + "candidate_fundamental_rank": 215, + "fundamental_delta": 2.3052, + "fundamental_rank_change": 12, + "legacy_fundamental": 70.1086, + "legacy_fundamental_rank": 227 + }, + "symbol": "QCOM" + }, + { + "cik": "0000884887", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.6675, + "candidate": 12.5, + "definition_changed": true, + "legacy": 11.8325, + "material": false, + "relative_delta_pct": 5.6412 + }, + "pe_ratio": { + "absolute_delta": 0.1754, + "candidate": 17.2916, + "definition_changed": true, + "legacy": 17.1162, + "material": false, + "relative_delta_pct": 1.0248 + }, + "revenue_growth": { + "absolute_delta": -0.0037, + "candidate": 9.7463, + "definition_changed": true, + "legacy": 9.75, + "material": false, + "relative_delta_pct": -0.0379 + } + }, + "legacy_fetched_at": "2026-07-23T20:30:44.916875+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.909, + "candidate_fundamental_rank": 44, + "fundamental_delta": -0.198, + "fundamental_rank_change": -5, + "legacy_fundamental": 89.107, + "legacy_fundamental_rank": 39 + }, + "symbol": "RCL" + }, + { + "cik": "0000910606", + "fields": { + "earnings_surprise": { + "absolute_delta": -8.1835, + "candidate": -0.8264, + "definition_changed": true, + "legacy": 7.3571, + "material": true, + "relative_delta_pct": -111.2327 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 27.4668, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 7.76, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:30:51.843526+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 71.5432, + "legacy_fundamental_rank": 201 + }, + "symbol": "REG" + }, + { + "cik": "0000872589", + "fields": { + "earnings_surprise": { + "absolute_delta": 7.2669, + "candidate": 11.1502, + "definition_changed": true, + "legacy": 3.8833, + "material": true, + "relative_delta_pct": 187.1321 + }, + "pe_ratio": { + "absolute_delta": 0.6765, + "candidate": 15.9158, + "definition_changed": true, + "legacy": 15.2393, + "material": false, + "relative_delta_pct": 4.4392 + }, + "revenue_growth": { + "absolute_delta": 0.0002, + "candidate": 5.9202, + "definition_changed": true, + "legacy": 5.92, + "material": false, + "relative_delta_pct": 0.0034 + } + }, + "legacy_fetched_at": "2026-07-23T20:30:57.915167+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.2493, + "candidate_fundamental_rank": 60, + "fundamental_delta": 9.443, + "fundamental_rank_change": 64, + "legacy_fundamental": 77.8063, + "legacy_fundamental_rank": 124 + }, + "symbol": "REGN" + }, + { + "cik": "0001281761", + "fields": { + "earnings_surprise": { + "absolute_delta": 7.1788, + "candidate": 6.25, + "definition_changed": true, + "legacy": -0.9288, + "material": true, + "relative_delta_pct": 772.9113 + }, + "pe_ratio": { + "absolute_delta": 1.0836, + "candidate": 12.722, + "definition_changed": true, + "legacy": 11.6384, + "material": false, + "relative_delta_pct": 9.3106 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 45.419, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:31:04.210865+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 90.625, + "candidate_fundamental_rank": 37, + "fundamental_delta": 8.8397, + "fundamental_rank_change": 52, + "legacy_fundamental": 81.7853, + "legacy_fundamental_rank": 89 + }, + "symbol": "RF" + }, + { + "cik": null, + "fields": { + "earnings_surprise": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": null, + "price_date": null, + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": null, + "legacy_fundamental_rank": null + }, + "symbol": "RHM" + }, + { + "cik": "0000720005", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.1722, + "candidate": 2.5362, + "definition_changed": true, + "legacy": 6.7084, + "material": true, + "relative_delta_pct": -62.1937 + }, + "pe_ratio": { + "absolute_delta": 0.6451, + "candidate": 15.6884, + "definition_changed": true, + "legacy": 15.0433, + "material": false, + "relative_delta_pct": 4.2883 + }, + "revenue_growth": { + "absolute_delta": 0.0033, + "candidate": 5.2733, + "definition_changed": true, + "legacy": 5.27, + "material": false, + "relative_delta_pct": 0.0626 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:09.697199+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.5232, + "candidate_fundamental_rank": 192, + "fundamental_delta": -7.6677, + "fundamental_rank_change": -106, + "legacy_fundamental": 82.1909, + "legacy_fundamental_rank": 86 + }, + "symbol": "RJF" + }, + { + "cik": "0001819994", + "fields": { + "earnings_surprise": { + "absolute_delta": 35.8896, + "candidate": 50.0, + "definition_changed": true, + "legacy": 14.1104, + "material": true, + "relative_delta_pct": 254.3486 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0028, + "candidate": 45.8272, + "definition_changed": true, + "legacy": 45.83, + "material": false, + "relative_delta_pct": -0.0061 + } + }, + "legacy_fetched_at": "2026-07-23T21:00:57.217604+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0, + "fundamental_rank_change": 0, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "RKLB" + }, + { + "cik": "0001037038", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.6032, + "candidate": 7.2414, + "definition_changed": true, + "legacy": 6.6382, + "material": false, + "relative_delta_pct": 9.0868 + }, + "pe_ratio": { + "absolute_delta": 0.8946, + "candidate": 24.5989, + "definition_changed": true, + "legacy": 23.7043, + "material": false, + "relative_delta_pct": 3.774 + }, + "revenue_growth": { + "absolute_delta": -0.0022, + "candidate": 14.6278, + "definition_changed": true, + "legacy": 14.63, + "material": false, + "relative_delta_pct": -0.015 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:15.078099+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.26, + "candidate_fundamental_rank": 129, + "fundamental_delta": 0.0094, + "fundamental_rank_change": -31, + "legacy_fundamental": 80.2506, + "legacy_fundamental_rank": 98 + }, + "symbol": "RL" + }, + { + "cik": "0000943819", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.227, + "candidate": 2.509, + "definition_changed": true, + "legacy": 1.282, + "material": false, + "relative_delta_pct": 95.7098 + }, + "pe_ratio": { + "absolute_delta": 0.2067, + "candidate": 18.5043, + "definition_changed": true, + "legacy": 18.2976, + "material": false, + "relative_delta_pct": 1.1297 + }, + "revenue_growth": { + "absolute_delta": 0.0009, + "candidate": 10.2809, + "definition_changed": true, + "legacy": 10.28, + "material": false, + "relative_delta_pct": 0.0088 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:19.949745+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.522, + "candidate_fundamental_rank": 178, + "fundamental_delta": 1.816, + "fundamental_rank_change": -5, + "legacy_fundamental": 73.706, + "legacy_fundamental_rank": 173 + }, + "symbol": "RMD" + }, + { + "cik": "0001024478", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0492, + "candidate": 14.1869, + "definition_changed": true, + "legacy": 13.1377, + "material": false, + "relative_delta_pct": 7.9862 + }, + "pe_ratio": { + "absolute_delta": 1.1847, + "candidate": 47.8349, + "definition_changed": true, + "legacy": 46.6502, + "material": false, + "relative_delta_pct": 2.5395 + }, + "revenue_growth": { + "absolute_delta": 0.0006, + "candidate": 10.4906, + "definition_changed": true, + "legacy": 10.49, + "material": false, + "relative_delta_pct": 0.0057 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:25.833177+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.7422, + "candidate_fundamental_rank": 359, + "fundamental_delta": 0.0005, + "fundamental_rank_change": -4, + "legacy_fundamental": 58.7417, + "legacy_fundamental_rank": 355 + }, + "symbol": "ROK" + }, + { + "cik": "0000084839", + "fields": { + "earnings_surprise": { + "absolute_delta": 6.9767, + "candidate": 0.0, + "definition_changed": true, + "legacy": -6.9767, + "material": true, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 0.4486, + "candidate": 36.1835, + "definition_changed": true, + "legacy": 35.7349, + "material": false, + "relative_delta_pct": 1.2554 + }, + "revenue_growth": { + "absolute_delta": 0.0044, + "candidate": 11.0344, + "definition_changed": true, + "legacy": 11.03, + "material": false, + "relative_delta_pct": 0.0399 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:31.361853+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.3248, + "candidate_fundamental_rank": 405, + "fundamental_delta": 11.1331, + "fundamental_rank_change": 71, + "legacy_fundamental": 41.1917, + "legacy_fundamental_rank": 476 + }, + "symbol": "ROL" + }, + { + "cik": "0000882835", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0531, + "candidate": 3.8229, + "definition_changed": true, + "legacy": 0.7698, + "material": true, + "relative_delta_pct": 396.6095 + }, + "pe_ratio": { + "absolute_delta": 1.0915, + "candidate": 22.1811, + "definition_changed": true, + "legacy": 21.0896, + "material": false, + "relative_delta_pct": 5.1755 + }, + "revenue_growth": { + "absolute_delta": -0.0045, + "candidate": 12.0655, + "definition_changed": true, + "legacy": 12.07, + "material": false, + "relative_delta_pct": -0.0373 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:36.354739+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.1138, + "candidate_fundamental_rank": 184, + "fundamental_delta": 3.872, + "fundamental_rank_change": 26, + "legacy_fundamental": 71.2418, + "legacy_fundamental_rank": 210 + }, + "symbol": "ROP" + }, + { + "cik": "0000745732", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.3565, + "candidate": 18.8235, + "definition_changed": true, + "legacy": 14.467, + "material": true, + "relative_delta_pct": 30.1134 + }, + "pe_ratio": { + "absolute_delta": -0.0442, + "candidate": 32.4567, + "definition_changed": true, + "legacy": 32.5009, + "material": false, + "relative_delta_pct": -0.136 + }, + "revenue_growth": { + "absolute_delta": -0.0049, + "candidate": 11.8551, + "definition_changed": true, + "legacy": 11.86, + "material": false, + "relative_delta_pct": -0.0413 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:41.874867+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.8163, + "candidate_fundamental_rank": 202, + "fundamental_delta": 0.045, + "fundamental_rank_change": -30, + "legacy_fundamental": 73.7712, + "legacy_fundamental_rank": 172 + }, + "symbol": "ROST" + }, + { + "cik": "0001060391", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8214, + "candidate": 3.6585, + "definition_changed": true, + "legacy": 2.8371, + "material": false, + "relative_delta_pct": 28.9521 + }, + "pe_ratio": { + "absolute_delta": 0.511, + "candidate": 31.1937, + "definition_changed": true, + "legacy": 30.6827, + "material": false, + "relative_delta_pct": 1.6654 + }, + "revenue_growth": { + "absolute_delta": -0.0026, + "candidate": 3.1874, + "definition_changed": true, + "legacy": 3.19, + "material": false, + "relative_delta_pct": -0.0815 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:46.509825+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 57.4274, + "candidate_fundamental_rank": 366, + "fundamental_delta": 0.7991, + "fundamental_rank_change": 13, + "legacy_fundamental": 56.6283, + "legacy_fundamental_rank": 379 + }, + "symbol": "RSG" + }, + { + "cik": "0000101829", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.4779, + "candidate": 17.1053, + "definition_changed": true, + "legacy": 12.6274, + "material": true, + "relative_delta_pct": 35.4618 + }, + "pe_ratio": { + "absolute_delta": 3.255, + "candidate": 39.242, + "definition_changed": true, + "legacy": 35.987, + "material": false, + "relative_delta_pct": 9.0449 + }, + "revenue_growth": { + "absolute_delta": 0.0029, + "candidate": 10.5629, + "definition_changed": true, + "legacy": 10.56, + "material": false, + "relative_delta_pct": 0.0275 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:51.179071+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.2002, + "candidate_fundamental_rank": 288, + "fundamental_delta": -3.6143, + "fundamental_rank_change": -50, + "legacy_fundamental": 68.8144, + "legacy_fundamental_rank": 238 + }, + "symbol": "RTX" + }, + { + "cik": "0000031791", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.6544, + "candidate": 3.9216, + "definition_changed": true, + "legacy": 2.2672, + "material": false, + "relative_delta_pct": 72.9711 + }, + "pe_ratio": { + "absolute_delta": 2.3901, + "candidate": 54.4087, + "definition_changed": true, + "legacy": 52.0186, + "material": false, + "relative_delta_pct": 4.5947 + }, + "revenue_growth": { + "absolute_delta": -0.005, + "candidate": 4.785, + "definition_changed": true, + "legacy": 4.79, + "material": false, + "relative_delta_pct": -0.1044 + } + }, + "legacy_fetched_at": "2026-07-23T20:31:55.595506+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 43.8568, + "candidate_fundamental_rank": 453, + "fundamental_delta": 2.7531, + "fundamental_rank_change": 24, + "legacy_fundamental": 41.1037, + "legacy_fundamental_rank": 477 + }, + "symbol": "RVTY" + }, + { + "cik": "0001034054", + "fields": { + "earnings_surprise": { + "absolute_delta": 9.377, + "candidate": 5.2448, + "definition_changed": true, + "legacy": -4.1322, + "material": true, + "relative_delta_pct": 226.9251 + }, + "pe_ratio": { + "absolute_delta": -0.3858, + "candidate": 18.4053, + "definition_changed": true, + "legacy": 18.7911, + "material": false, + "relative_delta_pct": -2.0531 + }, + "revenue_growth": { + "absolute_delta": 36.0048, + "candidate": 42.2748, + "definition_changed": true, + "legacy": 6.27, + "material": true, + "relative_delta_pct": 574.2392 + } + }, + "legacy_fetched_at": "2026-07-23T20:32:00.027338+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.291, + "candidate_fundamental_rank": 48, + "fundamental_delta": 27.4986, + "fundamental_rank_change": 287, + "legacy_fundamental": 60.7923, + "legacy_fundamental_rank": 335 + }, + "symbol": "SBAC" + }, + { + "cik": "0000829224", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.5449, + "candidate": 13.6364, + "definition_changed": true, + "legacy": 14.1813, + "material": false, + "relative_delta_pct": -3.8424 + }, + "pe_ratio": { + "absolute_delta": 0.7781, + "candidate": 78.7863, + "definition_changed": true, + "legacy": 78.0082, + "material": false, + "relative_delta_pct": 0.9975 + }, + "revenue_growth": { + "absolute_delta": 0.0045, + "candidate": 5.8445, + "definition_changed": true, + "legacy": 5.84, + "material": false, + "relative_delta_pct": 0.0771 + } + }, + "legacy_fetched_at": "2026-07-23T20:32:04.378203+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 54.8704, + "candidate_fundamental_rank": 384, + "fundamental_delta": 0.0037, + "fundamental_rank_change": 14, + "legacy_fundamental": 54.8667, + "legacy_fundamental_rank": 398 + }, + "symbol": "SBUX" + }, + { + "cik": "0000316709", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3979, + "candidate": 2.8777, + "definition_changed": true, + "legacy": 2.4798, + "material": false, + "relative_delta_pct": 16.0456 + }, + "pe_ratio": { + "absolute_delta": 2.6398, + "candidate": 20.2008, + "definition_changed": true, + "legacy": 17.561, + "material": true, + "relative_delta_pct": 15.0322 + }, + "revenue_growth": { + "absolute_delta": 10.0021, + "candidate": 21.2021, + "definition_changed": true, + "legacy": 11.2, + "material": true, + "relative_delta_pct": 89.3045 + } + }, + "legacy_fetched_at": "2026-07-23T20:32:08.898725+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.3508, + "candidate_fundamental_rank": 104, + "fundamental_delta": 5.0634, + "fundamental_rank_change": 26, + "legacy_fundamental": 77.2874, + "legacy_fundamental_rank": 130 + }, + "symbol": "SCHW" + }, + { + "cik": "0000089800", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8541, + "candidate": 4.9107, + "definition_changed": true, + "legacy": 3.0566, + "material": false, + "relative_delta_pct": 60.6589 + }, + "pe_ratio": { + "absolute_delta": 0.4231, + "candidate": 29.8309, + "definition_changed": true, + "legacy": 29.4078, + "material": false, + "relative_delta_pct": 1.4387 + }, + "revenue_growth": { + "absolute_delta": 0.0007, + "candidate": 3.9007, + "definition_changed": true, + "legacy": 3.9, + "material": false, + "relative_delta_pct": 0.0179 + } + }, + "legacy_fetched_at": "2026-07-23T20:32:14.429192+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.623, + "candidate_fundamental_rank": 317, + "fundamental_delta": 2.6206, + "fundamental_rank_change": 33, + "legacy_fundamental": 59.0023, + "legacy_fundamental_rank": 350 + }, + "symbol": "SHW" + }, + { + "cik": "0000091419", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5532, + "candidate": 4.5283, + "definition_changed": true, + "legacy": 3.9751, + "material": false, + "relative_delta_pct": 13.9166 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 3.72, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:34:12.288593+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 64.5877, + "legacy_fundamental_rank": 295 + }, + "symbol": "SJM" + }, + { + "cik": "0000087347", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1719, + "candidate": 1.9608, + "definition_changed": true, + "legacy": -0.2111, + "material": true, + "relative_delta_pct": 1028.8489 + }, + "pe_ratio": { + "absolute_delta": -0.6473, + "candidate": 20.8018, + "definition_changed": true, + "legacy": 21.4491, + "material": false, + "relative_delta_pct": -3.0178 + }, + "revenue_growth": { + "absolute_delta": 0.0013, + "candidate": -0.3687, + "definition_changed": true, + "legacy": -0.37, + "material": false, + "relative_delta_pct": 0.3514 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:16.348806+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 63.181, + "candidate_fundamental_rank": 305, + "fundamental_delta": 4.3401, + "fundamental_rank_change": 48, + "legacy_fundamental": 58.8408, + "legacy_fundamental_rank": 353 + }, + "symbol": "SLB" + }, + { + "cik": "0001375365", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.029, + "candidate": 33.3333, + "definition_changed": true, + "legacy": 32.3043, + "material": false, + "relative_delta_pct": 3.1853 + }, + "pe_ratio": { + "absolute_delta": 0.5966, + "candidate": 16.4211, + "definition_changed": true, + "legacy": 15.8245, + "material": false, + "relative_delta_pct": 3.7701 + }, + "revenue_growth": { + "absolute_delta": -0.0015, + "candidate": 56.2385, + "definition_changed": true, + "legacy": 56.24, + "material": false, + "relative_delta_pct": -0.0027 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:20.588218+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 98.4211, + "candidate_fundamental_rank": 16, + "fundamental_delta": -0.6628, + "fundamental_rank_change": -5, + "legacy_fundamental": 99.0839, + "legacy_fundamental_rank": 11 + }, + "symbol": "SMCI" + }, + { + "cik": "0000091440", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0831, + "candidate": 0.2137, + "definition_changed": true, + "legacy": -0.8694, + "material": false, + "relative_delta_pct": 124.5802 + }, + "pe_ratio": { + "absolute_delta": -0.0485, + "candidate": 20.4135, + "definition_changed": true, + "legacy": 20.462, + "material": false, + "relative_delta_pct": -0.237 + }, + "revenue_growth": { + "absolute_delta": -1.1666, + "candidate": 2.9834, + "definition_changed": true, + "legacy": 4.15, + "material": false, + "relative_delta_pct": -28.1108 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:24.591624+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 63.4939, + "candidate_fundamental_rank": 303, + "fundamental_delta": 0.8868, + "fundamental_rank_change": 16, + "legacy_fundamental": 62.6071, + "legacy_fundamental_rank": 319 + }, + "symbol": "SNA" + }, + { + "cik": "0002023554", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.5649, + "candidate": 61.4483, + "definition_changed": true, + "legacy": 57.8834, + "material": true, + "relative_delta_pct": 6.1588 + }, + "pe_ratio": { + "absolute_delta": 2.4868, + "candidate": 55.0352, + "definition_changed": true, + "legacy": 52.5484, + "material": false, + "relative_delta_pct": 4.7324 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 82.76, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:34:28.574799+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.0, + "candidate_fundamental_rank": 420, + "fundamental_delta": -16.6667, + "fundamental_rank_change": -159, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "SNDK" + }, + { + "cik": "0000883241", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5342, + "candidate": 5.6782, + "definition_changed": true, + "legacy": 4.144, + "material": false, + "relative_delta_pct": 37.0222 + }, + "pe_ratio": { + "absolute_delta": -7.5485, + "candidate": 85.4737, + "definition_changed": true, + "legacy": 93.0222, + "material": false, + "relative_delta_pct": -8.1147 + }, + "revenue_growth": { + "absolute_delta": 0.0004, + "candidate": 39.5104, + "definition_changed": true, + "legacy": 39.51, + "material": false, + "relative_delta_pct": 0.001 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:32.823645+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.4637, + "candidate_fundamental_rank": 349, + "fundamental_delta": 2.5571, + "fundamental_rank_change": 27, + "legacy_fundamental": 56.9067, + "legacy_fundamental_rank": 376 + }, + "symbol": "SNPS" + }, + { + "cik": "0000092122", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.1859, + "candidate": 9.0909, + "definition_changed": true, + "legacy": 5.905, + "material": true, + "relative_delta_pct": 53.9526 + }, + "pe_ratio": { + "absolute_delta": -0.1526, + "candidate": 24.7059, + "definition_changed": true, + "legacy": 24.8585, + "material": false, + "relative_delta_pct": -0.6139 + }, + "revenue_growth": { + "absolute_delta": -0.4034, + "candidate": 8.3366, + "definition_changed": true, + "legacy": 8.74, + "material": false, + "relative_delta_pct": -4.6156 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:36.914190+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.9811, + "candidate_fundamental_rank": 150, + "fundamental_delta": 5.1433, + "fundamental_rank_change": 36, + "legacy_fundamental": 72.8378, + "legacy_fundamental_rank": 186 + }, + "symbol": "SO" + }, + { + "cik": "0001964738", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2899, + "candidate": 9.6296, + "definition_changed": true, + "legacy": 7.3397, + "material": true, + "relative_delta_pct": 31.1988 + }, + "pe_ratio": { + "absolute_delta": 0.0649, + "candidate": 9.4541, + "definition_changed": true, + "legacy": 9.3892, + "material": false, + "relative_delta_pct": 0.6912 + }, + "revenue_growth": { + "absolute_delta": -0.0037, + "candidate": -0.5537, + "definition_changed": true, + "legacy": -0.55, + "material": false, + "relative_delta_pct": -0.6727 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:40.987365+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 82.2546, + "candidate_fundamental_rank": 105, + "fundamental_delta": 3.8135, + "fundamental_rank_change": 9, + "legacy_fundamental": 78.4412, + "legacy_fundamental_rank": 114 + }, + "symbol": "SOLV" + }, + { + "cik": "0001181412", + "fields": { + "earnings_surprise": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:54:52.384620+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": null, + "legacy_fundamental_rank": null + }, + "symbol": "SPCX" + }, + { + "cik": "0001063761", + "fields": { + "earnings_surprise": { + "absolute_delta": 7.8667, + "candidate": 6.3758, + "definition_changed": true, + "legacy": -1.4909, + "material": true, + "relative_delta_pct": 527.6477 + }, + "pe_ratio": { + "absolute_delta": 0.0724, + "candidate": 15.6606, + "definition_changed": true, + "legacy": 15.5882, + "material": false, + "relative_delta_pct": 0.4645 + }, + "revenue_growth": { + "absolute_delta": -0.0034, + "candidate": 10.9166, + "definition_changed": true, + "legacy": 10.92, + "material": false, + "relative_delta_pct": -0.0311 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:45.021489+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.6562, + "candidate_fundamental_rank": 79, + "fundamental_delta": 13.0279, + "fundamental_rank_change": 113, + "legacy_fundamental": 72.6283, + "legacy_fundamental_rank": 192 + }, + "symbol": "SPG" + }, + { + "cik": "0000064040", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8426, + "candidate": 3.112, + "definition_changed": true, + "legacy": 1.2694, + "material": false, + "relative_delta_pct": 145.1552 + }, + "pe_ratio": { + "absolute_delta": 0.5354, + "candidate": 26.5655, + "definition_changed": true, + "legacy": 26.0301, + "material": false, + "relative_delta_pct": 2.0568 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 8.54, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:34:49.015076+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 63.5043, + "candidate_fundamental_rank": 302, + "fundamental_delta": -0.139, + "fundamental_rank_change": 2, + "legacy_fundamental": 63.6433, + "legacy_fundamental_rank": 304 + }, + "symbol": "SPGI" + }, + { + "cik": "0001032208", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3717, + "candidate": 0.0, + "definition_changed": true, + "legacy": -1.3717, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": 0.5817, + "candidate": 31.7823, + "definition_changed": true, + "legacy": 31.2006, + "material": false, + "relative_delta_pct": 1.8644 + }, + "revenue_growth": { + "absolute_delta": 3.0257, + "candidate": 3.0757, + "definition_changed": true, + "legacy": 0.05, + "material": true, + "relative_delta_pct": 6051.4 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:53.106247+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.5828, + "candidate_fundamental_rank": 417, + "fundamental_delta": 4.1613, + "fundamental_rank_change": 44, + "legacy_fundamental": 46.4215, + "legacy_fundamental_rank": 461 + }, + "symbol": "SRE" + }, + { + "cik": "0001757898", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5744, + "candidate": -1.049, + "definition_changed": true, + "legacy": -1.6234, + "material": false, + "relative_delta_pct": 35.3825 + }, + "pe_ratio": { + "absolute_delta": 0.3561, + "candidate": 26.5624, + "definition_changed": true, + "legacy": 26.2063, + "material": false, + "relative_delta_pct": 1.3588 + }, + "revenue_growth": { + "absolute_delta": -0.0042, + "candidate": 8.7258, + "definition_changed": true, + "legacy": 8.73, + "material": false, + "relative_delta_pct": -0.0481 + } + }, + "legacy_fetched_at": "2026-07-23T20:34:57.162278+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.3428, + "candidate_fundamental_rank": 352, + "fundamental_delta": 0.5582, + "fundamental_rank_change": 2, + "legacy_fundamental": 58.7846, + "legacy_fundamental_rank": 354 + }, + "symbol": "STE" + }, + { + "cik": "0001022671", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.1592, + "candidate": -0.3584, + "definition_changed": true, + "legacy": -0.5176, + "material": false, + "relative_delta_pct": 30.7573 + }, + "pe_ratio": { + "absolute_delta": 4.2407, + "candidate": 25.7846, + "definition_changed": true, + "legacy": 21.5439, + "material": true, + "relative_delta_pct": 19.684 + }, + "revenue_growth": { + "absolute_delta": -9.3337, + "candidate": 10.4363, + "definition_changed": true, + "legacy": 19.77, + "material": true, + "relative_delta_pct": -47.2114 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:01.264029+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.7833, + "candidate_fundamental_rank": 310, + "fundamental_delta": -12.2247, + "fundamental_rank_change": -149, + "legacy_fundamental": 75.008, + "legacy_fundamental_rank": 161 + }, + "symbol": "STLD" + }, + { + "cik": "0000093751", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.0817, + "candidate": 10.6061, + "definition_changed": true, + "legacy": 8.5244, + "material": true, + "relative_delta_pct": 24.4205 + }, + "pe_ratio": { + "absolute_delta": 3.9014, + "candidate": 18.7015, + "definition_changed": true, + "legacy": 14.8001, + "material": true, + "relative_delta_pct": 26.3606 + }, + "revenue_growth": { + "absolute_delta": -171.1868, + "candidate": 9.965, + "definition_changed": true, + "legacy": 181.1518, + "material": true, + "relative_delta_pct": -94.4991 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:05.483923+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.5247, + "candidate_fundamental_rank": 57, + "fundamental_delta": -10.016, + "fundamental_rank_change": -41, + "legacy_fundamental": 97.5407, + "legacy_fundamental_rank": 16 + }, + "symbol": "STT" + }, + { + "cik": "0001137789", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.4544, + "candidate": 17.1429, + "definition_changed": true, + "legacy": 15.6885, + "material": false, + "relative_delta_pct": 9.2705 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 85.6276, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 28.92, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:35:09.569159+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "STX" + }, + { + "cik": "0000016918", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.4611, + "candidate": 6.5217, + "definition_changed": true, + "legacy": 6.0606, + "material": false, + "relative_delta_pct": 7.6082 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 12.2334, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0002, + "candidate": -9.9902, + "definition_changed": true, + "legacy": -9.99, + "material": false, + "relative_delta_pct": -0.002 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:13.665630+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.8166, + "candidate_fundamental_rank": 392, + "fundamental_delta": -14.626, + "fundamental_rank_change": -151, + "legacy_fundamental": 68.4427, + "legacy_fundamental_rank": 241 + }, + "symbol": "STZ" + }, + { + "cik": "0002005951", + "fields": { + "earnings_surprise": { + "absolute_delta": 10.145, + "candidate": -8.3333, + "definition_changed": true, + "legacy": -18.4783, + "material": true, + "relative_delta_pct": 54.9022 + }, + "pe_ratio": { + "absolute_delta": -0.5316, + "candidate": 60.7083, + "definition_changed": true, + "legacy": 61.2399, + "material": false, + "relative_delta_pct": -0.8681 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -20.73, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:35:17.727765+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 4.1667, + "candidate_fundamental_rank": 482, + "fundamental_delta": 4.1667, + "fundamental_rank_change": 25, + "legacy_fundamental": 0.0, + "legacy_fundamental_rank": 507 + }, + "symbol": "SW" + }, + { + "cik": "0000093556", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.3646, + "candidate": 31.1475, + "definition_changed": true, + "legacy": 26.7829, + "material": true, + "relative_delta_pct": 16.2962 + }, + "pe_ratio": { + "absolute_delta": -1.0817, + "candidate": 35.8238, + "definition_changed": true, + "legacy": 36.9055, + "material": false, + "relative_delta_pct": -2.931 + }, + "revenue_growth": { + "absolute_delta": -2.0364, + "candidate": -0.0564, + "definition_changed": true, + "legacy": 1.98, + "material": true, + "relative_delta_pct": -102.8485 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:21.783933+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.1488, + "candidate_fundamental_rank": 335, + "fundamental_delta": -0.4951, + "fundamental_rank_change": 1, + "legacy_fundamental": 60.6439, + "legacy_fundamental_rank": 336 + }, + "symbol": "SWK" + }, + { + "cik": "0000004127", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.4998, + "candidate": 10.5769, + "definition_changed": true, + "legacy": 9.0771, + "material": false, + "relative_delta_pct": 16.5229 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 25.1051, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 2.33, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:35:25.925224+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 72.5089, + "legacy_fundamental_rank": 193 + }, + "symbol": "SWKS" + }, + { + "cik": "0001601712", + "fields": { + "earnings_surprise": { + "absolute_delta": -21.4708, + "candidate": 0.0, + "definition_changed": true, + "legacy": 21.4708, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 0.6265, + "candidate": 7.4296, + "definition_changed": true, + "legacy": 6.8031, + "material": false, + "relative_delta_pct": 9.209 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 20.4839, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:55:00.559168+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.0, + "candidate_fundamental_rank": 185, + "fundamental_delta": -25.0, + "fundamental_rank_change": -184, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "SYF" + }, + { + "cik": "0000310764", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9956, + "candidate": -12.7517, + "definition_changed": true, + "legacy": -13.7473, + "material": false, + "relative_delta_pct": 7.2421 + }, + "pe_ratio": { + "absolute_delta": 0.7254, + "candidate": 36.9178, + "definition_changed": true, + "legacy": 36.1924, + "material": false, + "relative_delta_pct": 2.0043 + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": 8.838, + "definition_changed": true, + "legacy": 8.84, + "material": false, + "relative_delta_pct": -0.0226 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:29.939448+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 33.0118, + "candidate_fundamental_rank": 471, + "fundamental_delta": -0.8077, + "fundamental_rank_change": 17, + "legacy_fundamental": 33.8196, + "legacy_fundamental_rank": 488 + }, + "symbol": "SYK" + }, + { + "cik": "0000096021", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3942, + "candidate": -1.0526, + "definition_changed": true, + "legacy": -1.4468, + "material": false, + "relative_delta_pct": 27.2463 + }, + "pe_ratio": { + "absolute_delta": 0.2549, + "candidate": 22.7028, + "definition_changed": true, + "legacy": 22.4479, + "material": false, + "relative_delta_pct": 1.1355 + }, + "revenue_growth": { + "absolute_delta": -0.0003, + "candidate": 3.4397, + "definition_changed": true, + "legacy": 3.44, + "material": false, + "relative_delta_pct": -0.0087 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:33.956519+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.2201, + "candidate_fundamental_rank": 355, + "fundamental_delta": 0.3735, + "fundamental_rank_change": -3, + "legacy_fundamental": 58.8466, + "legacy_fundamental_rank": 352 + }, + "symbol": "SYY" + }, + { + "cik": "0000732717", + "fields": { + "earnings_surprise": { + "absolute_delta": -4.7692, + "candidate": 3.6364, + "definition_changed": true, + "legacy": 8.4056, + "material": true, + "relative_delta_pct": -56.7384 + }, + "pe_ratio": { + "absolute_delta": 0.2459, + "candidate": 7.6026, + "definition_changed": true, + "legacy": 7.3567, + "material": false, + "relative_delta_pct": 3.3425 + }, + "revenue_growth": { + "absolute_delta": -0.0047, + "candidate": 2.6253, + "definition_changed": true, + "legacy": 2.63, + "material": false, + "relative_delta_pct": -0.1787 + } + }, + "legacy_fetched_at": "2026-07-23T20:35:38.291097+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.9151, + "candidate_fundamental_rank": 188, + "fundamental_delta": -7.9526, + "fundamental_rank_change": -108, + "legacy_fundamental": 82.8677, + "legacy_fundamental_rank": 80 + }, + "symbol": "T" + }, + { + "cik": "0000024545", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.0162, + "candidate": 72.2222, + "definition_changed": true, + "legacy": 67.206, + "material": true, + "relative_delta_pct": 7.4639 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -3.753, + "candidate": -5.053, + "definition_changed": true, + "legacy": -1.3, + "material": true, + "relative_delta_pct": -288.6923 + } + }, + "legacy_fetched_at": "2026-07-23T20:37:34.451265+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.6837, + "candidate_fundamental_rank": 253, + "fundamental_delta": -4.6913, + "fundamental_rank_change": -76, + "legacy_fundamental": 73.375, + "legacy_fundamental_rank": 177 + }, + "symbol": "TAP" + }, + { + "cik": "0001260221", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.2898, + "candidate": 5.6867, + "definition_changed": true, + "legacy": 3.3969, + "material": true, + "relative_delta_pct": 67.4085 + }, + "pe_ratio": { + "absolute_delta": 5.0757, + "candidate": 37.8848, + "definition_changed": true, + "legacy": 32.8091, + "material": true, + "relative_delta_pct": 15.4704 + }, + "revenue_growth": { + "absolute_delta": 0.0028, + "candidate": 13.2928, + "definition_changed": true, + "legacy": 13.29, + "material": false, + "relative_delta_pct": 0.0211 + } + }, + "legacy_fetched_at": "2026-07-23T20:37:38.447317+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.7942, + "candidate_fundamental_rank": 314, + "fundamental_delta": -1.821, + "fundamental_rank_change": -9, + "legacy_fundamental": 63.6153, + "legacy_fundamental_rank": 305 + }, + "symbol": "TDG" + }, + { + "cik": "0001094285", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.4432, + "candidate": 5.8394, + "definition_changed": true, + "legacy": 7.2826, + "material": false, + "relative_delta_pct": -19.8171 + }, + "pe_ratio": { + "absolute_delta": 0.7159, + "candidate": 32.9899, + "definition_changed": true, + "legacy": 32.274, + "material": false, + "relative_delta_pct": 2.2182 + }, + "revenue_growth": { + "absolute_delta": 1.2798, + "candidate": 7.8998, + "definition_changed": true, + "legacy": 6.62, + "material": false, + "relative_delta_pct": 19.3323 + } + }, + "legacy_fetched_at": "2026-07-23T20:37:42.413996+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.9934, + "candidate_fundamental_rank": 307, + "fundamental_delta": -2.1343, + "fundamental_rank_change": -16, + "legacy_fundamental": 65.1277, + "legacy_fundamental_rank": 291 + }, + "symbol": "TDY" + }, + { + "cik": "0000842023", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.2988, + "candidate": -3.6364, + "definition_changed": true, + "legacy": -3.3376, + "material": false, + "relative_delta_pct": -8.9525 + }, + "pe_ratio": { + "absolute_delta": -1.2673, + "candidate": 102.5286, + "definition_changed": true, + "legacy": 103.7959, + "material": false, + "relative_delta_pct": -1.221 + }, + "revenue_growth": { + "absolute_delta": -0.0012, + "candidate": 0.1688, + "definition_changed": true, + "legacy": 0.17, + "material": false, + "relative_delta_pct": -0.7059 + } + }, + "legacy_fetched_at": "2026-07-23T20:37:46.472541+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 27.4134, + "candidate_fundamental_rank": 476, + "fundamental_delta": -0.4989, + "fundamental_rank_change": 20, + "legacy_fundamental": 27.9123, + "legacy_fundamental_rank": 496 + }, + "symbol": "TECH" + }, + { + "cik": "0001385157", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.278, + "candidate": 1.1111, + "definition_changed": true, + "legacy": 2.3891, + "material": false, + "relative_delta_pct": -53.4929 + }, + "pe_ratio": { + "absolute_delta": 0.7869, + "candidate": 20.3262, + "definition_changed": true, + "legacy": 19.5393, + "material": false, + "relative_delta_pct": 4.0273 + }, + "revenue_growth": { + "absolute_delta": 0.1304, + "candidate": 16.6604, + "definition_changed": true, + "legacy": 16.53, + "material": false, + "relative_delta_pct": 0.7889 + } + }, + "legacy_fetched_at": "2026-07-23T20:37:50.495828+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.4842, + "candidate_fundamental_rank": 168, + "fundamental_delta": -2.8956, + "fundamental_rank_change": -63, + "legacy_fundamental": 79.3798, + "legacy_fundamental_rank": 105 + }, + "symbol": "TEL" + }, + { + "cik": "0000097210", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7997, + "candidate": 21.327, + "definition_changed": true, + "legacy": 20.5273, + "material": false, + "relative_delta_pct": 3.8958 + }, + "pe_ratio": { + "absolute_delta": 1.4225, + "candidate": 69.3414, + "definition_changed": true, + "legacy": 67.9189, + "material": false, + "relative_delta_pct": 2.0944 + }, + "revenue_growth": { + "absolute_delta": 0.0026, + "candidate": 30.3226, + "definition_changed": true, + "legacy": 30.32, + "material": false, + "relative_delta_pct": 0.0086 + } + }, + "legacy_fetched_at": "2026-07-23T20:37:54.586733+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "TER" + }, + { + "cik": "0000092230", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.9412, + "candidate": 13.8889, + "definition_changed": true, + "legacy": 12.9477, + "material": false, + "relative_delta_pct": 7.2692 + }, + "pe_ratio": { + "absolute_delta": 1.6471, + "candidate": 12.6733, + "definition_changed": true, + "legacy": 11.0262, + "material": true, + "relative_delta_pct": 14.9381 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 58.1904, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:37:58.631511+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0, + "fundamental_rank_change": 0, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "TFC" + }, + { + "cik": "0000027419", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.5014, + "candidate": 21.2766, + "definition_changed": true, + "legacy": 15.7752, + "material": true, + "relative_delta_pct": 34.8737 + }, + "pe_ratio": { + "absolute_delta": 0.0686, + "candidate": 17.7649, + "definition_changed": true, + "legacy": 17.6963, + "material": false, + "relative_delta_pct": 0.3877 + }, + "revenue_growth": { + "absolute_delta": -0.0015, + "candidate": 0.4685, + "definition_changed": true, + "legacy": 0.47, + "material": false, + "relative_delta_pct": -0.3191 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:02.632931+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.6516, + "candidate_fundamental_rank": 126, + "fundamental_delta": -0.0775, + "fundamental_rank_change": -31, + "legacy_fundamental": 80.7291, + "legacy_fundamental_rank": 95 + }, + "symbol": "TGT" + }, + { + "cik": "0000109198", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.8826, + "candidate": 17.8218, + "definition_changed": true, + "legacy": 15.9392, + "material": false, + "relative_delta_pct": 11.8111 + }, + "pe_ratio": { + "absolute_delta": 0.6434, + "candidate": 29.8599, + "definition_changed": true, + "legacy": 29.2165, + "material": false, + "relative_delta_pct": 2.2022 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 8.06, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:38:06.761975+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.2335, + "candidate_fundamental_rank": 183, + "fundamental_delta": 0.9796, + "fundamental_rank_change": -16, + "legacy_fundamental": 74.2539, + "legacy_fundamental_rank": 167 + }, + "symbol": "TJX" + }, + { + "cik": "0001973266", + "fields": { + "earnings_surprise": { + "absolute_delta": 29.7436, + "candidate": 23.0769, + "definition_changed": true, + "legacy": -6.6667, + "material": true, + "relative_delta_pct": 446.1518 + }, + "pe_ratio": { + "absolute_delta": -85.0897, + "candidate": 66.7026, + "definition_changed": true, + "legacy": 151.7923, + "material": true, + "relative_delta_pct": -56.0567 + }, + "revenue_growth": { + "absolute_delta": 40.7102, + "candidate": 47.0402, + "definition_changed": true, + "legacy": 6.33, + "material": true, + "relative_delta_pct": 643.1311 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:10.813182+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 39.1695, + "fundamental_rank_change": 230, + "legacy_fundamental": 27.4972, + "legacy_fundamental_rank": 497 + }, + "symbol": "TKO" + }, + { + "cik": "0000097745", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.0894, + "candidate": 4.6154, + "definition_changed": true, + "legacy": 4.526, + "material": false, + "relative_delta_pct": 1.9753 + }, + "pe_ratio": { + "absolute_delta": 0.1839, + "candidate": 31.4634, + "definition_changed": true, + "legacy": 31.2795, + "material": false, + "relative_delta_pct": 0.5879 + }, + "revenue_growth": { + "absolute_delta": -0.0008, + "candidate": 5.3592, + "definition_changed": true, + "legacy": 5.36, + "material": false, + "relative_delta_pct": -0.0149 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:04.415495+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.5323, + "candidate_fundamental_rank": 329, + "fundamental_delta": -0.0561, + "fundamental_rank_change": 8, + "legacy_fundamental": 60.5883, + "legacy_fundamental_rank": 337 + }, + "symbol": "TMO" + }, + { + "cik": "0001283699", + "fields": { + "earnings_surprise": { + "absolute_delta": 12.8567, + "candidate": 31.068, + "definition_changed": true, + "legacy": 18.2113, + "material": true, + "relative_delta_pct": 70.5974 + }, + "pe_ratio": { + "absolute_delta": -0.2841, + "candidate": 17.8264, + "definition_changed": true, + "legacy": 18.1105, + "material": false, + "relative_delta_pct": -1.5687 + }, + "revenue_growth": { + "absolute_delta": 0.2009, + "candidate": 9.6809, + "definition_changed": true, + "legacy": 9.48, + "material": false, + "relative_delta_pct": 2.1192 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:14.817769+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.2604, + "candidate_fundamental_rank": 49, + "fundamental_delta": 0.4831, + "fundamental_rank_change": -2, + "legacy_fundamental": 87.7772, + "legacy_fundamental_rank": 47 + }, + "symbol": "TMUS" + }, + { + "cik": "0001811074", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5098, + "candidate": 1.9704, + "definition_changed": true, + "legacy": 1.4606, + "material": false, + "relative_delta_pct": 34.9035 + }, + "pe_ratio": { + "absolute_delta": 53.5465, + "candidate": 111.9868, + "definition_changed": true, + "legacy": 58.4403, + "material": true, + "relative_delta_pct": 91.626 + }, + "revenue_growth": { + "absolute_delta": 0.0039, + "candidate": 15.3039, + "definition_changed": true, + "legacy": 15.3, + "material": false, + "relative_delta_pct": 0.0255 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:18.935418+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 49.3707, + "candidate_fundamental_rank": 430, + "fundamental_delta": 0.853, + "fundamental_rank_change": 13, + "legacy_fundamental": 48.5177, + "legacy_fundamental_rank": 443 + }, + "symbol": "TPL" + }, + { + "cik": "0001116132", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7118, + "candidate": 26.7176, + "definition_changed": true, + "legacy": 26.0058, + "material": false, + "relative_delta_pct": 2.7371 + }, + "pe_ratio": { + "absolute_delta": -1.2774, + "candidate": 42.4177, + "definition_changed": true, + "legacy": 43.6951, + "material": false, + "relative_delta_pct": -2.9234 + }, + "revenue_growth": { + "absolute_delta": 0.0037, + "candidate": 14.1337, + "definition_changed": true, + "legacy": 14.13, + "material": false, + "relative_delta_pct": 0.0262 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:23.185315+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 64.6473, + "candidate_fundamental_rank": 296, + "fundamental_delta": 1.4224, + "fundamental_rank_change": 15, + "legacy_fundamental": 63.2249, + "legacy_fundamental_rank": 311 + }, + "symbol": "TPR" + }, + { + "cik": "0001389170", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3386, + "candidate": -13.3333, + "definition_changed": true, + "legacy": -13.6719, + "material": false, + "relative_delta_pct": 2.4766 + }, + "pe_ratio": { + "absolute_delta": 0.5343, + "candidate": 29.1706, + "definition_changed": true, + "legacy": 28.6363, + "material": false, + "relative_delta_pct": 1.8658 + }, + "revenue_growth": { + "absolute_delta": 11.4821, + "candidate": 12.5821, + "definition_changed": true, + "legacy": 1.1, + "material": true, + "relative_delta_pct": 1043.8273 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:27.135925+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 44.74, + "candidate_fundamental_rank": 450, + "fundamental_delta": 8.9748, + "fundamental_rank_change": 37, + "legacy_fundamental": 35.7652, + "legacy_fundamental_rank": 487 + }, + "symbol": "TRGP" + }, + { + "cik": "0000864749", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.784, + "candidate": 9.7222, + "definition_changed": true, + "legacy": 7.9382, + "material": false, + "relative_delta_pct": 22.4736 + }, + "pe_ratio": { + "absolute_delta": 3.9406, + "candidate": 26.3613, + "definition_changed": true, + "legacy": 22.4207, + "material": true, + "relative_delta_pct": 17.5757 + }, + "revenue_growth": { + "absolute_delta": -2.4912, + "candidate": 3.2488, + "definition_changed": true, + "legacy": 5.74, + "material": true, + "relative_delta_pct": -43.4007 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:31.134683+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.954, + "candidate_fundamental_rank": 211, + "fundamental_delta": -3.4811, + "fundamental_rank_change": -65, + "legacy_fundamental": 76.4351, + "legacy_fundamental_rank": 146 + }, + "symbol": "TRMB" + }, + { + "cik": "0001113169", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3597, + "candidate": 6.3291, + "definition_changed": true, + "legacy": 4.9694, + "material": false, + "relative_delta_pct": 27.3615 + }, + "pe_ratio": { + "absolute_delta": 0.6364, + "candidate": 12.3337, + "definition_changed": true, + "legacy": 11.6973, + "material": false, + "relative_delta_pct": 5.4406 + }, + "revenue_growth": { + "absolute_delta": -0.0005, + "candidate": 4.2295, + "definition_changed": true, + "legacy": 4.23, + "material": false, + "relative_delta_pct": -0.0118 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:35.109919+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 80.7397, + "candidate_fundamental_rank": 124, + "fundamental_delta": 2.2657, + "fundamental_rank_change": -11, + "legacy_fundamental": 78.474, + "legacy_fundamental_rank": 113 + }, + "symbol": "TROW" + }, + { + "cik": "0000086312", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.6882, + "candidate": 89.0772, + "definition_changed": true, + "legacy": 83.389, + "material": true, + "relative_delta_pct": 6.8213 + }, + "pe_ratio": { + "absolute_delta": 0.7748, + "candidate": 10.1148, + "definition_changed": true, + "legacy": 9.34, + "material": false, + "relative_delta_pct": 8.2955 + }, + "revenue_growth": { + "absolute_delta": -0.0049, + "candidate": 2.3851, + "definition_changed": true, + "legacy": 2.39, + "material": false, + "relative_delta_pct": -0.205 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:39.157755+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.3209, + "candidate_fundamental_rank": 81, + "fundamental_delta": -0.0041, + "fundamental_rank_change": -20, + "legacy_fundamental": 85.325, + "legacy_fundamental_rank": 61 + }, + "symbol": "TRV" + }, + { + "cik": "0000916365", + "fields": { + "earnings_surprise": { + "absolute_delta": -7.7883, + "candidate": -11.4286, + "definition_changed": true, + "legacy": -3.6403, + "material": true, + "relative_delta_pct": -213.9467 + }, + "pe_ratio": { + "absolute_delta": 0.6709, + "candidate": 14.936, + "definition_changed": true, + "legacy": 14.2651, + "material": false, + "relative_delta_pct": 4.7031 + }, + "revenue_growth": { + "absolute_delta": -0.0009, + "candidate": 4.6391, + "definition_changed": true, + "legacy": 4.64, + "material": false, + "relative_delta_pct": -0.0194 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:43.371401+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.8659, + "candidate_fundamental_rank": 391, + "fundamental_delta": -10.6003, + "fundamental_rank_change": -95, + "legacy_fundamental": 64.4662, + "legacy_fundamental_rank": 296 + }, + "symbol": "TSCO" + }, + { + "cik": "0001318605", + "fields": { + "earnings_surprise": { + "absolute_delta": 49.2211, + "candidate": 13.8889, + "definition_changed": true, + "legacy": -35.3322, + "material": true, + "relative_delta_pct": 139.3095 + }, + "pe_ratio": { + "absolute_delta": -67.7085, + "candidate": 296.0093, + "definition_changed": true, + "legacy": 363.7178, + "material": true, + "relative_delta_pct": -18.6157 + }, + "revenue_growth": { + "absolute_delta": 9.5047, + "candidate": 11.7547, + "definition_changed": true, + "legacy": 2.25, + "material": true, + "relative_delta_pct": 422.4311 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:40.867446+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.7956, + "candidate_fundamental_rank": 344, + "fundamental_delta": 41.254, + "fundamental_rank_change": 159, + "legacy_fundamental": 18.5417, + "legacy_fundamental_rank": 503 + }, + "symbol": "TSLA" + }, + { + "cik": "0000100493", + "fields": { + "earnings_surprise": { + "absolute_delta": 4.0396, + "candidate": 14.4737, + "definition_changed": true, + "legacy": 10.4341, + "material": true, + "relative_delta_pct": 38.7154 + }, + "pe_ratio": { + "absolute_delta": 1.6544, + "candidate": 44.685, + "definition_changed": true, + "legacy": 43.0306, + "material": false, + "relative_delta_pct": 3.8447 + }, + "revenue_growth": { + "absolute_delta": -0.2825, + "candidate": 3.9075, + "definition_changed": true, + "legacy": 4.19, + "material": false, + "relative_delta_pct": -6.7422 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:47.465674+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.6062, + "candidate_fundamental_rank": 395, + "fundamental_delta": -2.0737, + "fundamental_rank_change": -2, + "legacy_fundamental": 55.6799, + "legacy_fundamental_rank": 393 + }, + "symbol": "TSN" + }, + { + "cik": "0001466258", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.0665, + "candidate": 3.9526, + "definition_changed": true, + "legacy": 0.8861, + "material": true, + "relative_delta_pct": 346.067 + }, + "pe_ratio": { + "absolute_delta": 0.9091, + "candidate": 37.1005, + "definition_changed": true, + "legacy": 36.1914, + "material": false, + "relative_delta_pct": 2.5119 + }, + "revenue_growth": { + "absolute_delta": -0.0009, + "candidate": 6.3591, + "definition_changed": true, + "legacy": 6.36, + "material": false, + "relative_delta_pct": -0.0142 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:51.461232+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 53.9973, + "candidate_fundamental_rank": 388, + "fundamental_delta": 4.0998, + "fundamental_rank_change": 44, + "legacy_fundamental": 49.8975, + "legacy_fundamental_rank": 432 + }, + "symbol": "TT" + }, + { + "cik": "0001671933", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.759, + "candidate": -12.5, + "definition_changed": true, + "legacy": -13.259, + "material": false, + "relative_delta_pct": 5.7244 + }, + "pe_ratio": { + "absolute_delta": -0.1379, + "candidate": 19.0795, + "definition_changed": true, + "legacy": 19.2174, + "material": false, + "relative_delta_pct": -0.7176 + }, + "revenue_growth": { + "absolute_delta": -0.002, + "candidate": 15.548, + "definition_changed": true, + "legacy": 15.55, + "material": false, + "relative_delta_pct": -0.0129 + } + }, + "legacy_fetched_at": "2026-07-23T20:38:55.434936+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 58.4238, + "candidate_fundamental_rank": 363, + "fundamental_delta": 0.1515, + "fundamental_rank_change": -3, + "legacy_fundamental": 58.2723, + "legacy_fundamental_rank": 360 + }, + "symbol": "TTD" + }, + { + "cik": "0000946581", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.5571, + "candidate": 42.8571, + "definition_changed": true, + "legacy": 39.3, + "material": true, + "relative_delta_pct": 9.0511 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0046, + "candidate": 18.1554, + "definition_changed": true, + "legacy": 18.16, + "material": false, + "relative_delta_pct": -0.0253 + } + }, + "legacy_fetched_at": "2026-07-23T20:40:51.082766+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 97.6942, + "candidate_fundamental_rank": 19, + "fundamental_delta": -0.0058, + "fundamental_rank_change": -4, + "legacy_fundamental": 97.7, + "legacy_fundamental_rank": 15 + }, + "symbol": "TTWO" + }, + { + "cik": "0000097476", + "fields": { + "earnings_surprise": { + "absolute_delta": 13.0639, + "candidate": 22.6277, + "definition_changed": true, + "legacy": 9.5638, + "material": true, + "relative_delta_pct": 136.5974 + }, + "pe_ratio": { + "absolute_delta": 5.9003, + "candidate": 48.7162, + "definition_changed": true, + "legacy": 42.8159, + "material": true, + "relative_delta_pct": 13.7806 + }, + "revenue_growth": { + "absolute_delta": -1.7743, + "candidate": 14.8857, + "definition_changed": true, + "legacy": 16.66, + "material": false, + "relative_delta_pct": -10.6501 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:08.462151+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 62.4047, + "candidate_fundamental_rank": 312, + "fundamental_delta": -3.1784, + "fundamental_rank_change": -28, + "legacy_fundamental": 65.5831, + "legacy_fundamental_rank": 284 + }, + "symbol": "TXN" + }, + { + "cik": "0000217346", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.4398, + "candidate": 11.5385, + "definition_changed": true, + "legacy": 10.0987, + "material": false, + "relative_delta_pct": 14.2573 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 17.4308, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0012, + "candidate": 9.4788, + "definition_changed": true, + "legacy": 9.48, + "material": false, + "relative_delta_pct": -0.0127 + } + }, + "legacy_fetched_at": "2026-07-23T20:40:55.214543+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 86.8486, + "candidate_fundamental_rank": 64, + "fundamental_delta": -1.6839, + "fundamental_rank_change": -23, + "legacy_fundamental": 88.5324, + "legacy_fundamental_rank": 41 + }, + "symbol": "TXT" + }, + { + "cik": "0000860731", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.8456, + "candidate": 2.6578, + "definition_changed": true, + "legacy": 1.8122, + "material": false, + "relative_delta_pct": 46.6615 + }, + "pe_ratio": { + "absolute_delta": 1.4575, + "candidate": 39.8011, + "definition_changed": true, + "legacy": 38.3436, + "material": false, + "relative_delta_pct": 3.8012 + }, + "revenue_growth": { + "absolute_delta": -0.0035, + "candidate": 8.6765, + "definition_changed": true, + "legacy": 8.68, + "material": false, + "relative_delta_pct": -0.0403 + } + }, + "legacy_fetched_at": "2026-07-23T20:40:59.351215+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.77, + "candidate_fundamental_rank": 416, + "fundamental_delta": -0.213, + "fundamental_rank_change": 7, + "legacy_fundamental": 50.983, + "legacy_fundamental_rank": 423 + }, + "symbol": "TYL" + }, + { + "cik": "0000100517", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.384, + "candidate": 3.6458, + "definition_changed": true, + "legacy": 5.0298, + "material": false, + "relative_delta_pct": -27.516 + }, + "pe_ratio": { + "absolute_delta": -0.0775, + "candidate": 10.8001, + "definition_changed": true, + "legacy": 10.8776, + "material": false, + "relative_delta_pct": -0.7125 + }, + "revenue_growth": { + "absolute_delta": -0.0021, + "candidate": 8.4779, + "definition_changed": true, + "legacy": 8.48, + "material": false, + "relative_delta_pct": -0.0248 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:03.622291+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.808, + "candidate_fundamental_rank": 135, + "fundamental_delta": -2.3084, + "fundamental_rank_change": -47, + "legacy_fundamental": 82.1163, + "legacy_fundamental_rank": 88 + }, + "symbol": "UAL" + }, + { + "cik": "0001543151", + "fields": { + "earnings_surprise": { + "absolute_delta": 84.6498, + "candidate": 2.8571, + "definition_changed": true, + "legacy": -81.7927, + "material": true, + "relative_delta_pct": 103.4931 + }, + "pe_ratio": { + "absolute_delta": 0.389, + "candidate": 17.0993, + "definition_changed": true, + "legacy": 16.7103, + "material": false, + "relative_delta_pct": 2.3279 + }, + "revenue_growth": { + "absolute_delta": -0.0046, + "candidate": 18.3054, + "definition_changed": true, + "legacy": 18.31, + "material": false, + "relative_delta_pct": -0.0251 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:07.695397+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 84.3506, + "candidate_fundamental_rank": 89, + "fundamental_delta": 20.9926, + "fundamental_rank_change": 221, + "legacy_fundamental": 63.358, + "legacy_fundamental_rank": 310 + }, + "symbol": "UBER" + }, + { + "cik": "0000074208", + "fields": { + "earnings_surprise": { + "absolute_delta": -413.0513, + "candidate": 0.0, + "definition_changed": true, + "legacy": 413.0513, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": 0.7713, + "candidate": 26.8571, + "definition_changed": true, + "legacy": 26.0858, + "material": false, + "relative_delta_pct": 2.9568 + }, + "revenue_growth": { + "absolute_delta": 36.9922, + "candidate": 39.1422, + "definition_changed": true, + "legacy": 2.15, + "material": true, + "relative_delta_pct": 1720.5674 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:11.680043+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.1587, + "candidate_fundamental_rank": 238, + "fundamental_delta": -2.6487, + "fundamental_rank_change": -50, + "legacy_fundamental": 72.8074, + "legacy_fundamental_rank": 188 + }, + "symbol": "UDR" + }, + { + "cik": "0000352915", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.3374, + "candidate": 6.2382, + "definition_changed": true, + "legacy": 2.9008, + "material": true, + "relative_delta_pct": 115.051 + }, + "pe_ratio": { + "absolute_delta": 0.4269, + "candidate": 6.3161, + "definition_changed": true, + "legacy": 5.8892, + "material": false, + "relative_delta_pct": 7.2489 + }, + "revenue_growth": { + "absolute_delta": 0.0016, + "candidate": 10.4216, + "definition_changed": true, + "legacy": 10.42, + "material": false, + "relative_delta_pct": 0.0154 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:15.717666+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.7483, + "candidate_fundamental_rank": 78, + "fundamental_delta": 5.5636, + "fundamental_rank_change": 21, + "legacy_fundamental": 80.1847, + "legacy_fundamental_rank": 99 + }, + "symbol": "UHS" + }, + { + "cik": "0001403568", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.5645, + "candidate": 12.1739, + "definition_changed": true, + "legacy": 10.6094, + "material": false, + "relative_delta_pct": 14.7464 + }, + "pe_ratio": { + "absolute_delta": 0.6817, + "candidate": 17.9144, + "definition_changed": true, + "legacy": 17.2327, + "material": false, + "relative_delta_pct": 3.9559 + }, + "revenue_growth": { + "absolute_delta": -31.681, + "candidate": 11.299, + "definition_changed": true, + "legacy": 42.98, + "material": true, + "relative_delta_pct": -73.711 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:19.936640+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 89.511, + "candidate_fundamental_rank": 41, + "fundamental_delta": -8.0082, + "fundamental_rank_change": -24, + "legacy_fundamental": 97.5192, + "legacy_fundamental_rank": 17 + }, + "symbol": "ULTA" + }, + { + "cik": "0000731766", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3468, + "candidate": 29.1498, + "definition_changed": true, + "legacy": 28.803, + "material": false, + "relative_delta_pct": 1.204 + }, + "pe_ratio": { + "absolute_delta": 4.8374, + "candidate": 31.8946, + "definition_changed": true, + "legacy": 27.0572, + "material": true, + "relative_delta_pct": 17.8784 + }, + "revenue_growth": { + "absolute_delta": 3.2109, + "candidate": 9.6709, + "definition_changed": true, + "legacy": 6.46, + "material": true, + "relative_delta_pct": 49.7043 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:12.582614+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 72.6206, + "candidate_fundamental_rank": 214, + "fundamental_delta": -2.6992, + "fundamental_rank_change": -57, + "legacy_fundamental": 75.3198, + "legacy_fundamental_rank": 157 + }, + "symbol": "UNH" + }, + { + "cik": "0000100885", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.2738, + "candidate": 2.807, + "definition_changed": true, + "legacy": 4.0808, + "material": false, + "relative_delta_pct": -31.2145 + }, + "pe_ratio": { + "absolute_delta": -0.2759, + "candidate": 25.0477, + "definition_changed": true, + "legacy": 25.3236, + "material": false, + "relative_delta_pct": -1.0895 + }, + "revenue_growth": { + "absolute_delta": 0.0025, + "candidate": 1.8725, + "definition_changed": true, + "legacy": 1.87, + "material": false, + "relative_delta_pct": 0.1337 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:24.004338+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.7413, + "candidate_fundamental_rank": 315, + "fundamental_delta": -1.8144, + "fundamental_rank_change": -8, + "legacy_fundamental": 63.5557, + "legacy_fundamental_rank": 307 + }, + "symbol": "UNP" + }, + { + "cik": "0001090727", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.9384, + "candidate": 2.8846, + "definition_changed": true, + "legacy": 3.823, + "material": false, + "relative_delta_pct": -24.5462 + }, + "pe_ratio": { + "absolute_delta": -0.0733, + "candidate": 18.4628, + "definition_changed": true, + "legacy": 18.5361, + "material": false, + "relative_delta_pct": -0.3954 + }, + "revenue_growth": { + "absolute_delta": -0.0023, + "candidate": -2.8523, + "definition_changed": true, + "legacy": -2.85, + "material": false, + "relative_delta_pct": -0.0807 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:28.164009+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.2499, + "candidate_fundamental_rank": 287, + "fundamental_delta": -1.4844, + "fundamental_rank_change": -29, + "legacy_fundamental": 66.7343, + "legacy_fundamental_rank": 258 + }, + "symbol": "UPS" + }, + { + "cik": "0001067701", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.8152, + "candidate": 7.7691, + "definition_changed": true, + "legacy": 9.5843, + "material": false, + "relative_delta_pct": -18.9393 + }, + "pe_ratio": { + "absolute_delta": 0.3344, + "candidate": 29.1262, + "definition_changed": true, + "legacy": 28.7918, + "material": false, + "relative_delta_pct": 1.1614 + }, + "revenue_growth": { + "absolute_delta": -2.9986, + "candidate": 2.0514, + "definition_changed": true, + "legacy": 5.05, + "material": true, + "relative_delta_pct": -59.3782 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:32.213546+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.6289, + "candidate_fundamental_rank": 283, + "fundamental_delta": -5.8957, + "fundamental_rank_change": -80, + "legacy_fundamental": 71.5246, + "legacy_fundamental_rank": 203 + }, + "symbol": "URI" + }, + { + "cik": "0000036104", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.7689, + "candidate": 5.4688, + "definition_changed": true, + "legacy": 4.6999, + "material": false, + "relative_delta_pct": 16.3599 + }, + "pe_ratio": { + "absolute_delta": 1.157, + "candidate": 13.2767, + "definition_changed": true, + "legacy": 12.1197, + "material": false, + "relative_delta_pct": 9.5464 + }, + "revenue_growth": { + "absolute_delta": -79.4683, + "candidate": 4.6502, + "definition_changed": true, + "legacy": 84.1185, + "material": true, + "relative_delta_pct": -94.4719 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:36.207695+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 79.6564, + "candidate_fundamental_rank": 137, + "fundamental_delta": -11.5101, + "fundamental_rank_change": -107, + "legacy_fundamental": 91.1665, + "legacy_fundamental_rank": 30 + }, + "symbol": "USB" + }, + { + "cik": "0001403161", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.3032, + "candidate": 7.1197, + "definition_changed": true, + "legacy": 4.8165, + "material": true, + "relative_delta_pct": 47.819 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 29.7083, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0004, + "candidate": 14.3696, + "definition_changed": true, + "legacy": 14.37, + "material": false, + "relative_delta_pct": -0.0028 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:16.624056+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 85.7614, + "candidate_fundamental_rank": 77, + "fundamental_delta": 15.4348, + "fundamental_rank_change": 147, + "legacy_fundamental": 70.3266, + "legacy_fundamental_rank": 224 + }, + "symbol": "V" + }, + { + "cik": "0001393052", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.1569, + "candidate": 5.1643, + "definition_changed": true, + "legacy": 3.0074, + "material": true, + "relative_delta_pct": 71.7198 + }, + "pe_ratio": { + "absolute_delta": 0.1712, + "candidate": 31.8404, + "definition_changed": true, + "legacy": 31.6692, + "material": false, + "relative_delta_pct": 0.5406 + }, + "revenue_growth": { + "absolute_delta": -0.0032, + "candidate": 16.2468, + "definition_changed": true, + "legacy": 16.25, + "material": false, + "relative_delta_pct": -0.0197 + } + }, + "legacy_fetched_at": "2026-07-23T19:34:00.217958+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.1013, + "candidate_fundamental_rank": 239, + "fundamental_delta": 3.402, + "fundamental_rank_change": 20, + "legacy_fundamental": 66.6993, + "legacy_fundamental_rank": 259 + }, + "symbol": "VEEV" + }, + { + "cik": "0001705696", + "fields": { + "earnings_surprise": { + "absolute_delta": -14.4292, + "candidate": 0.0, + "definition_changed": true, + "legacy": 14.4292, + "material": true, + "relative_delta_pct": -100.0 + }, + "pe_ratio": { + "absolute_delta": -0.1948, + "candidate": 9.0137, + "definition_changed": true, + "legacy": 9.2085, + "material": false, + "relative_delta_pct": -2.1154 + }, + "revenue_growth": { + "absolute_delta": 0.0032, + "candidate": 4.0832, + "definition_changed": true, + "legacy": 4.08, + "material": false, + "relative_delta_pct": 0.0784 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:40.222978+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.0693, + "candidate_fundamental_rank": 240, + "fundamental_delta": -16.664, + "fundamental_rank_change": -188, + "legacy_fundamental": 86.7333, + "legacy_fundamental_rank": 52 + }, + "symbol": "VICI" + }, + { + "cik": "0001035002", + "fields": { + "earnings_surprise": { + "absolute_delta": 5.2828, + "candidate": 37.4593, + "definition_changed": true, + "legacy": 32.1765, + "material": true, + "relative_delta_pct": 16.4182 + }, + "pe_ratio": { + "absolute_delta": 0.0662, + "candidate": 22.298, + "definition_changed": true, + "legacy": 22.2318, + "material": false, + "relative_delta_pct": 0.2978 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -2.78, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:41:44.226281+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 87.8366, + "candidate_fundamental_rank": 53, + "fundamental_delta": 14.8553, + "fundamental_rank_change": 130, + "legacy_fundamental": 72.9813, + "legacy_fundamental_rank": 183 + }, + "symbol": "VLO" + }, + { + "cik": "0001967680", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5525, + "candidate": 4.902, + "definition_changed": true, + "legacy": 4.3495, + "material": false, + "relative_delta_pct": 12.7026 + }, + "pe_ratio": { + "absolute_delta": 0.4799, + "candidate": 23.5825, + "definition_changed": true, + "legacy": 23.1026, + "material": false, + "relative_delta_pct": 2.0773 + }, + "revenue_growth": { + "absolute_delta": -0.0019, + "candidate": 5.9481, + "definition_changed": true, + "legacy": 5.95, + "material": false, + "relative_delta_pct": -0.0319 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:48.201659+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 70.2573, + "candidate_fundamental_rank": 236, + "fundamental_delta": 0.386, + "fundamental_rank_change": -5, + "legacy_fundamental": 69.8713, + "legacy_fundamental_rank": 231 + }, + "symbol": "VLTO" + }, + { + "cik": "0001396009", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.982, + "candidate": 20.5357, + "definition_changed": true, + "legacy": 19.5537, + "material": false, + "relative_delta_pct": 5.0221 + }, + "pe_ratio": { + "absolute_delta": 0.5574, + "candidate": 32.7298, + "definition_changed": true, + "legacy": 32.1724, + "material": false, + "relative_delta_pct": 1.7325 + }, + "revenue_growth": { + "absolute_delta": -0.0058, + "candidate": 7.4042, + "definition_changed": true, + "legacy": 7.41, + "material": false, + "relative_delta_pct": -0.0783 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:52.181363+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.8037, + "candidate_fundamental_rank": 244, + "fundamental_delta": -0.6242, + "fundamental_rank_change": -23, + "legacy_fundamental": 70.4279, + "legacy_fundamental_rank": 221 + }, + "symbol": "VMC" + }, + { + "cik": "0001442145", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.6655, + "candidate": 3.4091, + "definition_changed": true, + "legacy": 2.7436, + "material": false, + "relative_delta_pct": 24.2565 + }, + "pe_ratio": { + "absolute_delta": 1.9899, + "candidate": 29.4466, + "definition_changed": true, + "legacy": 27.4567, + "material": false, + "relative_delta_pct": 7.2474 + }, + "revenue_growth": { + "absolute_delta": -0.0047, + "candidate": 5.8553, + "definition_changed": true, + "legacy": 5.86, + "material": false, + "relative_delta_pct": -0.0802 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:57.104439+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.176, + "candidate_fundamental_rank": 325, + "fundamental_delta": -1.1059, + "fundamental_rank_change": 2, + "legacy_fundamental": 62.2819, + "legacy_fundamental_rank": 327 + }, + "symbol": "VRSK" + }, + { + "cik": "0001014473", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.3244, + "candidate": 6.3636, + "definition_changed": true, + "legacy": -1.9608, + "material": true, + "relative_delta_pct": 424.541 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 27.9358, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0027, + "candidate": 6.8427, + "definition_changed": true, + "legacy": 6.84, + "material": false, + "relative_delta_pct": 0.0395 + } + }, + "legacy_fetched_at": "2026-07-23T20:41:56.254407+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 74.4625, + "candidate_fundamental_rank": 193, + "fundamental_delta": 19.7369, + "fundamental_rank_change": 206, + "legacy_fundamental": 54.7256, + "legacy_fundamental_rank": 399 + }, + "symbol": "VRSN" + }, + { + "cik": "0001674101", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.2965, + "candidate": 14.7059, + "definition_changed": true, + "legacy": 16.0024, + "material": false, + "relative_delta_pct": -8.1019 + }, + "pe_ratio": { + "absolute_delta": 1.7047, + "candidate": 76.392, + "definition_changed": true, + "legacy": 74.6873, + "material": false, + "relative_delta_pct": 2.2824 + }, + "revenue_growth": { + "absolute_delta": 0.0045, + "candidate": 28.9545, + "definition_changed": true, + "legacy": 28.95, + "material": false, + "relative_delta_pct": 0.0155 + } + }, + "legacy_fetched_at": "2026-07-23T20:42:00.930635+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "VRT" + }, + { + "cik": "0000875320", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.9997, + "candidate": 5.6738, + "definition_changed": true, + "legacy": 1.6741, + "material": true, + "relative_delta_pct": 238.9164 + }, + "pe_ratio": { + "absolute_delta": 0.58, + "candidate": 28.0766, + "definition_changed": true, + "legacy": 27.4966, + "material": false, + "relative_delta_pct": 2.1094 + }, + "revenue_growth": { + "absolute_delta": -0.005, + "candidate": 10.075, + "definition_changed": true, + "legacy": 10.08, + "material": false, + "relative_delta_pct": -0.0496 + } + }, + "legacy_fetched_at": "2026-07-23T20:42:05.118928+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 69.9893, + "candidate_fundamental_rank": 241, + "fundamental_delta": 6.0176, + "fundamental_rank_change": 60, + "legacy_fundamental": 63.9717, + "legacy_fundamental_rank": 301 + }, + "symbol": "VRTX" + }, + { + "cik": "0001692819", + "fields": { + "earnings_surprise": { + "absolute_delta": -82.3196, + "candidate": 29.8643, + "definition_changed": true, + "legacy": 112.1839, + "material": true, + "relative_delta_pct": -73.3792 + }, + "pe_ratio": { + "absolute_delta": 3.1697, + "candidate": 28.2575, + "definition_changed": true, + "legacy": 25.0878, + "material": true, + "relative_delta_pct": 12.6344 + }, + "revenue_growth": { + "absolute_delta": -0.0037, + "candidate": 15.6763, + "definition_changed": true, + "legacy": 15.68, + "material": false, + "relative_delta_pct": -0.0236 + } + }, + "legacy_fetched_at": "2026-07-23T20:42:09.187552+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.6663, + "candidate_fundamental_rank": 114, + "fundamental_delta": -3.525, + "fundamental_rank_change": -51, + "legacy_fundamental": 85.1913, + "legacy_fundamental_rank": 63 + }, + "symbol": "VST" + }, + { + "cik": "0000740260", + "fields": { + "earnings_surprise": { + "absolute_delta": 14.6585, + "candidate": 3.2967, + "definition_changed": true, + "legacy": -11.3618, + "material": true, + "relative_delta_pct": 129.0156 + }, + "pe_ratio": { + "absolute_delta": -8.8591, + "candidate": 178.0364, + "definition_changed": true, + "legacy": 186.8955, + "material": false, + "relative_delta_pct": -4.7401 + }, + "revenue_growth": { + "absolute_delta": -0.0022, + "candidate": 20.6678, + "definition_changed": true, + "legacy": 20.67, + "material": false, + "relative_delta_pct": -0.0106 + } + }, + "legacy_fetched_at": "2026-07-23T20:42:13.203439+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 55.4945, + "candidate_fundamental_rank": 378, + "fundamental_delta": 22.1612, + "fundamental_rank_change": 112, + "legacy_fundamental": 33.3333, + "legacy_fundamental_rank": 490 + }, + "symbol": "VTR" + }, + { + "cik": "0001792044", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.7054, + "candidate": 13.4615, + "definition_changed": true, + "legacy": 15.1669, + "material": false, + "relative_delta_pct": -11.2442 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": null, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 0.0212, + "candidate": 1.6412, + "definition_changed": true, + "legacy": 1.62, + "material": false, + "relative_delta_pct": 1.3086 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:10.269990+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.0515, + "candidate_fundamental_rank": 159, + "fundamental_delta": 0.0265, + "fundamental_rank_change": -26, + "legacy_fundamental": 77.025, + "legacy_fundamental_rank": 133 + }, + "symbol": "VTRS" + }, + { + "cik": "0000732712", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.1062, + "candidate": 4.918, + "definition_changed": true, + "legacy": 3.8118, + "material": false, + "relative_delta_pct": 29.0204 + }, + "pe_ratio": { + "absolute_delta": 0.011, + "candidate": 10.6618, + "definition_changed": true, + "legacy": 10.6508, + "material": false, + "relative_delta_pct": 0.1033 + }, + "revenue_growth": { + "absolute_delta": -0.0013, + "candidate": 2.8487, + "definition_changed": true, + "legacy": 2.85, + "material": false, + "relative_delta_pct": -0.0456 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:14.461567+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 77.2373, + "candidate_fundamental_rank": 156, + "fundamental_delta": 1.8426, + "fundamental_rank_change": -2, + "legacy_fundamental": 75.3947, + "legacy_fundamental_rank": 154 + }, + "symbol": "VZ" + }, + { + "cik": "0000943452", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3634, + "candidate": 6.2745, + "definition_changed": true, + "legacy": 4.9111, + "material": false, + "relative_delta_pct": 27.7616 + }, + "pe_ratio": { + "absolute_delta": -1.4966, + "candidate": 40.1063, + "definition_changed": true, + "legacy": 41.6029, + "material": false, + "relative_delta_pct": -3.5973 + }, + "revenue_growth": { + "absolute_delta": 3.8355, + "candidate": 13.4255, + "definition_changed": true, + "legacy": 9.59, + "material": true, + "relative_delta_pct": 39.9948 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:18.420372+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.4162, + "candidate_fundamental_rank": 331, + "fundamental_delta": 7.1314, + "fundamental_rank_change": 76, + "legacy_fundamental": 53.2847, + "legacy_fundamental_rank": 407 + }, + "symbol": "WAB" + }, + { + "cik": "0001000697", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.4618, + "candidate": 16.8831, + "definition_changed": true, + "legacy": 14.4213, + "material": true, + "relative_delta_pct": 17.0706 + }, + "pe_ratio": { + "absolute_delta": -33.4555, + "candidate": 48.6527, + "definition_changed": true, + "legacy": 82.1082, + "material": true, + "relative_delta_pct": -40.7456 + }, + "revenue_growth": { + "absolute_delta": 0.0016, + "candidate": 26.3916, + "definition_changed": true, + "legacy": 26.39, + "material": false, + "relative_delta_pct": 0.0061 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:22.519704+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 66.6667, + "candidate_fundamental_rank": 267, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "WAT" + }, + { + "cik": "0001437107", + "fields": { + "earnings_surprise": { + "absolute_delta": -1099.972, + "candidate": -1070.0, + "definition_changed": true, + "legacy": 29.972, + "material": true, + "relative_delta_pct": -3669.9987 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 89.1292, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": -0.0024, + "candidate": -2.9524, + "definition_changed": true, + "legacy": -2.95, + "material": false, + "relative_delta_pct": -0.0814 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:26.588077+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 21.3095, + "candidate_fundamental_rank": 478, + "fundamental_delta": -26.2321, + "fundamental_rank_change": -24, + "legacy_fundamental": 47.5417, + "legacy_fundamental_rank": 454 + }, + "symbol": "WBD" + }, + { + "cik": "0001327811", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.8317, + "candidate": 6.8273, + "definition_changed": true, + "legacy": 3.9956, + "material": true, + "relative_delta_pct": 70.8705 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 39.3567, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 13.32, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:44:30.671705+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 57.363, + "legacy_fundamental_rank": 370 + }, + "symbol": "WDAY" + }, + { + "cik": "0000106040", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.1497, + "candidate": 12.8631, + "definition_changed": true, + "legacy": 12.7134, + "material": false, + "relative_delta_pct": 1.1775 + }, + "pe_ratio": { + "absolute_delta": 2.9648, + "candidate": 33.2519, + "definition_changed": true, + "legacy": 30.2871, + "material": false, + "relative_delta_pct": 9.789 + }, + "revenue_growth": { + "absolute_delta": -21.7581, + "candidate": 10.2819, + "definition_changed": true, + "legacy": 32.04, + "material": true, + "relative_delta_pct": -67.9092 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:34.670957+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.6216, + "candidate_fundamental_rank": 221, + "fundamental_delta": -11.3927, + "fundamental_rank_change": -144, + "legacy_fundamental": 83.0143, + "legacy_fundamental_rank": 77 + }, + "symbol": "WDC" + }, + { + "cik": "0000783325", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.5897, + "candidate": 5.1502, + "definition_changed": true, + "legacy": 6.7399, + "material": false, + "relative_delta_pct": -23.5864 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 22.5418, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": 1.1783, + "candidate": 11.1983, + "definition_changed": true, + "legacy": 10.02, + "material": false, + "relative_delta_pct": 11.7595 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:38.812683+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 76.8735, + "candidate_fundamental_rank": 161, + "fundamental_delta": -0.9966, + "fundamental_rank_change": -38, + "legacy_fundamental": 77.8701, + "legacy_fundamental_rank": 123 + }, + "symbol": "WEC" + }, + { + "cik": "0000766704", + "fields": { + "earnings_surprise": { + "absolute_delta": -30.4207, + "candidate": 1.3793, + "definition_changed": true, + "legacy": 31.8, + "material": true, + "relative_delta_pct": -95.6626 + }, + "pe_ratio": { + "absolute_delta": -0.1667, + "candidate": 122.9104, + "definition_changed": true, + "legacy": 123.0771, + "material": false, + "relative_delta_pct": -0.1354 + }, + "revenue_growth": { + "absolute_delta": 5.9015, + "candidate": 43.4515, + "definition_changed": true, + "legacy": 37.55, + "material": true, + "relative_delta_pct": 15.7164 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:42.816888+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 52.2989, + "candidate_fundamental_rank": 406, + "fundamental_delta": -14.3678, + "fundamental_rank_change": -145, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "WELL" + }, + { + "cik": "0000072971", + "fields": { + "earnings_surprise": { + "absolute_delta": -1.8993, + "candidate": 13.2948, + "definition_changed": true, + "legacy": 15.1941, + "material": false, + "relative_delta_pct": -12.5002 + }, + "pe_ratio": { + "absolute_delta": 1.5877, + "candidate": 13.3215, + "definition_changed": true, + "legacy": 11.7338, + "material": true, + "relative_delta_pct": 13.531 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 72.7477, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:44:46.794341+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 100.0, + "candidate_fundamental_rank": 1, + "fundamental_delta": 0.0, + "fundamental_rank_change": 0, + "legacy_fundamental": 100.0, + "legacy_fundamental_rank": 1 + }, + "symbol": "WFC" + }, + { + "cik": "0000823768", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.5424, + "candidate": 3.4286, + "definition_changed": true, + "legacy": 0.8862, + "material": true, + "relative_delta_pct": 286.8878 + }, + "pe_ratio": { + "absolute_delta": 0.3259, + "candidate": 34.3372, + "definition_changed": true, + "legacy": 34.0113, + "material": false, + "relative_delta_pct": 0.9582 + }, + "revenue_growth": { + "absolute_delta": -0.0027, + "candidate": 10.8673, + "definition_changed": true, + "legacy": 10.87, + "material": false, + "relative_delta_pct": -0.0248 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:50.827946+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.9513, + "candidate_fundamental_rank": 341, + "fundamental_delta": 3.8729, + "fundamental_rank_change": 47, + "legacy_fundamental": 56.0783, + "legacy_fundamental_rank": 388 + }, + "symbol": "WM" + }, + { + "cik": "0000107263", + "fields": { + "earnings_surprise": { + "absolute_delta": 16.9485, + "candidate": 12.3077, + "definition_changed": true, + "legacy": -4.6408, + "material": true, + "relative_delta_pct": 365.2064 + }, + "pe_ratio": { + "absolute_delta": 0.7182, + "candidate": 33.0044, + "definition_changed": true, + "legacy": 32.2862, + "material": false, + "relative_delta_pct": 2.2245 + }, + "revenue_growth": { + "absolute_delta": 3.7759, + "candidate": 14.4659, + "definition_changed": true, + "legacy": 10.69, + "material": true, + "relative_delta_pct": 35.3218 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:54.833641+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 75.3834, + "candidate_fundamental_rank": 180, + "fundamental_delta": 26.7499, + "fundamental_rank_change": 262, + "legacy_fundamental": 48.6334, + "legacy_fundamental_rank": 442 + }, + "symbol": "WMB" + }, + { + "cik": "0000104169", + "fields": { + "earnings_surprise": { + "absolute_delta": 2.111, + "candidate": 1.5385, + "definition_changed": true, + "legacy": -0.5725, + "material": true, + "relative_delta_pct": 368.7336 + }, + "pe_ratio": { + "absolute_delta": -1.1724, + "candidate": 38.169, + "definition_changed": true, + "legacy": 39.3414, + "material": false, + "relative_delta_pct": -2.9801 + }, + "revenue_growth": { + "absolute_delta": -0.0439, + "candidate": 5.8261, + "definition_changed": true, + "legacy": 5.87, + "material": false, + "relative_delta_pct": -0.7479 + } + }, + "legacy_fetched_at": "2026-07-23T20:48:20.634460+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 48.3425, + "candidate_fundamental_rank": 434, + "fundamental_delta": 4.7844, + "fundamental_rank_change": 35, + "legacy_fundamental": 43.5582, + "legacy_fundamental_rank": 469 + }, + "symbol": "WMT" + }, + { + "cik": "0000011544", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.874, + "candidate": 15.0442, + "definition_changed": true, + "legacy": 15.9182, + "material": false, + "relative_delta_pct": -5.4906 + }, + "pe_ratio": { + "absolute_delta": 1.8005, + "candidate": 15.5572, + "definition_changed": true, + "legacy": 13.7567, + "material": true, + "relative_delta_pct": 13.0882 + }, + "revenue_growth": { + "absolute_delta": 1.1049, + "candidate": 6.6149, + "definition_changed": true, + "legacy": 5.51, + "material": false, + "relative_delta_pct": 20.0526 + } + }, + "legacy_fetched_at": "2026-07-23T20:44:58.811504+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 88.2266, + "candidate_fundamental_rank": 50, + "fundamental_delta": 0.3016, + "fundamental_rank_change": -6, + "legacy_fundamental": 87.925, + "legacy_fundamental_rank": 44 + }, + "symbol": "WRB" + }, + { + "cik": "0000719955", + "fields": { + "earnings_surprise": { + "absolute_delta": -0.5573, + "candidate": 5.1903, + "definition_changed": true, + "legacy": 5.7476, + "material": false, + "relative_delta_pct": -9.6962 + }, + "pe_ratio": { + "absolute_delta": -0.0897, + "candidate": 24.5067, + "definition_changed": true, + "legacy": 24.5964, + "material": false, + "relative_delta_pct": -0.3647 + }, + "revenue_growth": { + "absolute_delta": -0.0039, + "candidate": 1.2961, + "definition_changed": true, + "legacy": 1.3, + "material": false, + "relative_delta_pct": -0.3 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:03.201710+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 65.8342, + "candidate_fundamental_rank": 282, + "fundamental_delta": -0.8324, + "fundamental_rank_change": -21, + "legacy_fundamental": 66.6667, + "legacy_fundamental_rank": 261 + }, + "symbol": "WSM" + }, + { + "cik": "0000105770", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.0107, + "candidate": 26.7857, + "definition_changed": true, + "legacy": 25.775, + "material": false, + "relative_delta_pct": 3.9212 + }, + "pe_ratio": { + "absolute_delta": 0.083, + "candidate": 47.5241, + "definition_changed": true, + "legacy": 47.4411, + "material": false, + "relative_delta_pct": 0.175 + }, + "revenue_growth": { + "absolute_delta": 0.0001, + "candidate": 11.2301, + "definition_changed": true, + "legacy": 11.23, + "material": false, + "relative_delta_pct": 0.0009 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:07.423070+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 59.3584, + "candidate_fundamental_rank": 351, + "fundamental_delta": 0.0, + "fundamental_rank_change": -6, + "legacy_fundamental": 59.3583, + "legacy_fundamental_rank": 345 + }, + "symbol": "WST" + }, + { + "cik": "0001140536", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.2136, + "candidate": 3.6212, + "definition_changed": true, + "legacy": 0.4076, + "material": true, + "relative_delta_pct": 788.42 + }, + "pe_ratio": { + "absolute_delta": 0.693, + "candidate": 16.9331, + "definition_changed": true, + "legacy": 16.2401, + "material": false, + "relative_delta_pct": 4.2672 + }, + "revenue_growth": { + "absolute_delta": -0.0907, + "candidate": 0.7793, + "definition_changed": true, + "legacy": 0.87, + "material": false, + "relative_delta_pct": -10.4253 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:11.790938+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 71.2035, + "candidate_fundamental_rank": 225, + "fundamental_delta": 4.5104, + "fundamental_rank_change": 35, + "legacy_fundamental": 66.6931, + "legacy_fundamental_rank": 260 + }, + "symbol": "WTW" + }, + { + "cik": "0000106535", + "fields": { + "earnings_surprise": { + "absolute_delta": 50.9674, + "candidate": 175.0, + "definition_changed": true, + "legacy": 124.0326, + "material": true, + "relative_delta_pct": 41.0919 + }, + "pe_ratio": { + "absolute_delta": -2.0053, + "candidate": 42.2143, + "definition_changed": true, + "legacy": 44.2196, + "material": false, + "relative_delta_pct": -4.5349 + }, + "revenue_growth": { + "absolute_delta": -0.0007, + "candidate": -3.1307, + "definition_changed": true, + "legacy": -3.13, + "material": false, + "relative_delta_pct": -0.0224 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:16.309646+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 50.4863, + "candidate_fundamental_rank": 418, + "fundamental_delta": 2.2275, + "fundamental_rank_change": 29, + "legacy_fundamental": 48.2588, + "legacy_fundamental_rank": 447 + }, + "symbol": "WY" + }, + { + "cik": "0001174922", + "fields": { + "earnings_surprise": { + "absolute_delta": 8.192, + "candidate": 5.9322, + "definition_changed": true, + "legacy": -2.2598, + "material": true, + "relative_delta_pct": 362.51 + }, + "pe_ratio": { + "absolute_delta": 1.3448, + "candidate": 27.7278, + "definition_changed": true, + "legacy": 26.383, + "material": false, + "relative_delta_pct": 5.0972 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 4.72, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:45:20.831580+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 68.6175, + "candidate_fundamental_rank": 254, + "fundamental_delta": 14.4316, + "fundamental_rank_change": 148, + "legacy_fundamental": 54.1859, + "legacy_fundamental_rank": 402 + }, + "symbol": "WYNN" + }, + { + "cik": "0000072903", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.1755, + "candidate": 0.0, + "definition_changed": true, + "legacy": -0.1755, + "material": false, + "relative_delta_pct": 100.0 + }, + "pe_ratio": { + "absolute_delta": -0.2551, + "candidate": 23.2767, + "definition_changed": true, + "legacy": 23.5318, + "material": false, + "relative_delta_pct": -1.0841 + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 7.97, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:45:24.869953+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 61.2056, + "candidate_fundamental_rank": 324, + "fundamental_delta": -2.3305, + "fundamental_rank_change": -16, + "legacy_fundamental": 63.5361, + "legacy_fundamental_rank": 308 + }, + "symbol": "XEL" + }, + { + "cik": "0002115436", + "fields": { + "earnings_surprise": { + "absolute_delta": -5.8745, + "candidate": 8.4112, + "definition_changed": true, + "legacy": 14.2857, + "material": true, + "relative_delta_pct": -41.1215 + }, + "pe_ratio": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": 25.1194, + "material": false, + "relative_delta_pct": null + }, + "revenue_growth": { + "absolute_delta": null, + "candidate": null, + "definition_changed": true, + "legacy": -4.09, + "material": false, + "relative_delta_pct": null + } + }, + "legacy_fetched_at": "2026-07-23T20:48:24.667174+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": null, + "candidate_fundamental_rank": null, + "fundamental_delta": null, + "fundamental_rank_change": null, + "legacy_fundamental": 68.6812, + "legacy_fundamental_rank": 240 + }, + "symbol": "XOM" + }, + { + "cik": "0001524472", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5252, + "candidate": 2.7523, + "definition_changed": true, + "legacy": 2.2271, + "material": false, + "relative_delta_pct": 23.5822 + }, + "pe_ratio": { + "absolute_delta": 0.4278, + "candidate": 29.0721, + "definition_changed": true, + "legacy": 28.6443, + "material": false, + "relative_delta_pct": 1.4935 + }, + "revenue_growth": { + "absolute_delta": 0.0039, + "candidate": 5.7339, + "definition_changed": true, + "legacy": 5.73, + "material": false, + "relative_delta_pct": 0.0681 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:29.170431+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.3964, + "candidate_fundamental_rank": 332, + "fundamental_delta": 0.4032, + "fundamental_rank_change": 8, + "legacy_fundamental": 59.9932, + "legacy_fundamental_rank": 340 + }, + "symbol": "XYL" + }, + { + "cik": "0001512673", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.5673, + "candidate": 25.0, + "definition_changed": true, + "legacy": 24.4327, + "material": false, + "relative_delta_pct": 2.3219 + }, + "pe_ratio": { + "absolute_delta": 2.1669, + "candidate": 59.7578, + "definition_changed": true, + "legacy": 57.5909, + "material": false, + "relative_delta_pct": 3.7626 + }, + "revenue_growth": { + "absolute_delta": -0.0014, + "candidate": 2.2686, + "definition_changed": true, + "legacy": 2.27, + "material": false, + "relative_delta_pct": -0.0617 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:33.412547+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 51.8905, + "candidate_fundamental_rank": 409, + "fundamental_delta": -0.0011, + "fundamental_rank_change": 7, + "legacy_fundamental": 51.8917, + "legacy_fundamental_rank": 416 + }, + "symbol": "XYZ" + }, + { + "cik": "0001041061", + "fields": { + "earnings_surprise": { + "absolute_delta": 0.3328, + "candidate": 7.9137, + "definition_changed": true, + "legacy": 7.5809, + "material": false, + "relative_delta_pct": 4.39 + }, + "pe_ratio": { + "absolute_delta": 0.2796, + "candidate": 23.7694, + "definition_changed": true, + "legacy": 23.4898, + "material": false, + "relative_delta_pct": 1.1903 + }, + "revenue_growth": { + "absolute_delta": 0.0166, + "candidate": 9.6666, + "definition_changed": true, + "legacy": 9.65, + "material": false, + "relative_delta_pct": 0.172 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:37.740299+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 78.1679, + "candidate_fundamental_rank": 148, + "fundamental_delta": 0.2578, + "fundamental_rank_change": -26, + "legacy_fundamental": 77.9101, + "legacy_fundamental_rank": 122 + }, + "symbol": "YUM" + }, + { + "cik": "0001136869", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.3725, + "candidate": 12.3656, + "definition_changed": true, + "legacy": 10.9931, + "material": false, + "relative_delta_pct": 12.4851 + }, + "pe_ratio": { + "absolute_delta": 0.3232, + "candidate": 23.2254, + "definition_changed": true, + "legacy": 22.9022, + "material": false, + "relative_delta_pct": 1.4112 + }, + "revenue_growth": { + "absolute_delta": 0.0004, + "candidate": 9.2304, + "definition_changed": true, + "legacy": 9.23, + "material": false, + "relative_delta_pct": 0.0043 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:42.099903+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 81.886, + "candidate_fundamental_rank": 112, + "fundamental_delta": -0.3588, + "fundamental_rank_change": -27, + "legacy_fundamental": 82.2448, + "legacy_fundamental_rank": 85 + }, + "symbol": "ZBH" + }, + { + "cik": "0000877212", + "fields": { + "earnings_surprise": { + "absolute_delta": 3.218, + "candidate": 12.8266, + "definition_changed": true, + "legacy": 9.6086, + "material": true, + "relative_delta_pct": 33.4908 + }, + "pe_ratio": { + "absolute_delta": 0.7842, + "candidate": 31.0326, + "definition_changed": true, + "legacy": 30.2484, + "material": false, + "relative_delta_pct": 2.5925 + }, + "revenue_growth": { + "absolute_delta": 0.0009, + "candidate": 9.1709, + "definition_changed": true, + "legacy": 9.17, + "material": false, + "relative_delta_pct": 0.0098 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:46.833614+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 73.1617, + "candidate_fundamental_rank": 209, + "fundamental_delta": -0.2183, + "fundamental_rank_change": -33, + "legacy_fundamental": 73.38, + "legacy_fundamental_rank": 176 + }, + "symbol": "ZBRA" + }, + { + "cik": "0001555280", + "fields": { + "earnings_surprise": { + "absolute_delta": 1.2179, + "candidate": -4.9689, + "definition_changed": true, + "legacy": -6.1868, + "material": false, + "relative_delta_pct": 19.6855 + }, + "pe_ratio": { + "absolute_delta": 0.543, + "candidate": 12.3665, + "definition_changed": true, + "legacy": 11.8235, + "material": false, + "relative_delta_pct": 4.5925 + }, + "revenue_growth": { + "absolute_delta": 0.0015, + "candidate": 2.4015, + "definition_changed": true, + "legacy": 2.4, + "material": false, + "relative_delta_pct": 0.0625 + } + }, + "legacy_fetched_at": "2026-07-23T20:45:51.000618+00:00", + "price_date": "2026-07-23", + "scores": { + "candidate_fundamental": 60.3863, + "candidate_fundamental_rank": 333, + "fundamental_delta": 2.031, + "fundamental_rank_change": 26, + "legacy_fundamental": 58.3553, + "legacy_fundamental_rank": 359 + }, + "symbol": "ZTS" + } + ], + "source_runs": { + "dolt_earnings": { + "completed_at": "2026-07-23T11:47:17.003143+00:00", + "revision": "udn31bcieksioiaf9pqo87jhie41vguc", + "run_id": 2, + "source_max_date": "2026-08-27", + "status": "promoted" + }, + "sec_facts": { + "completed_at": "2026-07-23T11:59:29.669394+00:00", + "revision": "2026-07-22:b8e1dda3ac0aa3820ad2990b:4788851ab181b190f77e92fb", + "run_id": 3, + "source_max_date": "2026-07-22", + "status": "promoted" + } + }, + "summary": { + "candidate_fundamental_score_available": 482, + "field_stats": { + "earnings_surprise": { + "both_available": 506, + "candidate_available": 506, + "legacy_available": 506, + "material_differences": 266, + "max_absolute_delta": 1459.02, + "median_absolute_delta": 2.0995, + "p95_absolute_delta": 49.2211 + }, + "pe_ratio": { + "both_available": 432, + "candidate_available": 432, + "legacy_available": 484, + "material_differences": 57, + "max_absolute_delta": 203.8289, + "median_absolute_delta": 0.5883, + "p95_absolute_delta": 7.7263 + }, + "revenue_growth": { + "both_available": 442, + "candidate_available": 442, + "legacy_available": 505, + "material_differences": 84, + "max_absolute_delta": 191.596, + "median_absolute_delta": 0.0038, + "p95_absolute_delta": 26.4804 + } + }, + "fundamental_rank_changes": 473, + "fundamental_score_material_changes": 160, + "fundamental_scores_compared": 482, + "largest_changes": [ + { + "fundamental_delta": -56.8691, + "fundamental_rank_change": -455, + "symbol": "COF" + }, + { + "fundamental_delta": 41.254, + "fundamental_rank_change": 159, + "symbol": "TSLA" + }, + { + "fundamental_delta": 39.1695, + "fundamental_rank_change": 230, + "symbol": "TKO" + }, + { + "fundamental_delta": -38.74, + "fundamental_rank_change": -257, + "symbol": "INVH" + }, + { + "fundamental_delta": 37.5863, + "fundamental_rank_change": 124, + "symbol": "IVZ" + }, + { + "fundamental_delta": 36.3412, + "fundamental_rank_change": 353, + "symbol": "KLAC" + }, + { + "fundamental_delta": 33.889, + "fundamental_rank_change": 304, + "symbol": "MNST" + }, + { + "fundamental_delta": 33.642, + "fundamental_rank_change": 344, + "symbol": "OKE" + }, + { + "fundamental_delta": 33.4682, + "fundamental_rank_change": 311, + "symbol": "NVR" + }, + { + "fundamental_delta": -33.3354, + "fundamental_rank_change": -159, + "symbol": "IRM" + }, + { + "fundamental_delta": 33.3333, + "fundamental_rank_change": 260, + "symbol": "CVNA" + }, + { + "fundamental_delta": 32.7995, + "fundamental_rank_change": 276, + "symbol": "LVS" + }, + { + "fundamental_delta": -31.773, + "fundamental_rank_change": -137, + "symbol": "HWM" + }, + { + "fundamental_delta": 31.15, + "fundamental_rank_change": 236, + "symbol": "APA" + }, + { + "fundamental_delta": 30.3306, + "fundamental_rank_change": 318, + "symbol": "GD" + }, + { + "fundamental_delta": 30.1308, + "fundamental_rank_change": 267, + "symbol": "GEV" + }, + { + "fundamental_delta": 27.4986, + "fundamental_rank_change": 287, + "symbol": "SBAC" + }, + { + "fundamental_delta": 27.3315, + "fundamental_rank_change": 213, + "symbol": "BAX" + }, + { + "fundamental_delta": 26.7499, + "fundamental_rank_change": 262, + "symbol": "WMB" + }, + { + "fundamental_delta": -26.2321, + "fundamental_rank_change": -24, + "symbol": "WBD" + } + ], + "legacy_fundamental_score_available": 507, + "universe_count": 511 + } +} diff --git a/scripts/reparse_fundamentals.py b/scripts/reparse_fundamentals.py new file mode 100644 index 0000000..f4fecc1 --- /dev/null +++ b/scripts/reparse_fundamentals.py @@ -0,0 +1,120 @@ +"""Re-derive every stored SEC snapshot with the current parser. + +Snapshots are immutable per accession, so a parser fix does not reach rows that +are already stored: a normal import skips them and only logs a +``snapshot_discrepancy``. This script is the deliberate, manual exception -- +it restages every accession from SEC Company Facts and rewrites the rows whose +reconstruction changed. + +**Dry run by default.** Nothing is written unless ``--apply`` is passed. The dry +run stages and validates exactly as the real run does (both are read-only) and +reports the full blast radius: how many rows would change, which fields, and +per-symbol before/after samples. + +Cost: a reparse cannot be served from the database -- the facts a fixed parser now +accepts were never stored -- so it refetches Company Facts for every tracked issuer +under the SEC fair-access throttle. Expect a long run and a lot of network. + +Scope note: this rewrites ``fundamental_snapshots`` only. As of the A5 gate those +rows feed the fundamentals API/UI and the parity report; scoring still reads the +legacy ``fundamental_data`` table, so a reparse does not move composite scores or +backtests until the cutover happens. + +Examples +-------- + # dry run: report what would change, write nothing + python scripts/reparse_fundamentals.py + + # dry run, showing more per-field detail + python scripts/reparse_fundamentals.py --samples 40 + + # actually rewrite the changed rows + python scripts/reparse_fundamentals.py --apply +""" + +from __future__ import annotations + +import argparse +import asyncio +import sys +from collections import Counter +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[1])) + +from app.database import async_session_factory # noqa: E402 +from app.services.data_import import run_import # noqa: E402 +from app.services.sec_fundamentals_importer import SecFundamentalsImporter # noqa: E402 + + +def _parse_args() -> argparse.Namespace: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--apply", action="store_true", + help="rewrite changed rows (default: dry run, writes nothing)") + ap.add_argument("--samples", type=int, default=20, + help="how many changed accessions to show in detail (default 20)") + return ap.parse_args() + + +async def _dry_run(samples: int) -> int: + importer = SecFundamentalsImporter(reparse=True) + async with async_session_factory() as db: + print("staging every tracked issuer from SEC Company Facts (this is the slow part)...") + revision = await importer.detect_revision(db) + staged = await importer.stage(db) + result = await importer.validate(db, staged) + + print(f"\nrevision : {revision}") + print(f"issuers fetched : {staged.issuers_fetched}") + print(f"rows reconstructed : {len(staged.rows)}") + print(f"already stored : {len(staged.existing_accessions)}") + print(f"WOULD BE REWRITTEN : {len(staged.discrepancies)}") + print(f"new inserts : {len(staged.rows) - len(staged.existing_accessions)}") + print(f"validation ok : {result.ok}") + if not result.ok: + print(f"validation messages : {result.messages}") + + if staged.discrepancies: + field_counts = Counter(f for d in staged.discrepancies for f in d["fields"]) + print("\nchanged fields (accession count per field):") + for name, count in field_counts.most_common(): + print(f" {name:28s} {count}") + + by_accession = {r.accession: r for r in staged.rows} + print(f"\nfirst {min(samples, len(staged.discrepancies))} changed accessions:") + for d in staged.discrepancies[:samples]: + row = by_accession.get(d["accession"]) + where = f"{row.cik} {row.fiscal_year} {row.fiscal_period}" if row else "?" + print(f" {d['accession']} {where:28s} {', '.join(d['fields'])}") + + print( + "\nDRY RUN -- nothing was written." + "\nCheck that the changes are the *kinds* you expect (recovered nulls," + "\ncorrected values) and sample issuers you did not anticipate before" + "\nre-running with --apply." + ) + return 0 if result.ok else 1 + + +async def _apply() -> int: + # force=True: the revision tracks SEC, which has not changed — the staleness + # is on our side, so the normal no-op gate would skip this. + run = await run_import(SecFundamentalsImporter(reparse=True), force=True) + if run is None: + print("another sec_facts import holds the lock; nothing done") + return 1 + print(f"run {run.id}: status={run.status}") + print(f" revision : {run.revision}") + print(f" row_counts : {run.row_counts_json}") + if run.error_details: + print(f" error : {run.error_details}") + return 0 if run.status == "promoted" else 1 + + +def main() -> int: + args = _parse_args() + return asyncio.run(_apply() if args.apply else _dry_run(args.samples)) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/unit/test_fundamentals_derivation.py b/tests/unit/test_fundamentals_derivation.py index d77a0c2..77211de 100644 --- a/tests/unit/test_fundamentals_derivation.py +++ b/tests/unit/test_fundamentals_derivation.py @@ -29,6 +29,7 @@ class Snap: cash_and_st_investments: float | None = None total_debt: float | None = None shares_outstanding: float | None = None + weighted_avg_diluted_shares: float | None = None _FP = ["Q1", "Q2", "Q3", "FY"] @@ -188,3 +189,145 @@ def test_amendment_selection_newest_accepted_wins(): # Q4 revenue discrete now uses the amended YTD(FY)=999999 minus YTD(Q3)=363 # so TTM/growth reflects the amendment, proving newest accepted_at won. assert d.metrics["revenue_growth_yoy"].value != pytest.approx(10.0, abs=1e-6) + + +# -- partial amendments (A5 parity findings) --------------------------------- + +def test_partial_amendment_does_not_blank_the_period(): + # DVN's FY2025 10-K/A carries no financial facts at the report date. Taking + # the newest accession wholesale nulled the period, and with it the quarter + # chain, TTM and YoY. + rows = _two_years() + part_iii_only = Snap(2026, "FY", date(2026, 9, 30), date(2026, 11, 1), + datetime(2027, 1, 1, tzinfo=UTC)) + baseline = fd.derive(rows) + d = fd.derive(rows + [part_iii_only]) + assert d.ttm_diluted_eps == pytest.approx(baseline.ttm_diluted_eps) + assert d.metrics["revenue_growth_yoy"].value == pytest.approx( + baseline.metrics["revenue_growth_yoy"].value + ) + + +def test_amendment_restating_one_field_leaves_the_others_intact(): + rows = _two_years() + revenue_only = Snap(2026, "FY", date(2026, 9, 30), date(2026, 11, 1), + datetime(2027, 1, 1, tzinfo=UTC), revenue=999999) + baseline = fd.derive(rows) + d = fd.derive(rows + [revenue_only]) + assert d.metrics["revenue_growth_yoy"].value != pytest.approx( + baseline.metrics["revenue_growth_yoy"].value + ) + assert d.ttm_diluted_eps == pytest.approx(baseline.ttm_diluted_eps) # fell back + + +def test_same_key_row_for_a_different_period_is_never_merged(): + # SEC labels two different year-ends with one fiscal_year for some filers + # (FRT, CRM). That is a mislabelled filing, not an amendment -- merging the + # two would silently blend fiscal years. + rows = _two_years() + mislabelled = Snap(2026, "FY", date(2027, 9, 30), date(2027, 11, 1), + datetime(2027, 12, 1, tzinfo=UTC), revenue=999999) + selected = fd._select_latest_per_period(rows + [mislabelled]) + assert selected[(2026, "FY")] is mislabelled + + +# -- split safety for the TTM EPS scalar (A5 parity findings) ---------------- + +def _split_rows(): + """Two years where the share count jumps ~25x at the latest quarter, as + BKNG's did (31.7M -> 774.9M) when its split landed mid-window.""" + rows = _two_years() + for row in rows: + if (row.fiscal_year, row.fiscal_period) == (2026, "FY"): + row.shares_outstanding = 25000.0 # vs 1000 a year earlier + return rows + + +def test_split_suppresses_ttm_diluted_eps(): + # TTM sums four quarters of per-share values; a split inside the window + # mixes units. Unguarded this produced BKNG's P/E of 1.10, which clamps to a + # *perfect* fundamental sub-score -- worse than having no value at all. + d = fd.derive(_split_rows()) + assert d.ttm_diluted_eps is None + assert d.ttm_diluted_eps_caveat == fd.SPLIT_SENSITIVE_CAVEAT + + +def test_ttm_diluted_eps_survives_when_no_split_is_suspected(): + d = fd.derive(_two_years()) + assert d.ttm_diluted_eps is not None + assert d.ttm_diluted_eps_caveat is None + + +def test_split_guard_leaves_dollar_scalars_alone(): + # Only per-share values are split-sensitive; FCF is in dollars. + baseline = fd.derive(_two_years()) + d = fd.derive(_split_rows()) + assert d.ttm_fcf == pytest.approx(baseline.ttm_fcf) + + +# -- multi-class share-count fallback (A5 parity findings) ------------------- + +def test_shares_fall_back_to_weighted_average_when_cover_page_count_is_absent(): + # META/CMCSA/BRK-B/CHTR report the cover-page count per share class, which is + # dimensional and therefore absent from companyfacts -- silently removing + # market cap and FCF yield for some of the largest issuers. + rows = _two_years() + for row in rows: + row.shares_outstanding = None + row.weighted_avg_diluted_shares = 2_564_000_000.0 + d = fd.derive(rows) + assert d.shares_outstanding == 2_564_000_000.0 + assert d.shares_outstanding_estimated is True + + +def test_point_in_time_share_count_is_preferred_and_not_flagged(): + baseline = fd.derive(_two_years()).shares_outstanding + assert baseline is not None, "fixture should carry a cover-page count" + rows = _two_years() + for row in rows: + row.weighted_avg_diluted_shares = 1.0 # must lose to the real count + d = fd.derive(rows) + assert d.shares_outstanding == baseline + assert d.shares_outstanding_estimated is False + + +def test_weighted_average_fallback_survives_a_partial_amendment(): + # A Part-III-only 10-K/A on a multi-class issuer's latest period: the merged + # row must keep the weighted-average count, or market cap silently vanishes. + rows = _two_years() + for row in rows: + row.shares_outstanding = None + row.weighted_avg_diluted_shares = 2_564_000_000.0 + part_iii_only = Snap(2026, "FY", date(2026, 9, 30), date(2026, 11, 1), + datetime(2027, 1, 1, tzinfo=UTC)) + d = fd.derive(rows + [part_iii_only]) + assert d.shares_outstanding == 2_564_000_000.0 + assert d.shares_outstanding_estimated is True + + +def test_no_share_count_at_all_stays_none_and_unflagged(): + rows = _two_years() + for row in rows: + row.shares_outstanding = None + d = fd.derive(rows) + assert d.shares_outstanding is None + assert d.shares_outstanding_estimated is False + + +def test_merge_lists_cover_every_parser_field(): + """_MERGED_FIELDS/_CARRIED_FIELDS are hand-maintained, and _merge_amendments + builds the merged row from them alone — so a parser field missing from both + is not merely stale on a merged period, it is *absent*, and callers using + getattr(row, name, None) read None. That is how weighted_avg_diluted_shares + silently lost market cap for multi-class issuers with a partial amendment. + Adding a column to SnapshotRow must fail here rather than lose data quietly. + """ + import dataclasses + + from app.services.sec_facts_parser import SnapshotRow + + parser_fields = {f.name for f in dataclasses.fields(SnapshotRow)} + covered = set(fd._MERGED_FIELDS) | set(fd._CARRIED_FIELDS) + assert not parser_fields - covered, ( + f"parser fields not merged or carried: {sorted(parser_fields - covered)}" + ) diff --git a/tests/unit/test_sec_facts_parser.py b/tests/unit/test_sec_facts_parser.py index 90c4df2..3bc6f6b 100644 --- a/tests/unit/test_sec_facts_parser.py +++ b/tests/unit/test_sec_facts_parser.py @@ -270,3 +270,227 @@ async def test_live_apple_parse_invariants(): # shares cover-date differs from period_end latest = max(rows, key=lambda r: r.period_end) assert latest.shares_outstanding_date != latest.period_end + + +# -- revenue concept coverage (A5 parity findings) --------------------------- + +def _one_filing(concepts: dict, *, start: str, end: str, fp: str): + """A single 10-Q whose facts are the given {concept: value} at one YTD span.""" + facts = { + name: {"units": {"USD": [_dur(start, end, val, "X", fp=fp)]}} + for name, val in concepts.items() + } + companyfacts = {"cik": 19617, "facts": {"us-gaap": facts}} + filings = { + "X": FilingMeta( + date.fromisoformat(end), date(2026, 5, 1), datetime(2026, 5, 1, 10, tzinfo=UTC), "10-Q" + ) + } + return parse_snapshots(companyfacts, filings, {"X"}) + + +def test_revenue_reads_banks_total_revenue_tag(): + # JPM/GS/WFC tag RevenuesNetOfInterestExpense in every 10-Q and never (or + # only annually) `Revenues` -- previously null, so revenue growth was too. + res = _one_filing( + {"RevenuesNetOfInterestExpense": 49836}, start="2026-01-01", end="2026-03-31", fp="Q1" + ) + assert res.rows[0].revenue == 49836 + + +def test_revenue_reads_including_assessed_tax_variant(): + # ARE/KHC tag only the Including variant. + res = _one_filing( + {"RevenueFromContractWithCustomerIncludingAssessedTax": 671}, + start="2026-01-01", end="2026-03-31", fp="Q1", + ) + assert res.rows[0].revenue == 671 + + +def test_revenue_concept_priority_is_unchanged_by_the_added_tags(): + # The new entries are appended, so any issuer that already resolved keeps + # the same concept -- only issuers that resolved to nothing gain a value. + res = _one_filing( + { + "RevenueFromContractWithCustomerExcludingAssessedTax": 100, + "RevenueFromContractWithCustomerIncludingAssessedTax": 110, + "RevenuesNetOfInterestExpense": 120, + "Revenues": 130, + }, + start="2026-01-01", end="2026-03-31", fp="Q1", + ) + assert res.rows[0].revenue == 100 + + +def test_four_four_five_q3_ytd_span_is_accepted(): + # A 12/12/12/16-week filer's YTD-Q3 is 36 weeks = 251 days (COST 2026 Q3), + # which missed the old 20-day tolerance around 273 by ~2 and dropped Q3 + # every year -- breaking the quarter chain and nulling TTM and YoY. + res = _one_filing( + {"RevenueFromContractWithCustomerExcludingAssessedTax": 207431}, + start="2025-09-01", end="2026-05-10", fp="Q3", + ) + assert (date(2026, 5, 10) - date(2025, 9, 1)).days == 251 + assert res.rows[0].revenue == 207431 + + +def test_eps_falls_back_to_continuing_operations_variant(): + # REG tags only this variant on every filing; FCX tags it in its 10-K while + # using EarningsPerShareDiluted in its 10-Qs. + companyfacts = { + "cik": 910606, + "facts": {"us-gaap": {"IncomeLossFromContinuingOperationsPerDilutedShare": { + "units": {"USD/shares": [_dur("2026-01-01", "2026-03-31", 1.81, "X", fp="Q1")]} + }}}, + } + filings = {"X": FilingMeta(date(2026, 3, 31), date(2026, 5, 1), + datetime(2026, 5, 1, 10, tzinfo=UTC), "10-Q")} + res = parse_snapshots(companyfacts, filings, {"X"}) + assert res.rows[0].diluted_eps == 1.81 + + +def test_eps_concept_priority_is_unchanged_by_the_added_tag(): + companyfacts = { + "cik": 831259, + "facts": {"us-gaap": { + "EarningsPerShareDiluted": { + "units": {"USD/shares": [_dur("2026-01-01", "2026-03-31", 0.61, "X", fp="Q1")]}}, + "IncomeLossFromContinuingOperationsPerDilutedShare": { + "units": {"USD/shares": [_dur("2026-01-01", "2026-03-31", 0.75, "X", fp="Q1")]}}, + }}, + } + filings = {"X": FilingMeta(date(2026, 3, 31), date(2026, 5, 1), + datetime(2026, 5, 1, 10, tzinfo=UTC), "10-Q")} + res = parse_snapshots(companyfacts, filings, {"X"}) + assert res.rows[0].diluted_eps == 0.61 + + +# -- period identity from the fiscal calendar, not SEC's fy/fp --------------- + +from app.services.sec_facts_parser import _period_identity # noqa: E402 + + +def _meta(end: str, form: str = "10-Q") -> FilingMeta: + d = date.fromisoformat(end) + return FilingMeta(d, d, datetime(d.year, d.month, d.day, tzinfo=UTC), form) + + +def test_a_10q_is_never_labelled_fy(): + # BXP: a 10-Q for period end 2026-03-31 carried fy/fp saying "2026 FY", which + # collided with the real annual row and measured a 90-day fact against the + # 365-day FY expectation. + fy, fp = _period_identity(_meta("2026-03-31"), "1231") + assert (fy, fp) == (2026, "Q1") + + +def test_december_filer_years_do_not_collide(): + # FRT: two 10-Ks, ending 2024-12-31 and 2025-12-31, both labelled "2024 FY". + assert _period_identity(_meta("2024-12-31", "10-K"), "1231") == (2024, "FY") + assert _period_identity(_meta("2025-12-31", "10-K"), "1231") == (2025, "FY") + + +def test_january_year_end_groups_its_quarters(): + # CRM/CRWD/WDAY: the year ending 2026-01-31 and its own quarters must share a + # fiscal year, and must not collide with the year ending 2025-01-31. + assert _period_identity(_meta("2026-01-31", "10-K"), "0131") == (2026, "FY") + assert _period_identity(_meta("2025-01-31", "10-K"), "0131") == (2025, "FY") + assert _period_identity(_meta("2025-04-30"), "0131") == (2026, "Q1") + assert _period_identity(_meta("2025-07-31"), "0131") == (2026, "Q2") + assert _period_identity(_meta("2025-10-31"), "0131") == (2026, "Q3") + + +def test_mid_year_end_orders_correctly(): + # STX: the year ending 2025-06-27 was labelled "2027 FY" and sorted after + # quarters that precede it. + assert _period_identity(_meta("2025-06-27", "10-K"), "0627") == (2025, "FY") + assert _period_identity(_meta("2025-10-03"), "0627") == (2026, "Q1") + assert _period_identity(_meta("2026-01-02"), "0627") == (2026, "Q2") + assert _period_identity(_meta("2026-04-03"), "0627") == (2026, "Q3") + + +def test_four_four_five_quarters_place_correctly(): + # COST: a 12/12/12/16-week year leaves Q3 112 days from the year end, not 91. + assert _period_identity(_meta("2025-11-23"), "0830") == (2026, "Q1") + assert _period_identity(_meta("2026-02-15"), "0830") == (2026, "Q2") + assert _period_identity(_meta("2026-05-10"), "0830") == (2026, "Q3") + assert _period_identity(_meta("2026-08-30", "10-K"), "0830") == (2026, "FY") + + +def test_year_end_crossing_january_still_groups_one_year(): + # DPZ (fiscalYearEnd 0102): the label shifts by one against Domino's own + # naming, which is fine -- a year and its quarters must simply agree. + year, _ = _period_identity(_meta("2025-12-28", "10-K"), "0102") + assert (year, "FY") == _period_identity(_meta("2025-12-28", "10-K"), "0102") + assert _period_identity(_meta("2025-03-23"), "0102") == (year, "Q1") + assert _period_identity(_meta("2025-06-15"), "0102") == (year, "Q2") + assert _period_identity(_meta("2025-09-07"), "0102") == (year, "Q3") + + +def test_missing_fiscal_calendar_falls_back_to_filing_context(): + assert _period_identity(_meta("2026-03-31"), None) == (None, None) + # ...and parse_snapshots then uses the fy/fp path, preserving old behaviour. + res = parse_snapshots(COMPANYFACTS, FILINGS, {"B"}) + assert (res.rows[0].fiscal_year, res.rows[0].fiscal_period) == (2026, "Q2") + + + +def test_eps_falls_back_to_basic_only_when_no_diluted_variant_exists(): + # PPL's 2026 Q1 tags no diluted EPS at all, only basic -- one missing period + # broke the quarter chain and nulled TTM. + companyfacts = { + "cik": 922224, + "facts": {"us-gaap": {"EarningsPerShareBasic": { + "units": {"USD/shares": [_dur("2026-01-01", "2026-03-31", 0.60, "X", fp="Q1")]} + }}}, + } + filings = {"X": FilingMeta(date(2026, 3, 31), date(2026, 5, 1), + datetime(2026, 5, 1, 10, tzinfo=UTC), "10-Q")} + res = parse_snapshots(companyfacts, filings, {"X"}, fiscal_year_end="1231") + assert res.rows[0].diluted_eps == 0.60 + + +def test_diluted_still_wins_over_basic_when_both_present(): + companyfacts = { + "cik": 320193, + "facts": {"us-gaap": { + "EarningsPerShareDiluted": { + "units": {"USD/shares": [_dur("2026-01-01", "2026-03-31", 1.36, "X", fp="Q1")]}}, + "EarningsPerShareBasic": { + "units": {"USD/shares": [_dur("2026-01-01", "2026-03-31", 1.40, "X", fp="Q1")]}}, + }}, + } + filings = {"X": FilingMeta(date(2026, 3, 31), date(2026, 5, 1), + datetime(2026, 5, 1, 10, tzinfo=UTC), "10-Q")} + res = parse_snapshots(companyfacts, filings, {"X"}, fiscal_year_end="1231") + assert res.rows[0].diluted_eps == 1.36 + + +def test_weighted_average_shares_prefers_the_shortest_span(): + # A 10-Q carries both the quarter's average and the YTD one. The shorter + # window sits closer to the current count, which is what market cap wants. + companyfacts = { + "cik": 1326801, + "facts": {"us-gaap": {"WeightedAverageNumberOfDilutedSharesOutstanding": { + "units": {"shares": [ + _dur("2026-01-01", "2026-09-30", 2_600_000_000, "X", fp="Q3"), # YTD + _dur("2026-07-01", "2026-09-30", 2_564_000_000, "X", fp="Q3"), # quarter + ]} + }}}, + } + filings = {"X": FilingMeta(date(2026, 9, 30), date(2026, 11, 1), + datetime(2026, 11, 1, 10, tzinfo=UTC), "10-Q")} + res = parse_snapshots(companyfacts, filings, {"X"}, fiscal_year_end="1231") + assert res.rows[0].weighted_avg_diluted_shares == 2_564_000_000 + + +def test_weighted_average_shares_falls_back_to_the_basic_and_diluted_concept(): + companyfacts = { + "cik": 1326801, + "facts": {"us-gaap": {"WeightedAverageNumberOfSharesOutstandingBasicAndDiluted": { + "units": {"shares": [_dur("2026-07-01", "2026-09-30", 500_000, "X", fp="Q3")]} + }}}, + } + filings = {"X": FilingMeta(date(2026, 9, 30), date(2026, 11, 1), + datetime(2026, 11, 1, 10, tzinfo=UTC), "10-Q")} + res = parse_snapshots(companyfacts, filings, {"X"}, fiscal_year_end="1231") + assert res.rows[0].weighted_avg_diluted_shares == 500_000 diff --git a/tests/unit/test_sec_fundamentals_importer.py b/tests/unit/test_sec_fundamentals_importer.py index 4e7191f..bbd71c0 100644 --- a/tests/unit/test_sec_fundamentals_importer.py +++ b/tests/unit/test_sec_fundamentals_importer.py @@ -411,3 +411,181 @@ async def test_discrepancy_in_shares_is_detected_and_reported(engine): assert k.shares_outstanding == 999.0 and k.import_run_id == 1 # immutable — not overwritten events = (await s.execute(select(SystemEvent).where(SystemEvent.code == "snapshot_discrepancy"))).scalars().all() assert len(events) == 1 and events[0].severity == "warning" + + +# --- reparse: rewriting rows a fixed parser reconstructs differently -------- + +# A 4-4-5 filer's YTD-Q3 span (36 weeks = 251 days). The old 20-day tolerance +# around 273 rejected it and stored revenue=None; 25 accepts it. Reparsing with +# the fixed parser is exactly the situation this mode exists for. +CF_Q3_445 = _rev("2025-09-01", "2026-05-10", 207431, 2026, "Q3", "Q3F") +SUB_445 = [_filing("Q3F", "10-Q", "2026-05-10", "2026-06-01", "2026-06-01T10:01:00.000Z")] + + +def _445_client(): + return FakeSecClient( + tickers={"AAPL": 320193}, + companyfacts={320193: _companyfacts([CF_Q3_445], [_shares("2026-05-15", 100, "Q3F", 2026, "Q3")])}, + submissions={320193: _submissions(SUB_445)}, + latest_index=date(2026, 6, 1), + ) + + +async def _import_with_old_tolerance(engine, monkeypatch): + """Seed the DB the way the pre-fix parser did: Q3 revenue rejected -> null.""" + from app.services import sec_facts_parser + + monkeypatch.setattr(sec_facts_parser, "_YTD_TOLERANCE_DAYS", 20) + run = await run_import(_importer(_445_client(), today=date(2026, 6, 2)), engine=engine) + monkeypatch.undo() + return run + + +async def test_reparse_rewrites_rows_the_fixed_parser_reads_differently(engine, monkeypatch): + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + first = await _import_with_old_tolerance(engine, monkeypatch) + + async with factory() as s: + stale = (await s.execute(select(FundamentalSnapshot))).scalar_one() + assert stale.revenue is None, "precondition: the old parser stored a null" + + # Reparse with the current (fixed) parser. force=True because SEC has not + # changed -- the staleness is on our side, so the revision gate would no-op. + run = await run_import( + SecFundamentalsImporter( + client_factory=lambda: _445_client(), today=date(2026, 6, 2), reparse=True + ), + engine=engine, + force=True, + ) + + assert run.status == STATUS_PROMOTED + assert '"updated": 1' in run.row_counts_json + async with factory() as s: + fixed = (await s.execute(select(FundamentalSnapshot))).scalar_one() + assert fixed.revenue == 207431 # rewritten in place + assert fixed.accession == stale.accession + assert fixed.import_run_id == run.id # rewrite is attributable + assert fixed.import_run_id != first.id + + +async def test_reparse_leaves_unchanged_rows_untouched(engine): + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + first = await run_import(_importer(_445_client(), today=date(2026, 6, 2)), engine=engine) + + run = await run_import( + SecFundamentalsImporter( + client_factory=lambda: _445_client(), today=date(2026, 6, 2), reparse=True + ), + engine=engine, + force=True, + ) + + assert '"updated": 0' in run.row_counts_json + async with factory() as s: + row = (await s.execute(select(FundamentalSnapshot))).scalar_one() + assert row.import_run_id == first.id # provenance preserved, no needless rewrite + + +async def test_without_reparse_a_differing_row_stays_immutable(engine, monkeypatch): + """The default contract is unchanged: report the discrepancy, never mutate.""" + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + await _import_with_old_tolerance(engine, monkeypatch) + + importer = SecFundamentalsImporter( + client_factory=lambda: _445_client(), today=date(2026, 6, 2), reparse=True + ) + async with _factory(engine)() as db: + await importer.detect_revision(db) + staged = await importer.stage(db) + importer.reparse = False # same staged diff, default disposition + counts = await importer.promote(db, staged, run_id=999) + await db.commit() + + assert staged.discrepancies, "the diff should still be detected and reported" + assert counts["updated"] == 0 + async with factory() as s: + row = (await s.execute(select(FundamentalSnapshot))).scalar_one() + assert row.revenue is None # untouched + + +async def test_force_bypasses_the_unchanged_revision_no_op(engine): + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + await run_import(_importer(_445_client(), today=date(2026, 6, 2)), engine=engine) + + same = _importer(_445_client(), today=date(2026, 6, 2)) + assert (await run_import(same, engine=engine)).status == "no_op" + + forced = SecFundamentalsImporter( + client_factory=lambda: _445_client(), today=date(2026, 6, 2), reparse=True + ) + assert (await run_import(forced, engine=engine, force=True)).status == STATUS_PROMOTED + + +# --- CIK resolution: successor registrants with no filings ----------------- + +async def test_issuer_with_no_xbrl_filings_is_reported_not_silent(engine): + """XOM resolved to CIK 2115436 'ExxonMobil Holdings Corp', which has zero + filings, so it produced no snapshots and nothing said why.""" + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + client = FakeSecClient( + tickers={"AAPL": 320193}, + companyfacts={320193: _companyfacts([CF_K], [SH_K])}, + submissions={320193: {**_submissions([]), "name": "Shell Holdings Corp"}}, + latest_index=date(2026, 1, 31), + ) + importer = _importer(client) + async with factory() as db: + await importer.detect_revision(db) + staged = await importer.stage(db) + result = await importer.validate(db, staged) + + assert result.summary["no_xbrl_filings_count"] == 1 + assert staged.no_xbrl_filings[0]["cik"] == "0000320193" + assert staged.no_xbrl_filings[0]["name"] == "Shell Holdings Corp" + + +async def test_cik_override_pins_a_ticker_to_the_real_filer(engine): + from app.models.settings import SystemSetting + from app.services.sec_universe import CIK_OVERRIDES_KEY, resolve_ciks + + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + async with factory() as s: + s.add(SystemSetting(key=CIK_OVERRIDES_KEY, value='{"AAPL": 34088}')) + await s.commit() + + client = FakeSecClient( + tickers={"AAPL": 320193}, # SEC points at the wrong registrant + companyfacts={}, submissions={}, latest_index=date(2026, 1, 31), + ) + async with factory() as db: + resolved = await resolve_ciks(db, client) + + assert resolved.symbol_to_cik["AAPL"] == 34088 + assert resolved.cik_updates == [(1, "0000034088")] + + +async def test_malformed_cik_override_is_ignored_not_fatal(engine): + from app.models.settings import SystemSetting + from app.services.sec_universe import CIK_OVERRIDES_KEY, resolve_ciks + + factory = _factory(engine) + await _seed(factory, ["AAPL"]) + async with factory() as s: + s.add(SystemSetting(key=CIK_OVERRIDES_KEY, value="not json at all")) + await s.commit() + + client = FakeSecClient( + tickers={"AAPL": 320193}, companyfacts={}, submissions={}, + latest_index=date(2026, 1, 31), + ) + async with factory() as db: + resolved = await resolve_ciks(db, client) + + assert resolved.symbol_to_cik["AAPL"] == 320193 # fell back to company_tickers