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
| 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
|
pd.DataFrame |
One row per subject with forecast, consensus, timestamps, ages, revision and reading policy. Missing sources have typed null columns. |
Raises
|
PanelError |
The panel, universe, source selection or reading policy violates its contract, or a requested period end conflicts. |