Skip to content

Market-Aligned Origins

Why Origin Time Matters

Electricity price forecasting is time-sensitive. The value of a forecast depends not just on accuracy but on when it becomes available relative to market deadlines. The EPF system aligns its prediction origins with the OMIE (Operador del Mercado Ibérico de Energía) publication schedule to maximize the practical utility of each forecast.

Two-Product System

The system produces two distinct forecast products per day, each aligned to a specific market event:

ProductOriginHorizonUse Case
Day-Ahead~10:00 UTCD+1 (24 hours)Intraday trading, operational planning
Strategic~15:00 UTCD+2 to D+7 (6 days)Portfolio optimization, risk management

Day-Ahead Run (~10:00 UTC)

The day-ahead forecast runs at approximately 10:00 UTC, before OMIE publishes the next day’s clearing prices (~13:00 UTC). This timing serves traders who need price estimates to inform their bidding strategy.

Horizon groups:

GroupHours AheadTarget Period
DA114–25D+1 00:00–11:00
DA226–37D+1 12:00–23:00

The split into two groups (morning and afternoon) allows the model to specialize — morning hours have different price dynamics (ramp-up, solar onset) than afternoon hours (peak demand, solar decline).

Origin hour window: Training samples use origins from 08:00–12:00 UTC to build robustness around the target 10:00 UTC execution time.

Strategic Run (~15:00 UTC)

The strategic forecast runs at approximately 15:00 UTC, after OMIE publishes D+1 day-ahead prices. This is the key insight: once tomorrow’s prices are known, they become powerful predictive features for the days beyond.

Horizon groups:

GroupHours AheadTarget Period
S133–56D+2 (full day)
S257–80D+3 (full day)
S381–104D+4 (full day)
S4105–128D+5 (full day)
S5129–176D+6 and D+7

S5 covers two days because forecast skill at 6–7 day horizons is similar, and combining them provides more training samples per model.

Origin hour window: Training samples use origins from 13:00–18:00 UTC.

D+1 Price Features

The strategic run’s key advantage is access to published D+1 prices. These are extracted as features:

FeatureDescription
d1_mean_priceAverage of 24 D+1 hourly prices
d1_min_priceMinimum D+1 price
d1_max_priceMaximum D+1 price
d1_std_pricePrice volatility across D+1
d1_peak_spreadPeak (hours 8–21) minus off-peak average
d1_same_hour_priceD+1 price at the same hour as the target

The d1_same_hour_price feature is particularly strong — tomorrow’s price at 14:00 is a good predictor of the day-after-tomorrow’s price at 14:00.

Origin Filtering in Training

During training, only samples from the appropriate origin window are included:

Day-ahead training: origins at 08:00, 09:00, 10:00, 11:00, 12:00 UTC
Strategic training: origins at 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 UTC

This ensures the model learns from realistic information sets — it never sees features that wouldn’t be available at prediction time. A model trained on 10:00 UTC origins will never include D+1 published prices (not yet available), while a model trained on 15:00 UTC origins always includes them.

Legacy Mode

The original system used a single 23:00 UTC origin with 8 horizon groups (H1–H8), each covering 6 consecutive hours across a 7-day horizon. This mode is retained for backward compatibility and benchmarking but is superseded by the market-aligned two-product system.

OMIE Market Timeline

For reference, the daily OMIE schedule that drives the origin alignment:

Time (UTC)Event
08:00–10:00Gate opens for D+1 bids
10:00EPF day-ahead run
12:00Gate closes
~13:00OMIE publishes D+1 clearing prices
15:00EPF strategic run (with D+1 prices as features)