Skip to main content

Understanding as_of and back_to

The as_of and back_to parameters define the start and end points for data retrieval. Rather than using “start” and “end,” these terms accommodate datasets that are point-in-time — meaning different data may be returned based on the as_of date.

What Are Point-in-Time Datasets?

Point-in-time datasets reflect data as it existed at a specific historical moment. A common example is revised earnings reports: if your as_of date precedes the revision date, you receive original values; if it matches or follows the revision, you get updated figures. Machine learning datasets increasingly use point-in-time logic. Providers may retrain models and recalculate historical values. Traders and quantitative analysts typically prefer accessing original data from their trading period and adopting modified data only when intentionally chosen.
Any point-in-time datasets will be labeled clearly as such in the dataset description in liberator.datasets().

Source of Point-in-Time Data Problems

Standard databases prioritize current information, which introduces survivorship bias into quantitative analysis. For instance:
  • SEC filings — Historical earnings may have been restated due to accounting errors, regulatory scrutiny, or fraud. Scientists need original reported numbers alongside modification timestamps.
  • Index constituents — The S&P 500’s composition changes over time. Analysis based on today’s index membership creates survivorship bias. Rigorous analysts require exact historical index compositions and all changes.
Point-in-time data discipline prevents forward-looking bias that compromises quantitative research integrity.