Point-in-time data
Request values as they were reported on a past date. Each value then comes from filings made on or before that date, so a backtest only uses data that was available at the time.
Companies revise reported values: a 10-K filed in June can change a value reported in February’s 10-K. Thaler keeps the value from every filing, so it can answer as of any date.
Add as_of=YYYY-MM-DD to a metrics or lineage request. Each value comes from the latest filing on or before that date. Values first reported after the date are left out. Calculated values, such as margins, are recalculated from the inputs reported by that date, or left out.
Example: one value on three dates
Kraft Heinz’s net income for fiscal 2017. On March 1, 2019, the company had not yet filed its 2018 annual report. That report was filed on June 7, 2019, and restated 2017 net income lower.
| As of | Net income, FY 2017 | Source filing | Kind |
|---|---|---|---|
| March 1, 2019 | 10,999,000,000 | 10-K filed February 16, 2018 (0001637459-18-000015) | first |
| July 1, 2019 | 10,941,000,000 | 10-K filed June 7, 2019 (0001637459-19-000049) | revised |
| Today | 10,941,000,000 | 10-K filed February 14, 2020 (0001637459-20-000027) | same |
curl https://api.thaler.sh/v1/securities/KHC/metrics \ --get -d period=annual -d keys=net_income -d limit=1 \ -d as_of=2019-03-01 \ -H "Authorization: Bearer $THALER_API_KEY"{ "data": [ { "end_date": "2017-12-30", "fiscal_period": "FY", "fiscal_year": 2017, "metric_key": "net_income", "read_from": { "accession_number": "0001637459-18-000015", "filed_at": "2018-02-16", "form": "10-K", "kind": "first", "revision_rank": 1 }, "revised": false, "revision_count": 0, "ticker": "KHC", "unit": "USD", "value": "10999000000" } ], "meta": { "as_of": "2019-03-01", "schema": "thaler.data.v1" }}As of March 1, 2019, the value had not been revised: revision_count is 0, and read_from is the first 10-K to report it. The same request with as_of=2019-07-01 returns 10,941,000,000 from the June 2019 10-K, with kind revised.
Notes
- Dates are EDGAR filing dates, not the dates Thaler processed the filings.
- Results use Thaler’s current processing of past filings. If a metric’s definition changes, results for past dates can change too.
meta.releaserecords which release you read. - Values without a revision history yet are left out of as-of requests.
as_ofworks on metrics and lineage. Filings, insider trades, holders, segments and prices always return current data.
Next: Sources and revisions.