ERCOT day-ahead Spread Issuance.
Scored in public, every day.
Before delivery each day, each Forecast Model posts P10/P50/P90 of the next 24 hours of RT minus DA spread at 15 ERCOT hubs and Settlement Zones. A Spread Issuance is written once. After the hours settle, we score them against realized real-time prices. Old Forecast Models keep their own scored history; we do not rewrite or fold them into a newer run.
Companion: ERCOT's own day-ahead Demand forecast accuracy, scored separately. That is operator scoring, not a Kardashev Spread Issuance.
New to energy markets? How to read this page
Live track record
| Day (UTC) | Node-hours traded | Net P&L | Coverage | Cooldown skips |
|---|---|---|---|---|
| 2026-08-30 | 0 | — | 98.9% | — |
| 2026-08-29 | 0 | — | 84.7% | 51 |
| 2026-08-28 | 0 | — | 81.9% | 23 |
| 2026-08-27 | 2 | $43 | 68.7% | 101 |
| 2026-08-26 | 0 | — | 64.1% | 77 |
| 2026-08-25 | 0 | — | 91.9% | 9 |
| 2026-08-24 | 0 | — | 80.6% | 74 |
| 2026-08-23 | 0 | — | 48.9% | 89 |
| 2026-08-22 | 0 | — | 92.8% | 65 |
| 2026-08-21 | 1 | $43 | 83.0% | 81 |
| 2026-08-20 | 20 | $672 | 86.7% | 31 |
| 2026-08-19 | 1 | $4 | 92.8% | 5 |
| 2026-08-18 | 1 | -$39 | 87.2% | 51 |
| 2026-08-17 | 0 | — | 79.7% | 1 |
| 2026-08-16 | 0 | — | 88.3% | — |
| 2026-08-15 | 2 | $23 | 89.7% | — |
| 2026-08-14 | 0 | — | 71.9% | 6 |
| 2026-08-13 | 0 | — | 71.9% | 1 |
| 2026-08-12 | 10 | -$99 | 73.6% | 1 |
| 2026-08-11 | 18 | -$3 | 48.9% | — |
| 2026-08-10 | 0 | — | 22.2% | — |
| 2026-08-09 | 0 | — | 96.3% | 8 |
| 2026-08-08 | 0 | — | 86.9% | 42 |
| 2026-08-07 | 0 | — | 76.1% | 17 |
| 2026-08-06 | 0 | — | 78.8% | — |
| 2026-08-05 | 0 | — | 84.4% | — |
| 2026-08-04 | 0 | — | 73.9% | 2 |
| 2026-08-03 | 0 | — | 89.1% | 32 |
| 2026-08-02 | 0 | — | 80.3% | 23 |
| 2026-08-01 | 0 | — | 75.0% | 44 |
| Day (UTC) | Node-hours traded | Net P&L | Coverage | Cooldown skips |
|---|---|---|---|---|
| 2026-08-30 | 0 | — | 99.3% | — |
| 2026-08-29 | 0 | — | 78.3% | 51 |
| 2026-08-28 | 0 | — | 85.0% | 23 |
| 2026-08-27 | 7 | $136 | 58.3% | 101 |
| 2026-08-26 | 0 | — | 52.2% | 79 |
| 2026-08-25 | 1 | -$0 | 83.6% | 9 |
| 2026-08-24 | 0 | — | 71.9% | 74 |
| 2026-08-23 | 0 | — | 40.0% | 89 |
| 2026-08-22 | 0 | — | 91.1% | 65 |
| 2026-08-21 | 1 | $43 | 61.5% | 81 |
| 2026-08-20 | 15 | $349 | 90.4% | 31 |
| 2026-08-19 | 11 | $129 | 82.8% | 6 |
| 2026-08-18 | 1 | -$60 | 84.4% | 51 |
| 2026-08-17 | 0 | — | 81.5% | 1 |
| 2026-08-16 | 0 | — | 78.6% | — |
| 2026-08-15 | 2 | $20 | 83.9% | — |
| 2026-08-14 | 0 | — | 68.1% | 6 |
| 2026-08-13 | 3 | $15 | 80.6% | 1 |
| 2026-08-12 | 2 | $12 | 80.3% | 1 |
| 2026-08-11 | 9 | $26 | 44.2% | — |
| 2026-08-10 | 0 | — | 75.6% | — |
| 2026-08-09 | 0 | — | 88.6% | 8 |
| 2026-08-08 | 0 | — | 79.7% | 42 |
| 2026-08-07 | 0 | — | 67.5% | 17 |
| 2026-08-06 | 1 | $16 | 76.7% | — |
| 2026-08-05 | 0 | — | 79.4% | — |
| 2026-08-04 | 2 | $10 | 68.6% | 2 |
| 2026-08-03 | 0 | — | 80.0% | 32 |
| 2026-08-02 | 14 | $56 | 79.7% | 23 |
| 2026-08-01 | 25 | $339 | 74.4% | 44 |
Nodal basis track
Separate from the hub TFTs. 30 resource settlement points, each the v1 hub issuance plus hour-of-day quantiles of that node's realized basis versus its hub. Not a new Forecast Model architecture. Hubs above stay the public demo.
| Day (UTC) | Node-hours traded | Net P&L | Coverage | Cooldown skips |
|---|---|---|---|---|
| 2026-08-30 | 1 | $10 | 100.0% | 7 |
| 2026-08-29 | 3 | $33 | 83.3% | 112 |
| 2026-08-28 | 1 | $106 | 84.9% | 92 |
| 2026-08-27 | 11 | -$102 | 65.1% | 216 |
| 2026-08-26 | 1 | $20 | 60.7% | 168 |
| 2026-08-25 | 2 | $53 | 82.1% | 87 |
| 2026-08-24 | 3 | $54 | 74.2% | 198 |
| 2026-08-23 | 11 | $90 | 45.2% | 34 |
Explore the calls
Pick a node. See already-scored history, or the live, unresolved call for the next 24 hours. Nothing in Live mode has happened yet.
The shaded area is the range the model claims 80% of outcomes will land in; the thin line inside it is its single best guess. The dots are what actually happened: amber if it landed inside the claimed range, red if the model missed.
Methodology
The model is a global temporal fusion transformer trained on hourly ERCOT settlement prices from 2019 onward (self-collected from ERCOT MIS archives) plus ERCOT load, day-ahead load forecast, wind and solar generation from EIA-930. The current version (v2) adds ERCOT's own day-ahead wind/solar forecasts, planned outage capacity, ancillary clearing prices and natural gas price as further leak-free inputs. It forecasts the distribution of the next 24 hours' RT−DA spread per node and is retrained quarterly.
The setup is leak-free: at issuance the model sees only information available before delivery, the cleared day-ahead price, published forecasts, and real-time history through the last settled hour. The nodal basis track uses the same rule: its hour-of-day quantiles are fit only on hours already settled.
The paper trading rule is deliberately simple: long the spread when P10 > 0, short when P90 < 0, flat otherwise, 1 MWh per node-hour, haircut $0.75/MWh for fees. In backtest v2 beat v1 on both accuracy (MAE, RMSE) and trading P&L on the same held-out year, with uncertainty bands calibrated using a conformal widening fit on a separate calibration window.
Backtests can flatter; that is what this page is for. Paper fills at hub settlement prices, modeled fees, no market impact. Judge the live numbers.