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-02 00:05:00-05:00 REAL_TIME_5_MIN CAPITL Zone 46.73 35.95 -9.31 1.47
1 2022-12-02 00:05:00-05:00 REAL_TIME_5_MIN CENTRL Zone 37.72 35.95 -0.84 0.93
2 2022-12-02 00:05:00-05:00 REAL_TIME_5_MIN DUNWOD Zone 44.12 35.94 -5.48 2.70
3 2022-12-02 00:05:00-05:00 REAL_TIME_5_MIN GENESE Zone 37.11 35.95 -0.66 0.50
4 2022-12-02 00:05:00-05:00 REAL_TIME_5_MIN H Q Zone 35.55 35.94 0.00 -0.39
... ... ... ... ... ... ... ... ...
2455 2022-12-02 14:30:00-05:00 REAL_TIME_5_MIN NORTH Zone 19.02 19.06 0.00 -0.04
2456 2022-12-02 14:30:00-05:00 REAL_TIME_5_MIN NPX Zone 55.96 19.06 -36.04 0.86
2457 2022-12-02 14:30:00-05:00 REAL_TIME_5_MIN O H Zone 15.72 19.06 3.00 -0.34
2458 2022-12-02 14:30:00-05:00 REAL_TIME_5_MIN PJM Zone 33.94 19.07 -13.96 0.91
2459 2022-12-02 14:30:00-05:00 REAL_TIME_5_MIN WEST Zone 14.80 19.06 4.41 0.15

2460 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-02 00:00:00-08:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 158.63934 157.89722 0.00000 0.74212
1 2022-12-02 00:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 149.32340 157.89722 0.00000 -8.57382
2 2022-12-02 00:00:00-08:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 150.80763 157.89722 0.00000 -7.08959
3 2022-12-02 01:00:00-08:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 151.82687 150.98138 0.00000 0.84550
4 2022-12-02 01:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 143.08505 150.98138 0.00000 -7.89633
... ... ... ... ... ... ... ... ...
67 2022-12-02 22:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 200.10278 211.40816 -0.31214 -10.99322
68 2022-12-02 22:00:00-08:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 201.34512 211.40816 0.00000 -10.06303
69 2022-12-02 23:00:00-08:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 185.92558 185.61005 0.00000 0.31554
70 2022-12-02 23:00:00-08:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 176.38522 185.61005 0.00000 -9.22482
71 2022-12-02 23:00:00-08:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 177.44320 185.61005 0.00000 -8.16684

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.