Settlement Point Prices#

import gridstatus
import pandas as pd
iso = gridstatus.Ercot()

The get_spp Method#

The main method is get_spp, which takes the following arguments:

Date#

Date can be "today", "latest", or a pandas.Timestamp.

Day-ahead Market (DAM) data is released daily, so date="latest" is not supported for DAM.

Market#

ERCOT has 2 available markets:

iso.markets
[<Markets.REAL_TIME_15_MIN: 'REAL_TIME_15_MIN'>,
 <Markets.DAY_AHEAD_HOURLY: 'DAY_AHEAD_HOURLY'>]

Location Type#

ERCOT has 3 available location types. By default all locations are returned

iso.location_types
['Trading Hub', 'Load Zone', 'Resource Node']

Example: Fetch latest real-time market (RTM) by zone#

df = iso.get_spp(date="latest", market="REAL_TIME_15_MIN", location_type="Load Zone")
df
Time Interval Start Interval End Location Location Type Market SPP
0 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_AEN Load Zone REAL_TIME_15_MIN 26.25
1 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_CPS Load Zone REAL_TIME_15_MIN 26.25
2 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_HOUSTON Load Zone REAL_TIME_15_MIN 26.25
3 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_LCRA Load Zone REAL_TIME_15_MIN 26.25
4 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_NORTH Load Zone REAL_TIME_15_MIN 26.25
5 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_RAYBN Load Zone REAL_TIME_15_MIN 26.25
6 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_SOUTH Load Zone REAL_TIME_15_MIN 26.25
7 2023-05-22 21:30:00-05:00 2023-05-22 21:30:00-05:00 2023-05-22 21:45:00-05:00 LZ_WEST Load Zone REAL_TIME_15_MIN 26.35

Example: Fetch day-ahead market (DAM) for today by hub#

df = iso.get_spp(date="today", market="DAY_AHEAD_HOURLY", location_type="Trading Hub")
df
Time Interval Start Interval End Location Location Type Market SPP
0 2023-05-22 00:00:00-05:00 2023-05-22 00:00:00-05:00 2023-05-22 01:00:00-05:00 HB_BUSAVG Trading Hub DAY_AHEAD_HOURLY 19.90
1 2023-05-22 00:00:00-05:00 2023-05-22 00:00:00-05:00 2023-05-22 01:00:00-05:00 HB_HOUSTON Trading Hub DAY_AHEAD_HOURLY 19.86
2 2023-05-22 00:00:00-05:00 2023-05-22 00:00:00-05:00 2023-05-22 01:00:00-05:00 HB_HUBAVG Trading Hub DAY_AHEAD_HOURLY 20.00
3 2023-05-22 00:00:00-05:00 2023-05-22 00:00:00-05:00 2023-05-22 01:00:00-05:00 HB_NORTH Trading Hub DAY_AHEAD_HOURLY 19.76
4 2023-05-22 00:00:00-05:00 2023-05-22 00:00:00-05:00 2023-05-22 01:00:00-05:00 HB_PAN Trading Hub DAY_AHEAD_HOURLY 19.65
... ... ... ... ... ... ... ...
163 2023-05-22 23:00:00-05:00 2023-05-22 23:00:00-05:00 2023-05-23 00:00:00-05:00 HB_HOUSTON Trading Hub DAY_AHEAD_HOURLY 20.89
164 2023-05-22 23:00:00-05:00 2023-05-22 23:00:00-05:00 2023-05-23 00:00:00-05:00 HB_HUBAVG Trading Hub DAY_AHEAD_HOURLY 21.02
165 2023-05-22 23:00:00-05:00 2023-05-22 23:00:00-05:00 2023-05-23 00:00:00-05:00 HB_NORTH Trading Hub DAY_AHEAD_HOURLY 20.79
166 2023-05-22 23:00:00-05:00 2023-05-22 23:00:00-05:00 2023-05-23 00:00:00-05:00 HB_PAN Trading Hub DAY_AHEAD_HOURLY 20.74
167 2023-05-22 23:00:00-05:00 2023-05-22 23:00:00-05:00 2023-05-23 00:00:00-05:00 HB_WEST Trading Hub DAY_AHEAD_HOURLY 21.43

168 rows × 7 columns

Example: Fetch DAM for 2 days ago by node#

date = pd.Timestamp.now() - pd.Timedelta(days=2)
df = iso.get_spp(date=date, market="REAL_TIME_15_MIN", location_type="Resource Node")
df
Time Interval Start Interval End Location Location Type Market SPP
0 2023-05-20 00:00:00-05:00 2023-05-20 00:00:00-05:00 2023-05-20 00:15:00-05:00 YNG_WND_ALL Resource Node REAL_TIME_15_MIN 15.18
1 2023-05-20 00:00:00-05:00 2023-05-20 00:00:00-05:00 2023-05-20 00:15:00-05:00 FOARDCTY_ALL Resource Node REAL_TIME_15_MIN 15.20
2 2023-05-20 00:00:00-05:00 2023-05-20 00:00:00-05:00 2023-05-20 00:15:00-05:00 FLVABES1_ESR Resource Node REAL_TIME_15_MIN 45.84
3 2023-05-20 00:00:00-05:00 2023-05-20 00:00:00-05:00 2023-05-20 00:15:00-05:00 FLUVANNA_1_2 Resource Node REAL_TIME_15_MIN 14.10
4 2023-05-20 00:00:00-05:00 2023-05-20 00:00:00-05:00 2023-05-20 00:15:00-05:00 FLTCK_SSI Resource Node REAL_TIME_15_MIN 15.05
... ... ... ... ... ... ... ...
78907 2023-05-20 23:45:00-05:00 2023-05-20 23:45:00-05:00 2023-05-21 00:00:00-05:00 PB2SES_CT3 Resource Node REAL_TIME_15_MIN 31.34
78908 2023-05-20 23:45:00-05:00 2023-05-20 23:45:00-05:00 2023-05-21 00:00:00-05:00 PB2SES_CT2 Resource Node REAL_TIME_15_MIN 31.34
78909 2023-05-20 23:45:00-05:00 2023-05-20 23:45:00-05:00 2023-05-21 00:00:00-05:00 PB2SES_CT1 Resource Node REAL_TIME_15_MIN 31.34
78910 2023-05-20 23:45:00-05:00 2023-05-20 23:45:00-05:00 2023-05-21 00:00:00-05:00 PEY_RN Resource Node REAL_TIME_15_MIN 31.34
78911 2023-05-20 23:45:00-05:00 2023-05-20 23:45:00-05:00 2023-05-21 00:00:00-05:00 AEEC Resource Node REAL_TIME_15_MIN 31.34

78912 rows × 7 columns