LMP Pricing Data#

Support#

Below are the currently support LMP markets

Markets

Midcontinent ISO

REAL_TIME_5_MIN, DAY_AHEAD_HOURLY

California ISO

REAL_TIME_15_MIN, REAL_TIME_HOURLY, DAY_AHEAD_HOURLY

PJM

REAL_TIME_5_MIN, REAL_TIME_HOURLY, DAY_AHEAD_HOURLY

Electric Reliability Council of Texas

Southwest Power Pool

New York ISO

REAL_TIME_5_MIN, DAY_AHEAD_HOURLY

ISO New England

REAL_TIME_5_MIN, REAL_TIME_HOURLY, DAY_AHEAD_HOURLY

How to use#

We are currently adding Locational Marginal Price (LMP). Even though each BA offers different markets, but you can query them with a standardized API

import gridstatus
nyiso = gridstatus.NYISO()
nyiso.get_lmp(date="today", market="REAL_TIME_5_MIN", locations="ALL")
Time Market Location Location Type LMP Energy Congestion Loss
0 2022-12-15 00:05:00-05:00 REAL_TIME_5_MIN CAPITL Zone 196.23 -7.10 -203.74 -0.41
1 2022-12-15 00:05:00-05:00 REAL_TIME_5_MIN CENTRL Zone 19.32 -7.10 -26.48 -0.06
2 2022-12-15 00:05:00-05:00 REAL_TIME_5_MIN DUNWOD Zone 134.59 -7.10 -142.34 -0.65
3 2022-12-15 00:05:00-05:00 REAL_TIME_5_MIN GENESE Zone 12.54 -7.10 -19.61 0.03
4 2022-12-15 00:05:00-05:00 REAL_TIME_5_MIN H Q Zone -30.46 -7.09 23.62 0.25
... ... ... ... ... ... ... ... ...
3235 2022-12-15 18:00:00-05:00 REAL_TIME_5_MIN NORTH Zone 35.41 87.80 48.62 -3.77
3236 2022-12-15 18:00:00-05:00 REAL_TIME_5_MIN NPX Zone 94.56 87.80 0.00 6.76
3237 2022-12-15 18:00:00-05:00 REAL_TIME_5_MIN O H Zone 5.00 87.80 80.08 -2.72
3238 2022-12-15 18:00:00-05:00 REAL_TIME_5_MIN PJM Zone 86.74 87.80 5.80 4.74
3239 2022-12-15 18:00:00-05:00 REAL_TIME_5_MIN WEST Zone 64.02 87.80 23.96 0.18

3240 rows × 8 columns

And here is querying CAISO

import gridstatus
caiso = gridstatus.CAISO()
locations = ["TH_NP15_GEN-APND", "TH_SP15_GEN-APND", "TH_ZP26_GEN-APND"]
caiso.get_lmp(date="today", market='DAY_AHEAD_HOURLY', locations=locations)
Time Market Location Location Type LMP Energy Congestion Loss
0 2022-12-15 00:00:00-08:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 274.57925 280.49777 0.0 -5.91850
1 2022-12-15 00:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 273.70972 280.49777 0.0 -6.78805
2 2022-12-15 00:00:00-08:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 266.47287 280.49777 0.0 -14.02489
3 2022-12-15 01:00:00-08:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 255.78355 262.01962 0.0 -6.23607
4 2022-12-15 01:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 256.28140 262.01962 0.0 -5.73823
... ... ... ... ... ... ... ... ...
67 2022-12-15 22:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 289.37680 297.10144 0.0 -7.72464
68 2022-12-15 22:00:00-08:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 281.50363 297.10144 0.0 -15.59783
69 2022-12-15 23:00:00-08:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 267.12100 276.66600 0.0 -9.54498
70 2022-12-15 23:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 270.85600 276.66600 0.0 -5.80999
71 2022-12-15 23:00:00-08:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 262.83267 276.66600 0.0 -13.83330

72 rows × 8 columns

You can see what markets are available by accessing the markets property of an iso. For, example

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

The possible lmp query methods are ISO.get_latest_lmp, ISO.get_lmp_today, and ISO.get_lmp.