Not how big the profit is. How real it is.
Per issuer × fiscal year: the accrual ratio (the share of reported earnings not backed by operating cash, scaled by assets), cash conversion, trailing margin volatility, and restatement intensity drawn from Certvas’s point-in-time vintage archive. Built from as-reported values, so a backtest never sees a figure — or a restatement — before it existed.
Grain: issuer × fiscal year · point-in-time (observed_at) · joins the Fundamentals-Factors panel on the same grain · also via cv.signals.fundamentals_quality() and /v1/signals/certvas-fundamentals-quality-v1 · 4 provenance guarantees
Panel dictionary.
| Field | Type | Description |
|---|---|---|
dataco_id / fiscal_year | string / integer | The canonical issuer and its fiscal year — the same grain as the Fundamentals-Factors panel. |
currency | string | The issuer’s reporting currency. Every metric is a within-issuer ratio, so all are currency-neutral. |
accrual_ratio_pct | number | (net_income − cash_from_operations) / total_assets × 100. The cash-flow form of the Sloan (1996) accrual ratio. Higher = less of the profit is backed by operating cash. |
cash_conversion_pct | number | cash_from_operations / net_income × 100. Null against zero or negative earnings — the ratio has no meaning on a non-positive base. |
margin_volatility_pp | number | Sample standard deviation of net margin, in percentage points, across fiscal years up to and including this one. Null below 3 observations. |
n_margin_obs | integer | Fiscal years behind that volatility — read the two together. |
revision_intensity_pct | number | Mean absolute restatement across this issuer’s figures that were already knowable at this cell’s filing date. Upward and downward revisions do not cancel. |
n_revisions | integer | Restatements behind that mean. 0 for most issuers — the vintage archive accrues from ingest forward. |
observed_at | date | When the cell became knowable — the point-in-time anchor. |
Why there is no quality “score”: a composite quality score is conventionally a cross-sectional z-score or percentile, and AF-FUND currently carries 1–4 issuers per fiscal year. Ranking that few issuers would manufacture precision the coverage cannot support, so v1 ships the components instead — each absolute and scaled, so you can rank them against whatever universe you hold. A composite arrives when the cross-section supports one.
Honest coverage: a row ships when at least one metric is computable, so nulls are common and expected — accruals need a cash-flow statement, volatility needs three years, restatement intensity needs a re-observed period. The accrual association with weaker subsequent earnings is an academic regularity (Sloan 1996), not a prediction and not investment advice; a restatement is not a correction judgement and can be a legitimate audit adjustment. The panel widens automatically as issuer and vintage coverage grows.