Skip to content

15-Minute Features

Overview

The 15-minute resolution approaches (pure15 and hybrid15) require features adapted to quarter-hourly time steps. This page documents the modifications to the standard hourly feature set that enable sub-hourly forecasting.

Quarter-of-Day Encoding

The standard 24-period hour cycle is replaced by a 96-period quarter-of-day cycle:

quarter_of_day = hour × 4 + minute ÷ 15
Examples:
00:00 → quarter 0
06:30 → quarter 26
12:45 → quarter 51
23:45 → quarter 95

Encoded as sin/cos:

target_quarter_sin = sin(2π × quarter / 96)
target_quarter_cos = cos(2π × quarter / 96)

This 96-period cycle captures intra-hour patterns that the 24-period hourly cycle misses, such as solar generation ramping within an hour or demand fluctuations at quarter-hourly resolution.

Rescaled Lag Features

All lag features are rescaled from hourly steps to 15-minute steps:

FeatureHourly (steps)15-Minute (steps)Real Time
1-hour lagshift(1)shift(4)1 hour
2-hour lagshift(2)shift(8)2 hours
3-hour lagshift(3)shift(12)3 hours
24-hour lagshift(24)shift(96)24 hours
48-hour lagshift(48)shift(192)48 hours
168-hour lagshift(168)shift(672)7 days

Additional Sub-Hourly Lags

The 15-minute approaches add lags not available in the hourly model:

FeatureStepsReal TimePurpose
price_lag_15mshift(1)15 minutesVery short-term momentum
price_lag_30mshift(2)30 minutesIntra-hour trend
price_lag_45mshift(3)45 minutesWithin-hour context

Rescaled Rolling Statistics

Rolling windows are similarly rescaled:

FeatureHourly Window15-Minute WindowReal Time
Rolling mean 24h24 steps96 steps24 hours
Rolling mean 7d168 steps672 steps7 days
Rolling std 24h24 steps96 steps24 hours
Rolling std 7d168 steps672 steps7 days

Demand Ramp Features

15-minute resolution enables demand ramp features that are impossible at hourly resolution:

demand_ramp_15m = demand - demand_lag_15m (15-minute change)
demand_ramp_1h = demand - demand_lag_1h (1-hour change)

Rapid demand increases within an hour signal potential price spikes from fast-ramping generators. These short-term ramp signals are particularly valuable during:

  • Morning demand ramp-up (07:00–09:00)
  • Evening solar dropout (17:00–19:00)
  • Industrial shift changes

Approach-Specific Differences

Expanded Approach

The expanded approach does not use 15-minute features — it uses standard hourly features and replicates outputs. Quarter-of-day encoding and sub-hourly lags are not needed because the model operates at hourly resolution.

Pure15 Approach

Uses only native 15-minute features:

  • All lags from the ree_15min table
  • Quarter-of-day encoding
  • Sub-hourly demand ramps
  • No hourly-only indicators (interconnections excluded)

Hybrid15 Approach

Uses both:

  • Native 15-minute features (lags, demand ramps, quarter encoding)
  • Hourly features expanded to 15-minute resolution (interconnections, weather, commodities repeated 4× per hour)

Training Data Volume

15-minute resolution creates 4× more data points per day:

ResolutionPoints per day7-day horizon1-year training
Hourly24168~8,760
15-minute96672~35,040

To manage this, the training pipeline uses origin step optimization — sampling origins every 4th 15-minute step (i.e., at hourly intervals) to reduce training set size by 75% while maintaining coverage.

Minimum History Requirement

15-minute models require a warmup period of 672 steps (7 days × 96 steps/day) before the 7-day lag features are available. The first 672 rows of 15-minute data are dropped from every training set.