Skip to content

Index Fundamentals Aggregate ​

Index-level fundamental quality in four numbers — ROE, EBITDA margin, gross margin, FCF yield — computed as a transparent ratio-of-sums over the index constituents, with per-metric coverage and full provenance attached to every run.

How it works ​

For each metric, constituents with both numerator and denominator present are summed: metric = Σ numerator / Σ denominator × 100. Ratio-of-sums is size-weighted by construction — official index weights are not used. Statements are selected point-in-time: only filings dated on or before as_of enter the aggregate.

Coverage semantics ​

coverage reports, per metric, the share of constituents included. Banks and insurers typically have no gross profit or EBITDA in the industrial sense — they are excluded from those two metrics and the exclusion is visible in coverage. This is a property of the market, not a data error.

Methodology boundary (read before comparing to Bloomberg) ​

The aggregate is not point-identical to Bloomberg index-level fields: ROE here uses period-end common equity (Bloomberg uses average equity), and market cap is the fetch-date value. Differences are transparent, documented, and quantified in the parity report shipped with the pilot pack. That inspectability is the design goal — every number can show its inputs.

Golden Test ​

tests/golden/fixtures/tier1/index_fundamentals/ — 8 synthetic constituents (one financial with null gross/EBITDA/FCF, one zero-equity) against an independent pandas reference, 1e-9 absolute tolerance.

Changelog ​

  • 1.0.0 (2026-08-21) — First Active (D-8 lane).

Verifiable intelligence for the decisions that demand scrutiny.