Generic event-window provider driven by a bundled CSV file.
Reads a CSV with columns event, start_utc, end_utc, and an optional intensity column (extra columns such as match_kickoff_utc or provisional are silently ignored — they are documentation only). For each timestamp t in the requested DatetimeIndex the output value is max(intensity) over all CSV rows whose window contains t (inclusive: start_utc <= t <= end_utc), or 0.0 when no window covers t.
The intensity column defaults to 1.0 when absent. Membership is evaluated directly on the provided index timestamps so the provider works at any cadence (hourly, 15-minute, etc.). Timestamps in the CSV are ISO-8601 with UTC offset; timezone harmonisation follows the same logic as the other providers in this module. No fill_outside knob exists: outside any window the value is structurally 0.0.
Subclasses set csv_filename and the default column name; they do not need to override any method.
Parameters
Name
Type
Description
Default
data_home
DataHome
Unused (kept for a uniform provider signature); the dataset is package data located via get_package_data_home().
Accepted for provider-factory API uniformity; has no effect. Values are structurally 0.0 outside event windows (no NaN can arise), so gap healing is not applicable.
Accepted for provider-factory API uniformity; has no effect (same reasoning as max_gap).
None
Notes
Rejected / deferred drivers documented here for the record:
Open-ended Ukraine-invasion step dummy (2022-02-24 onward): rejected — the shift is gradual and non-permanent, and in recent training windows the signal is near-constant and uninformative to GBDT.
Monthly Destatis PPI proxy: deferred — include_entsoe_day_ahead_price already covers the price channel.
Population / refugee level index: deferred — effect is 0.3–1 % of mean load, below day-ahead noise; any future build must use YoY growth rates to avoid the Zensus-2022 −1.4 M rebase hazard.
Return a single-column float32 frame with event-window values.
For each timestamp t in index the value is max(intensity) over all rows whose window contains t (start_utc <= t <= end_utc), or 0.0 when no row covers t.