prepare_anchored_subjects

prepare_anchored_subjects(
    estimates,
    as_of,
    *,
    forecast_source,
    consensus_source=CONSENSUS_SOURCE,
    lookback=_DEFAULT_LOOKBACK,
    maximum_revision_age=_DEFAULT_REVISION_AGE,
    subjects=None,
)

Anchor selected sources into stable forecast and consensus roles.

Parameters

Name Type Description Default
estimates pd.DataFrame Long input panel; arbitrary source names are supported. required
as_of pd.Timestamp Explicit UTC-aware reading moment, excluded from every read. required
forecast_source str Original source to place in the forecast column. required
consensus_source str Original source to place in the consensus column. CONSENSUS_SOURCE
lookback pd.Timedelta Positive interval separating the consensus revision reads. _DEFAULT_LOOKBACK
maximum_revision_age pd.Timedelta Positive maximum age at each revision read. _DEFAULT_REVISION_AGE
subjects pd.DataFrame | None Optional publication universe, including subjects with no observations. Defaults to subjects knowable strictly before as_of. None

Returns

Name Type Description
pd.DataFrame One row per subject with forecast, consensus, timestamps, ages, revision and reading policy. Missing sources have typed null columns.

Raises

Name Type Description
PanelError The panel, universe, source selection or reading policy violates its contract, or a requested period end conflicts.