MISO logo

MISO Day-Ahead Ancillary Prices

Cleared day-ahead ancillary-service capacity prices in MISO, one row per hour, ASM reserve zone and product.

Native record
product x region x delivery hour
hourly (day-ahead) publication cadence
Evidence
Cleared day-ahead market
A market outcome, not a physical observation
Time basis
Interval-start records
UTC · event_time

Overview

74,976 rows, 2026-08-12 to the next delivery day. Products: reg_up, spin, supplemental, short_term_reserve, ramp_up, ramp_down. Prices clear per ASM reserve zone, '1' through '8'; a MISO-wide figure is not published and must not be invented by averaging the zones. price_usd_mw is a price for CAPACITY held in reserve — dollars per megawatt of commitment — not dollars per megawatt-hour of energy delivered. The two are different units and are not comparable to an LMP.

Query contract

Select one product and one region before aggregating. Each row is already the canonical cleared price for that combination.

Analysis rules

  • Never sum prices across products. Reserve products are separately procured markets and their prices do not add to a meaningful total.
  • Never sum or average across ASM reserve zones without saying so; prices clear per asm reserve zone, '1' through '8'; a miso-wide figure is not published and must not be invented by averaging the zones.

Interpretation

  • price_usd_mw is $/MW of capacity held, not $/MWh of energy. Do not compare it directly to an LMP, and do not multiply it by megawatt-hours.
  • A cleared price is what the day-ahead market settled at. It is not the quantity procured, not a scarcity measurement, and not evidence that reserves were short.

Access

Query from your own tools

Use the guarded HTTP endpoint directly, or connect an MCP client and load the dataset contract with describe_data before calling query_data.

HTTP endpoint
POST /api/v1/datasets/miso_ancillary_da/query

Need the full history of this dataset in Snowflake, Databricks or your own storage? Data services delivers it on a schedule.

Schema4

Column
Type
event_timeDateTime64(6, 'UTC')
regionLowCardinality(String)
productLowCardinality(String)
price_usd_mwNullable(Float64)

Sample data

event_timeregionproductprice_usd_mw
2026-10-17 04:00:00.0000004ramp_down0
2026-10-17 04:00:00.0000002spin2.5
2026-10-17 04:00:00.0000007spin2.5
2026-10-17 04:00:00.0000001spin2.5
2026-10-17 04:00:00.0000005ramp_down0
2026-10-17 04:00:00.0000008short_term_reserve0
2026-10-17 04:00:00.0000001ramp_down0
2026-10-17 04:00:00.0000006ramp_down0
2026-10-17 04:00:00.0000003spin2.5
2026-10-17 04:00:00.0000006short_term_reserve0
2026-10-17 04:00:00.0000001reg_up18.52
2026-10-17 04:00:00.0000007ramp_down0
2026-10-17 04:00:00.0000005short_term_reserve0.2
2026-10-17 04:00:00.0000004short_term_reserve0.2
2026-10-17 04:00:00.0000008ramp_down0
2026-10-17 04:00:00.0000003short_term_reserve0.2
2026-10-17 04:00:00.0000002reg_up18.52
2026-10-17 04:00:00.0000007short_term_reserve0
2026-10-17 04:00:00.0000006reg_up18.52
2026-10-17 04:00:00.0000006ramp_up0
2026-10-17 04:00:00.0000003reg_up18.52
2026-10-17 04:00:00.0000005ramp_up0
2026-10-17 04:00:00.0000008spin2.5
2026-10-17 04:00:00.0000004ramp_up0
2026-10-17 04:00:00.0000005reg_up18.52

Coverage

No time-indexed data — coverage isn’t applicable to this dataset.