Research / Energy — day-ahead vs real-time

Day-ahead vs real-time: the CAISO power basis

Case study August 2026 Data: CAISO OASIS
CAISO SP15 hourly DART basis (real-time minus day-ahead) over July 2026, and the day-ahead premium by hour of day

The question

Wholesale electricity clears twice. A day-ahead market (DAM) sets hourly prices the day before; a real-time market (RTM) settles every few minutes. The difference — the DART basis, real-time minus day-ahead — is where forecast error and scarcity land. Two honest questions: is there a systematic day-ahead premium, and once the daily rhythm is stripped out, is the basis predictable from its own recent past?

Data

Public hourly day-ahead and 15-minute real-time locational prices from CAISO’s OASIS, for the SP15 trading hub over July 2026 (30 days, 720 hours), with NP15 as a replication hub. The real-time leg is averaged to the hour and aligned to day-ahead on one clock. Both legs are in $/MWh, so no currency normalization is needed.

Method (and a null we had to correct)

We reconstruct the hourly basis, then remove its hour-of-day and weekday/weekend rhythm before testing for structure. The reversion test from our crypto studies — an increment-shuffle surrogate — is the wrong tool here: the DART basis is a stationary settlement series, and that surrogate would flag even a perfectly efficient basis as “reverting.” We confirmed this on synthetic controls before touching any data, and replaced it with the correct null — an i.i.d. permutation of the residual values, against which we test the basis’s autocorrelation. Negative prices and scarcity spikes are real market events and are kept, not deleted; every statistic uses a robust center so no single spike dominates.

Findings

SP15 carried a genuine day-ahead premium: real-time settled about $3.3/MWh below day-ahead at the median hour (roughly −9% of the price; 95% CI −$3.7 to −$2.9), with real-time below day-ahead in two hours out of three. After deseasonalizing, the basis showed clear predictable persistence — hour-to-hour autocorrelation of +0.30 (z +15 against the permutation null), decaying smoothly over several hours. NP15 replicated both: a smaller premium (about −4%) and stronger persistence (+0.70). Across both hubs the qualitative result is identical; only the magnitude is location-specific.

What this means

The engine detects and quantifies real structure — a day-ahead premium and a measurable, decaying predictability — both well documented in power markets, and it does so only after rejecting a null that would have manufactured the result. This is a single-month, two-hub window: genuine here, with replication across seasons ongoing. It is monitoring-grade measurement of market structure, not a trading recommendation.

Reproducibility: the same core engine as our crypto studies, with a thin new adapter for day-ahead and real-time power prices — the validated core is unchanged. The domain-appropriate null and the offline self-tests — including one that deliberately fails the crypto null on an efficient series — run before any live data is touched. The finding was then independently reproduced against a different family of synthetic generators (stochastic-volatility clustering, Student-t tails, and power-price spikes and negatives), and both the premium and the predictability survived. The hour-to-hour predictability also survives a high-pass that removes all weekly-and-slower structure (leaving the autocorrelation essentially unchanged), so it is genuine forecast-error persistence rather than residual seasonality or slow drift, confirmed on both July hubs (SP15 and NP15). A methods note we banked from this: a value-permutation predictability test on a stationary residual should high-pass before the autocorrelation, or the null can read a smooth low-frequency component as predictability.

Exploratory analysis of public data. Not investment advice or a recommendation.