LMP Pricing Data#
Support#
Below are the currently supported LMP markets
Method |
REAL_TIME_5_MIN |
REAL_TIME_15_MIN |
DAY_AHEAD_HOURLY |
REAL_TIME_HOURLY |
REAL_TIME_HOURLY_FINAL |
REAL_TIME_HOURLY_PRELIM |
|
---|---|---|---|---|---|---|---|
CAISO |
|
latest, today, historical |
latest, today, historical |
latest, today, historical |
- |
- |
- |
Ercot |
|
- |
- |
- |
- |
- |
- |
IESO |
- |
- |
- |
- |
- |
- |
- |
ISONE |
|
latest, today, historical |
- |
today, historical |
latest, today, historical |
- |
- |
MISO |
|
latest, today |
- |
today, historical |
- |
historical |
historical |
NYISO |
|
latest, today, historical |
latest, today |
latest, today, historical |
- |
- |
- |
PJM |
|
latest, today, historical |
- |
today, historical |
today, historical |
- |
- |
SPP |
- |
- |
- |
- |
- |
- |
- |
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 | Interval Start | Interval End | Market | Location | Location Type | LMP | Energy | Congestion | Loss | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:05:00-05:00 | REAL_TIME_5_MIN | CAPITL | Zone | 17.41 | 16.66 | -0.00 | 0.75 |
1 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:05:00-05:00 | REAL_TIME_5_MIN | WEST | Zone | 15.35 | 16.67 | -0.00 | -1.32 |
2 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:05:00-05:00 | REAL_TIME_5_MIN | PJM | Zone | 16.61 | 16.66 | -0.00 | -0.05 |
3 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:05:00-05:00 | REAL_TIME_5_MIN | O H | Zone | 15.03 | 16.66 | -0.00 | -1.63 |
4 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:00:00-05:00 | 2024-11-05 00:05:00-05:00 | REAL_TIME_5_MIN | NPX | Zone | 22.32 | 16.66 | 4.81 | 0.85 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1270 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:55:00-05:00 | REAL_TIME_5_MIN | GENESE | Zone | 19.44 | 20.61 | -0.00 | -1.17 |
1271 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:55:00-05:00 | REAL_TIME_5_MIN | DUNWOD | Zone | 21.95 | 20.61 | -0.00 | 1.34 |
1272 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:55:00-05:00 | REAL_TIME_5_MIN | CENTRL | Zone | 20.18 | 20.61 | -0.00 | -0.43 |
1273 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:55:00-05:00 | REAL_TIME_5_MIN | CAPITL | Zone | 21.64 | 20.61 | -0.00 | 1.03 |
1274 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:50:00-05:00 | 2024-11-05 06:55:00-05:00 | REAL_TIME_5_MIN | LONGIL | Zone | 21.81 | 20.61 | -0.00 | 1.20 |
1275 rows × 10 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 | Interval Start | Interval End | Market | Location | Location Type | LMP | Energy | Congestion | Loss | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 2024-11-05 00:00:00-08:00 | 2024-11-05 00:00:00-08:00 | 2024-11-05 01:00:00-08:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 37.68150 | 38.65427 | -0.07985 | -0.89291 |
1 | 2024-11-05 00:00:00-08:00 | 2024-11-05 00:00:00-08:00 | 2024-11-05 01:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 37.61060 | 38.65427 | 0.00000 | -1.04367 |
2 | 2024-11-05 00:00:00-08:00 | 2024-11-05 00:00:00-08:00 | 2024-11-05 01:00:00-08:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 37.25498 | 38.65427 | 0.00000 | -1.39928 |
3 | 2024-11-05 01:00:00-08:00 | 2024-11-05 01:00:00-08:00 | 2024-11-05 02:00:00-08:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 35.60192 | 36.51079 | -0.12023 | -0.78863 |
4 | 2024-11-05 01:00:00-08:00 | 2024-11-05 01:00:00-08:00 | 2024-11-05 02:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 35.53595 | 36.51079 | 0.00000 | -0.97484 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
67 | 2024-11-05 22:00:00-08:00 | 2024-11-05 22:00:00-08:00 | 2024-11-05 23:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 38.10193 | 39.49615 | 0.00000 | -1.39421 |
68 | 2024-11-05 22:00:00-08:00 | 2024-11-05 22:00:00-08:00 | 2024-11-05 23:00:00-08:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 37.94000 | 39.49615 | 0.00000 | -1.55615 |
69 | 2024-11-05 23:00:00-08:00 | 2024-11-05 23:00:00-08:00 | 2024-11-06 00:00:00-08:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 35.84155 | 36.12000 | -0.27845 | 0.00000 |
70 | 2024-11-05 23:00:00-08:00 | 2024-11-05 23:00:00-08:00 | 2024-11-06 00:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 36.12000 | 36.12000 | 0.00000 | 0.00000 |
71 | 2024-11-05 23:00:00-08:00 | 2024-11-05 23:00:00-08:00 | 2024-11-06 00:00:00-08:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 36.12000 | 36.12000 | 0.00000 | 0.00000 |
72 rows × 10 columns
You can see what markets are available by accessing the markets
property of an iso. For, example
caiso.markets
[<Markets.REAL_TIME_5_MIN: 'REAL_TIME_5_MIN'>,
<Markets.REAL_TIME_15_MIN: 'REAL_TIME_15_MIN'>,
<Markets.DAY_AHEAD_HOURLY: 'DAY_AHEAD_HOURLY'>]