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-05-22 00:00:00-04:00 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:05:00-04:00 | REAL_TIME_5_MIN | CAPITL | Zone | 20.83 | 19.86 | 0.0 | 0.97 |
| 1 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:05:00-04:00 | REAL_TIME_5_MIN | CENTRL | Zone | 19.83 | 19.85 | 0.0 | -0.02 |
| 2 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:05:00-04:00 | REAL_TIME_5_MIN | DUNWOD | Zone | 20.95 | 19.86 | 0.0 | 1.09 |
| 3 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:05:00-04:00 | REAL_TIME_5_MIN | GENESE | Zone | 19.52 | 19.86 | 0.0 | -0.34 |
| 4 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:00:00-04:00 | 2023-05-22 00:05:00-04:00 | REAL_TIME_5_MIN | H Q | Zone | 19.62 | 19.86 | 0.0 | -0.24 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 3955 | 2023-05-22 22:55:00-04:00 | 2023-05-22 22:55:00-04:00 | 2023-05-22 23:00:00-04:00 | REAL_TIME_5_MIN | NORTH | Zone | 18.82 | 18.82 | 0.0 | 0.00 |
| 3956 | 2023-05-22 22:55:00-04:00 | 2023-05-22 22:55:00-04:00 | 2023-05-22 23:00:00-04:00 | REAL_TIME_5_MIN | NPX | Zone | 19.54 | 18.82 | 0.0 | 0.72 |
| 3957 | 2023-05-22 22:55:00-04:00 | 2023-05-22 22:55:00-04:00 | 2023-05-22 23:00:00-04:00 | REAL_TIME_5_MIN | O H | Zone | 17.73 | 18.82 | 0.0 | -1.09 |
| 3958 | 2023-05-22 22:55:00-04:00 | 2023-05-22 22:55:00-04:00 | 2023-05-22 23:00:00-04:00 | REAL_TIME_5_MIN | PJM | Zone | 19.22 | 18.82 | 0.0 | 0.40 |
| 3959 | 2023-05-22 22:55:00-04:00 | 2023-05-22 22:55:00-04:00 | 2023-05-22 23:00:00-04:00 | REAL_TIME_5_MIN | WEST | Zone | 18.20 | 18.82 | 0.0 | -0.62 |
3960 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-05-22 00:00:00-07:00 | 2023-05-22 00:00:00-07:00 | 2023-05-22 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 21.73748 | 22.77846 | 0.00000 | -1.04098 |
| 1 | 2023-05-22 00:00:00-07:00 | 2023-05-22 00:00:00-07:00 | 2023-05-22 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 22.47323 | 22.77846 | 0.00000 | -0.30523 |
| 2 | 2023-05-22 00:00:00-07:00 | 2023-05-22 00:00:00-07:00 | 2023-05-22 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 21.87643 | 22.77846 | 0.00000 | -0.90203 |
| 3 | 2023-05-22 01:00:00-07:00 | 2023-05-22 01:00:00-07:00 | 2023-05-22 02:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 17.39450 | 18.21415 | -0.01276 | -0.80689 |
| 4 | 2023-05-22 01:00:00-07:00 | 2023-05-22 01:00:00-07:00 | 2023-05-22 02:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 17.96644 | 18.21415 | 0.00000 | -0.24771 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 67 | 2023-05-22 22:00:00-07:00 | 2023-05-22 22:00:00-07:00 | 2023-05-22 23:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 38.00000 | 39.03842 | 0.00000 | -1.03842 |
| 68 | 2023-05-22 22:00:00-07:00 | 2023-05-22 22:00:00-07:00 | 2023-05-22 23:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 37.28169 | 39.03842 | 0.00000 | -1.75673 |
| 69 | 2023-05-22 23:00:00-07:00 | 2023-05-22 23:00:00-07:00 | 2023-05-23 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 28.84973 | 29.94263 | 0.00000 | -1.09291 |
| 70 | 2023-05-22 23:00:00-07:00 | 2023-05-22 23:00:00-07:00 | 2023-05-23 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 29.23000 | 29.94263 | 0.00000 | -0.71263 |
| 71 | 2023-05-22 23:00:00-07:00 | 2023-05-22 23:00:00-07:00 | 2023-05-23 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 28.78385 | 29.94263 | 0.00000 | -1.15878 |
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'>]