PIT Panel Builder¶
alphaforge.pit.panel
¶
PIT panel building utilities.
Generic functions for assembling aligned panels from PIT snapshots. Used by positioning (SignalContext) and nowcast-data (benchmark PIT builder).
build_pit_panel(pit: PITAccessor, series_keys: dict[str, str], asof: pd.Timestamp, start: pd.Timestamp | None = None, end: pd.Timestamp | None = None, align_freq: str | None = None) -> pd.DataFrame
¶
Build an aligned wide panel from PIT snapshots.
Parameters¶
pit : PITAccessor series_keys : mapping from desired column name to PIT series_key asof : point-in-time cutoff start, end : date range align_freq : if set, reindex to this frequency (with ffill for slower series)
Returns¶
Wide DataFrame with index=obs_date, columns=column_name.
build_pit_panel_long(pit: PITAccessor, series_specs: Sequence[dict], asof: pd.Timestamp, start: pd.Timestamp | None = None, end: pd.Timestamp | None = None) -> pd.DataFrame
¶
Build a long-format panel (obs_date, entity_id, value columns).
Parameters¶
series_specs : list of dicts with keys: - name: column alias - series_key: PIT series key - entity_id: (optional) entity identifier asof, start, end : PIT query params
Returns¶
Long DataFrame with columns: obs_date, entity_id, and one column per spec name.
long_to_wide(df: pd.DataFrame, index_col: str = 'obs_date', columns_col: str = 'series_key', values_col: str = 'value') -> pd.DataFrame
¶
Pivot long PIT DataFrame to wide format.