IssueSchedule๏ƒ

IssueSchedule: when forecasts are issued and what they cover โ€” as data.

An energy-forecasting problemโ€™s cadence (ziplineโ€™s trading calendar, renamed): each Origin is one forecast issue โ€” a clock time asof at which the model acts, plus the target_index of timestamps it must forecast. Both the event-driven and vectorized execution modes consume the same origins, so the schedule is the single source of truth about timing.

class emflow.problems.schedule.Origin(asof: Timestamp, target_index: DatetimeIndex, column: str | None = None)[source]๏ƒ

Bases: object

One forecast issue: act at asof, forecast target_index.

column scopes the origin to one column of the target field โ€” multi-zone competitions (GEFCom2014 windโ€™s 10 zones) score each zone separately, so each (task, zone) pair is its own origin.

asof: Timestamp๏ƒ
target_index: DatetimeIndex๏ƒ
column: str | None = None๏ƒ
property target_start: Timestamp๏ƒ
property target_end: Timestamp๏ƒ
class emflow.problems.schedule.IssueSchedule(origin_freq, cover_start, cover_end, target_freq, origin_time=None)[source]๏ƒ

Bases: object

Generates Origin s over an evaluation period.

Construct with one of the classmethods; call origins() with the period to evaluate over.

classmethod hourly(horizon='1h', target_freq='1h') IssueSchedule[source]๏ƒ

One origin per hour, forecasting asof + horizon (rolling 1-step).

classmethod daily(at='09:00', covers=('1D', '2D'), target_freq='1h') IssueSchedule[source]๏ƒ

One origin per day at at (UTC), covering asof + covers[0] to asof + covers[1] at target_freq โ€” the day-ahead pattern.

classmethod single(asof, target_index) IssueSchedule[source]๏ƒ

A one-shot schedule with an explicit target index (GEFCom task style).

classmethod explicit(origins: Sequence[Origin]) IssueSchedule[source]๏ƒ
origins(start, end) List[Origin][source]๏ƒ

All origins whose targets fall inside the half-open [start, end).

start/end delimit the evaluation period (target time, not issue time). Half-open, so adjacent splits partition scored timestamps with no double-counted boundary point.