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 | Market | Location | Location Type | LMP | Energy | Congestion | Loss | |
|---|---|---|---|---|---|---|---|---|
| 0 | 2023-01-27 00:05:00-05:00 | REAL_TIME_5_MIN | CAPITL | Zone | 30.63 | 29.06 | 0.00 | 1.57 |
| 1 | 2023-01-27 00:05:00-05:00 | REAL_TIME_5_MIN | CENTRL | Zone | 29.12 | 29.06 | 0.00 | 0.06 |
| 2 | 2023-01-27 00:05:00-05:00 | REAL_TIME_5_MIN | DUNWOD | Zone | 31.13 | 29.07 | 0.00 | 2.06 |
| 3 | 2023-01-27 00:05:00-05:00 | REAL_TIME_5_MIN | GENESE | Zone | 28.37 | 29.07 | 0.00 | -0.70 |
| 4 | 2023-01-27 00:05:00-05:00 | REAL_TIME_5_MIN | H Q | Zone | 28.72 | 29.07 | 0.00 | -0.35 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 2320 | 2023-01-27 14:15:00-05:00 | REAL_TIME_5_MIN | NORTH | Zone | 30.88 | 30.94 | 0.00 | -0.06 |
| 2321 | 2023-01-27 14:15:00-05:00 | REAL_TIME_5_MIN | NPX | Zone | 32.70 | 30.94 | 0.00 | 1.76 |
| 2322 | 2023-01-27 14:15:00-05:00 | REAL_TIME_5_MIN | O H | Zone | 20.28 | 30.94 | 8.80 | -1.86 |
| 2323 | 2023-01-27 14:15:00-05:00 | REAL_TIME_5_MIN | PJM | Zone | 29.13 | 30.94 | 2.61 | 0.80 |
| 2324 | 2023-01-27 14:15:00-05:00 | REAL_TIME_5_MIN | WEST | Zone | 19.54 | 30.93 | 10.62 | -0.77 |
2325 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 | 2023-01-27 00:00:00-08:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 81.22371 | 84.51999 | 0.00000 | -3.29628 |
| 1 | 2023-01-27 00:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 82.89720 | 84.51999 | 0.00000 | -1.62278 |
| 2 | 2023-01-27 00:00:00-08:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 81.37584 | 84.51999 | 0.00000 | -3.14414 |
| 3 | 2023-01-27 01:00:00-08:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 76.61670 | 79.51915 | 0.00000 | -2.90245 |
| 4 | 2023-01-27 01:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 77.98443 | 79.51915 | 0.00000 | -1.53472 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 67 | 2023-01-27 22:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 82.58601 | 83.98008 | 0.00000 | -1.39407 |
| 68 | 2023-01-27 22:00:00-08:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 80.09180 | 83.98008 | 0.00000 | -3.88828 |
| 69 | 2023-01-27 23:00:00-08:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 76.05842 | 80.02967 | -0.00178 | -3.96947 |
| 70 | 2023-01-27 23:00:00-08:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 78.66116 | 80.02967 | 0.00000 | -1.36851 |
| 71 | 2023-01-27 23:00:00-08:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 76.41233 | 80.02967 | 0.00000 | -3.61734 |
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_5_MIN: 'REAL_TIME_5_MIN'>,
<Markets.REAL_TIME_15_MIN: 'REAL_TIME_15_MIN'>,
<Markets.DAY_AHEAD_HOURLY: 'DAY_AHEAD_HOURLY'>]