D+1 Published Prices
Overview
After the day-ahead market clears at approximately 13:00 UTC, OMIE publishes the 24 hourly prices for the following day (D+1). These known future prices become powerful predictive features for D+2 through D+7 forecasts. This information is exclusively available to the strategic forecasting product (15:00 UTC origin).
Why D+1 Prices Are Powerful
Tomorrow’s prices encode a massive amount of information about market conditions:
- Current fuel costs — gas and carbon prices baked into D+1 clearing
- Expected renewable output — reflected in D+1 price shape (low midday = strong solar)
- Demand expectations — high D+1 prices suggest anticipated demand pressure
- System state — outage information, interconnection constraints
Rather than modeling each of these factors separately, D+1 prices provide a compressed, market-validated summary of all supply-demand conditions.
D+1 Price Features
| Feature | Formula | What It Captures |
|---|---|---|
d1_mean_price | mean(D+1 hours 0–23) | Overall price level |
d1_min_price | min(D+1 hours 0–23) | Off-peak floor (usually night) |
d1_max_price | max(D+1 hours 0–23) | Peak ceiling |
d1_std_price | std(D+1 hours 0–23) | Intra-day volatility |
d1_peak_spread | mean(hours 8–21) - mean(hours 0–7, 22–23) | Peak vs off-peak differential |
d1_same_hour_price | D+1 price at target’s hour | Hour-specific anchor |
The d1_same_hour_price Feature
This is the single most predictive feature for strategic forecasts. Tomorrow’s price at 14:00 is strongly correlated with the day-after-tomorrow’s price at 14:00, because:
- Persistent conditions: Weather patterns, fuel costs, and outage schedules change slowly
- Weekly patterns: Weekday demand profiles are similar across consecutive days
- Autoregressive structure: Prices exhibit strong autocorrelation at the same hour across days
The model learns to use d1_same_hour_price as a starting point and adjusts based on expected changes (weather forecast shifts, weekend transitions, etc.).
Strategic-Only Constraint
These features are only available to the strategic run (15:00 UTC origin) because D+1 prices aren’t published until ~13:00 UTC:
| Product | Origin | D+1 Prices Available? |
|---|---|---|
| Day-ahead | 10:00 UTC | No — market hasn’t cleared |
| Strategic | 15:00 UTC | Yes — published ~2 hours ago |
The day-ahead model cannot use D+1 price features because at 10:00 UTC, tomorrow’s prices don’t exist yet. This is a fundamental information asymmetry that the two-product system exploits.
Impact on Accuracy
D+1 price features substantially improve strategic forecast accuracy:
- D+2 (S1): Largest improvement — D+1 prices are the strongest signal at 33–56h horizon
- D+3–D+5 (S2–S4): Meaningful improvement — D+1 captures persistent conditions
- D+6–D+7 (S5): Smaller improvement — conditions change more over 6–7 days
Without D+1 prices, the strategic model would rely solely on origin-time features (lags, weather, commodities) — the same information the day-ahead model uses but at longer horizons where those features are weaker.
Feature Engineering Details
D+1 prices are extracted from the database after the day-ahead market clearing:
1. Query: predictions table for D+1 actual prices (backfilled from OMIE)2. Compute: statistical summaries (mean, min, max, std)3. Compute: peak vs off-peak spread4. Match: d1_same_hour_price to each target hour in D+2–D+7During training, D+1 prices come from historical data. During production inference, they come from the latest OMIE publication.
Interaction with Other Features
D+1 prices interact with temporal features to capture weekday transitions:
- D+1 is Friday → D+2 is Saturday: Demand drops, prices likely lower than D+1
- D+1 is Sunday → D+2 is Monday: Demand rises, prices likely higher than D+1
- D+1 prices high + weather forecast improving: D+2 may be lower (more renewables)
The model learns these conditional adjustments from training data, using D+1 prices as an anchor and other features as modifiers.