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 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:05:00-04:00 | REAL_TIME_5_MIN | CAPITL | Zone | 24.63 | 24.08 | 0.00 | 0.55 |
1 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:05:00-04:00 | REAL_TIME_5_MIN | WEST | Zone | 24.42 | 24.08 | 0.00 | 0.34 |
2 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:05:00-04:00 | REAL_TIME_5_MIN | PJM | Zone | 24.99 | 24.08 | 0.00 | 0.91 |
3 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:05:00-04:00 | REAL_TIME_5_MIN | O H | Zone | 23.88 | 24.07 | 0.00 | -0.19 |
4 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:00:00-04:00 | 2024-05-08 00:05:00-04:00 | REAL_TIME_5_MIN | NPX | Zone | 24.97 | 24.08 | 0.00 | 0.89 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1780 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:45:00-04:00 | REAL_TIME_5_MIN | H Q | Zone | 39.36 | 25.02 | -14.51 | -0.17 |
1781 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:45:00-04:00 | REAL_TIME_5_MIN | GENESE | Zone | 24.45 | 25.02 | 0.00 | -0.57 |
1782 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:45:00-04:00 | REAL_TIME_5_MIN | DUNWOD | Zone | 26.98 | 25.03 | 0.00 | 1.95 |
1783 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:45:00-04:00 | REAL_TIME_5_MIN | CENTRL | Zone | 24.93 | 25.03 | 0.00 | -0.10 |
1784 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:40:00-04:00 | 2024-05-08 09:45:00-04:00 | REAL_TIME_5_MIN | CAPITL | Zone | 25.83 | 25.03 | 0.00 | 0.80 |
1785 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-05-08 00:00:00-07:00 | 2024-05-08 00:00:00-07:00 | 2024-05-08 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 25.66518 | 27.54613 | -0.69647 | -1.18448 |
1 | 2024-05-08 00:00:00-07:00 | 2024-05-08 00:00:00-07:00 | 2024-05-08 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 26.74178 | 27.54613 | 0.00000 | -0.80435 |
2 | 2024-05-08 00:00:00-07:00 | 2024-05-08 00:00:00-07:00 | 2024-05-08 01:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 26.69771 | 27.54613 | 0.00000 | -0.84842 |
3 | 2024-05-08 01:00:00-07:00 | 2024-05-08 01:00:00-07:00 | 2024-05-08 02:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 25.16036 | 27.02494 | -0.68899 | -1.17558 |
4 | 2024-05-08 01:00:00-07:00 | 2024-05-08 01:00:00-07:00 | 2024-05-08 02:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 26.21598 | 27.02494 | -0.08469 | -0.72427 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
67 | 2024-05-08 22:00:00-07:00 | 2024-05-08 22:00:00-07:00 | 2024-05-08 23:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 38.92168 | 39.99200 | 0.00146 | -1.07179 |
68 | 2024-05-08 22:00:00-07:00 | 2024-05-08 22:00:00-07:00 | 2024-05-08 23:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 38.53371 | 39.99200 | 0.00141 | -1.45971 |
69 | 2024-05-08 23:00:00-07:00 | 2024-05-08 23:00:00-07:00 | 2024-05-09 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_NP15_GEN-APND | Trading Hub | 40.32065 | 40.88742 | 1.36311 | -1.92989 |
70 | 2024-05-08 23:00:00-07:00 | 2024-05-08 23:00:00-07:00 | 2024-05-09 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_SP15_GEN-APND | Trading Hub | 38.06385 | 40.88742 | -1.89951 | -0.92406 |
71 | 2024-05-08 23:00:00-07:00 | 2024-05-08 23:00:00-07:00 | 2024-05-09 00:00:00-07:00 | DAY_AHEAD_HOURLY | TH_ZP26_GEN-APND | Trading Hub | 37.24717 | 40.88742 | -2.33595 | -1.30431 |
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'>]