LMP Pricing Data
Contents
LMP Pricing Data#
Support#
Below are the currently supported LMP markets
Method |
REAL_TIME_5_MIN |
DAY_AHEAD_HOURLY |
REAL_TIME_15_MIN |
REAL_TIME_HOURLY |
|
|---|---|---|---|---|---|
CAISO |
|
latest, today, historical |
latest, today, historical |
latest, today, historical |
- |
Ercot |
|
- |
latest, today, historical |
latest, today, historical |
- |
ISONE |
|
latest, today, historical |
today, historical |
- |
latest, today, historical |
MISO |
|
latest |
latest |
- |
- |
NYISO |
|
latest, today, historical |
latest, today, historical |
- |
- |
PJM |
|
today, historical |
latest, today, historical |
- |
today, historical |
SPP |
|
latest, today, historical |
latest, today, historical |
- |
- |
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 | 2023-03-24 00:05:00-04:00 | 2023-03-24 00:00:00-04:00 | 2023-03-24 00:05:00-04:00 | REAL_TIME_5_MIN | CAPITL | Zone | 24.75 | 24.10 | 0.00 | 0.65 |
| 1 | 2023-03-24 00:05:00-04:00 | 2023-03-24 00:00:00-04:00 | 2023-03-24 00:05:00-04:00 | REAL_TIME_5_MIN | CENTRL | Zone | 24.70 | 24.10 | 0.00 | 0.60 |
| 2 | 2023-03-24 00:05:00-04:00 | 2023-03-24 00:00:00-04:00 | 2023-03-24 00:05:00-04:00 | REAL_TIME_5_MIN | DUNWOD | Zone | 25.49 | 24.09 | 0.00 | 1.40 |
| 3 | 2023-03-24 00:05:00-04:00 | 2023-03-24 00:00:00-04:00 | 2023-03-24 00:05:00-04:00 | REAL_TIME_5_MIN | GENESE | Zone | 24.41 | 24.10 | 0.00 | 0.31 |
| 4 | 2023-03-24 00:05:00-04:00 | 2023-03-24 00:00:00-04:00 | 2023-03-24 00:05:00-04:00 | REAL_TIME_5_MIN | H Q | Zone | 23.76 | 24.10 | 0.00 | -0.34 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 3310 | 2023-03-24 19:30:00-04:00 | 2023-03-24 19:25:00-04:00 | 2023-03-24 19:30:00-04:00 | REAL_TIME_5_MIN | NORTH | Zone | 10.95 | 11.17 | 0.00 | -0.22 |
| 3311 | 2023-03-24 19:30:00-04:00 | 2023-03-24 19:25:00-04:00 | 2023-03-24 19:30:00-04:00 | REAL_TIME_5_MIN | NPX | Zone | 20.40 | 11.18 | -8.82 | 0.40 |
| 3312 | 2023-03-24 19:30:00-04:00 | 2023-03-24 19:25:00-04:00 | 2023-03-24 19:30:00-04:00 | REAL_TIME_5_MIN | O H | Zone | 13.00 | 11.18 | -1.88 | -0.06 |
| 3313 | 2023-03-24 19:30:00-04:00 | 2023-03-24 19:25:00-04:00 | 2023-03-24 19:30:00-04:00 | REAL_TIME_5_MIN | PJM | Zone | 17.48 | 11.18 | -5.79 | 0.51 |
| 3314 | 2023-03-24 19:30:00-04:00 | 2023-03-24 19:25:00-04:00 | 2023-03-24 19:30:00-04:00 | REAL_TIME_5_MIN | WEST | Zone | 13.47 | 11.18 | -2.03 | 0.26 |
3315 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 | 2023-03-24 00:00:00-07:00 | 2023-03-24 00:00:00-07:00 | 2023-03-24 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 59.64000 | 60.91308 | 0.00000 | -1.27308 |
| 1 | 2023-03-24 00:00:00-07:00 | 2023-03-24 00:00:00-07:00 | 2023-03-24 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 58.77503 | 60.91308 | 0.00000 | -2.13805 |
| 2 | 2023-03-24 00:00:00-07:00 | 2023-03-24 00:00:00-07:00 | 2023-03-24 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 58.24509 | 60.91308 | 0.00000 | -2.66799 |
| 3 | 2023-03-24 01:00:00-07:00 | 2023-03-24 01:00:00-07:00 | 2023-03-24 02:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 58.56790 | 59.67791 | 0.00000 | -1.11001 |
| 4 | 2023-03-24 01:00:00-07:00 | 2023-03-24 01:00:00-07:00 | 2023-03-24 02:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 57.58919 | 59.67791 | 0.00000 | -2.08873 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 67 | 2023-03-24 22:00:00-07:00 | 2023-03-24 22:00:00-07:00 | 2023-03-24 23:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 75.68917 | 79.92036 | -0.85855 | -3.37264 |
| 68 | 2023-03-24 22:00:00-07:00 | 2023-03-24 22:00:00-07:00 | 2023-03-24 23:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 76.97415 | 79.92036 | 1.20965 | -4.15586 |
| 69 | 2023-03-24 23:00:00-07:00 | 2023-03-24 23:00:00-07:00 | 2023-03-25 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 75.38317 | 76.67905 | 0.00000 | -1.29588 |
| 70 | 2023-03-24 23:00:00-07:00 | 2023-03-24 23:00:00-07:00 | 2023-03-25 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 72.46956 | 76.67905 | -1.40303 | -2.80645 |
| 71 | 2023-03-24 23:00:00-07:00 | 2023-03-24 23:00:00-07:00 | 2023-03-25 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 74.69197 | 76.67905 | 1.95422 | -3.94130 |
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'>]