# Past power price spreads do not predict the next day's

> In a large US wholesale power market, the recent average gap between day-ahead and real-time hub prices gives no edge for financial (virtual) bids: the holdout earns -$0.01 per MWh after a $1 cost.

E829 · Verdict: KILL · Cause: No signal · Market: Energy & compute · Mechanism: Risk premium · Horizon: 1d · Tested: October 2026

Source: https://alphanotfound.eu/experiments/E829-power-day-ahead-real-time-spread-history

US power markets let purely financial traders bet on the gap between the day-ahead price and the real-time price. If utilities overpay to lock in prices a day ahead, that gap should be persistently positive and predictable from its own recent history. On 217,536 hub-hours over three years, the average gap was only $0.34 per MWh, and a rule that follows the recent gap earned -$0.01 per MWh in the holdout year after a $1 cost, and the worst single day lost $22,777.

## Key numbers

- **Holdout net:** -$0.01 / MWh (95% interval -$2.70 to +$2.35)
- **Average day-ahead premium:** +$0.34 / MWh (before any cost; cost assumed $1)
- **Hub-hours analysed:** 217,536 (8 hubs, Oct 2023 to Sep 2026)
- **Worst holdout day:** -$22,777 (1 MW at each of 8 hubs, 13 hours)

## The idea being tested

**Belief:** Day-ahead power prices carry a predictable premium over real-time prices that a financial bidder can collect.

**Why people believe it:** Utilities and retailers buy most of their power in the day-ahead market to avoid real-time price spikes, and may pay a premium for that certainty. US system operators allow virtual bids: a trader sells day-ahead (an increment) and buys back in real time, or the reverse (a decrement), without owning any generation. If the premium depends on hub, hour and weekday, its recent history should tell a virtual bidder which side to take.

**Why it would persist:** Taking the other side means carrying real-time spike risk, needs market membership and collateral, and the premium compensates exactly the risk that hedgers want to shed.

## How it was tested

For each hub and hour of the next day, we looked at how day-ahead and real-time prices compared over the previous four weeks (with a one-week lag, so everything was known before the bid deadline). If day-ahead had been more than $1 above real time, we simulated selling day-ahead; if more than $1 below, buying. The verdict was taken on a holdout year, with a control that uses the history of a random other hour.

**Pre-registered:** yes

**Data:** Day-ahead ex-post and real-time final locational marginal prices, 8 trading hubs (a large US independent system operator covering the Midwest and South, public daily market reports; hourly; 2023-10..2026-09 (1,133 days))

**Universe:** 8 trading hubs; hours ending 1-13 (they settle within about 24 hours of the day-ahead award); hours 14-24 reported separately.

**Signal:** Mean of (day-ahead minus real-time) for the same hub, hour and day class (weekday or weekend) over days D-35 to D-8. Above +c: increment (P&L = DA - RT - c). Below -c: decrement (P&L = RT - DA - c).

**Execution:** 1 MW per hub and hour, placed before the day-ahead deadline on D-1, settled against real-time prices on day D.

**Costs:** c = $1 per MWh primary ($0.50 and $2 reported). Collateral and other operator charges not modelled.

**Controls:** Negative control: the same rule with the signal taken from a random other hour's history.

**Sample split:** Report year 2023-10..2024-09; validation 2024-10..2025-09; holdout 2025-10..2026-09 (decides the verdict).

**Pass criterion:** Holdout mean at least +$0.50 per MWh at c = $1, day-clustered 95% interval above 0, median day above 0, positive at 5 of 8 hubs, increments and decrements each at least 0, control clearly below.

**Kill criterion:** Holdout mean at or below 0 at c = $1, or the result disappears without the 5 best days, or only increments work and the worst day exceeds 30 days of their gains.

**Power:** Not computed in advance.

## Result

**Why it was rejected:** The holdout earns -$0.01 per MWh at c = $1, with an interval from -$2.70 to +$2.35 and a heavy real-time loss tail.

**Observations:** —

**Net mean:** -$0.01

**95% interval:** -$2.70 to +$2.35

**Median:** —

**Worst:** —

- Across all 217,536 hub-hours (all 24 hours, 8 hubs, three years), day-ahead exceeded real time by only $0.34 per MWh on average, a third of the assumed $1 cost.
- The rule lost in every window: -$0.61 per MWh in the report year (0 of 8 hubs positive), -$0.31 in validation (1 of 8), -$0.01 in the holdout.
- In the holdout, increments earned +$0.37 and decrements lost $1.03 per MWh; without the 5 best days the result falls to -$1.47.
- The median holdout day lost $36 and the worst lost $22,777 for 1 MW at each of 8 hubs over 13 hours.
- The random-hour control earned +$0.22 per MWh, above the real signal.

### Negative or zero in every period ($/MWh)

Mean net result per traded MWh after the $1 cost, with day-clustered 95% intervals. The pass bar was +$0.50 with an interval above zero; the holdout interval runs from -$2.70 to +$2.35.

|   | Mean | 95% low | 95% high |
| --- | --- | --- | --- |
| Report year 2023-24 | -0.61 | -1.23 | 0.02 |
| Validation 2024-25 | -0.31 | -0.93 | 0.34 |
| Holdout 2025-26 | -0.01 | -2.7 | 2.35 |
| Control: random hour's history | 0.22 | Not reported | Not reported |

### The holdout, taken apart ($/MWh)

Holdout net per MWh after the $1 cost. Only increments are positive, and the total depends on a handful of days.

|   | Holdout net |
| --- | --- |
| All trades | -0.01 |
| Increments (sell day-ahead) | 0.37 |
| Decrements (buy day-ahead) | -1.03 |
| Without the 5 best days | -1.47 |

### The premium is smaller than the toll ($/MWh)

The average day-ahead premium over three years against the cost assumed for one round trip. Collecting the average premium on every hour would lose money after cost; the trailing-history rule did not pick the profitable side often enough to do better.

|   | $/MWh |
| --- | --- |
| Average day-ahead minus real-time | 0.34 |
| Assumed cost per MWh | 1.0 |

## Interpretation

**Why it failed (interpretation, not established):** At trading hubs the day-ahead premium has already been competed down to about $0.34 per MWh by professional virtual traders, and its recent history does not say which way the next day will go. What remains is real-time price risk: the median holdout day lost $36, and the worst lost $22,777.

**Lesson:** A premium can be real on average and still be smaller than the toll for collecting it. Here a near-zero holdout mean (-$0.01) hides a result that rests on a handful of days: without the 5 best days it falls to -$1.47. The day-clustered interval and the without-best-days check expose this; a mean over hours does not.

**Scope:** Covers 8 hubs of one US system operator, hours 1-13, October 2023 to September 2026, with a trailing-history signal and a $1 cost. It does not cover node-level prices, other operators, hours 14-24 as a verdict, or signals built from information other than past prices.

## Reproducibility

**Steps:** 1) Download the operator's daily day-ahead ex-post and real-time final LMP files for the period and keep the 8 hubs. 2) For each hub, hour and day class compute the mean of DA - RT over D-35..D-8. 3) Take an increment or decrement when the signal is beyond c and settle as stated. 4) Day-clustered bootstrap; split by hub, by side and without the best days; run the random-hour control.

**Grade:** COMPLETE

---
AI-generated research, checked but not peer-reviewed. Historical, experimental research, not investment advice. Dataset Terms of Use: https://alphanotfound.eu/terms
