Returns 5-minute dispatch prices or 30-minute trading prices for a NEM region over a specified window. Filters intervention runs by default so the returned prices are the market clearing prices used in settlement.
aemo_price(
region,
start,
end,
interval = c("5min", "30min"),
market = c("energy", "fcas"),
intervention = FALSE
)An aemo_tbl. Key columns include settlementdate
(POSIXct AEST), regionid, rrp (AUD/MWh, energy) or the
FCAS service RRPs (AUD/MW), and intervention.
One of "NSW1", "QLD1", "SA1", "TAS1",
"VIC1". Accepts a vector.
Start and end times (inclusive). Character
(parsed as AEST) or POSIXct.
One of "5min" (default) or "30min".
One of "energy" (default, returns RRP) or
"fcas" (returns the FCAS service RRPs).
Logical. FALSE (default) returns only
the market pricing run; TRUE returns both market and
physical runs, with the intervention column preserved.
Timestamps are AEST (UTC+10, no daylight savings) to match AEMO's market clock. See the package-level documentation for the period-ending timestamp convention (a row stamped 00:05 is the 5-minute period ending at 00:05).
Intervention. DISPATCHPRICE contains both market pricing
runs (INTERVENTION = 0) and physical / intervention runs
(INTERVENTION = 1). The default filters to market runs.
Pass intervention = TRUE to get both.
30-minute settlement and the 5MS transition. Before
1 October 2021 the NEM settled on 30-minute trading prices
from TRADINGPRICE (TRADINGIS). On 1 October 2021 five-minute
settlement (5MS) commenced and settlement moved to native
5-minute prices. When interval = "30min":
For the pre-5MS period (start < 2021-10-01): prices are
read from TRADINGIS (TRADINGPRICE).
For the post-5MS period: prices are derived by taking the
arithmetic mean of the six 5-minute dispatch prices within
each 30-minute trading interval, consistent with how AEMO
calculates the TRADINGPRICE column in TradingIS post-5MS.
Data availability. NEMweb holds the 5-minute dispatch files in
its Current directory for only about two days, and daily (dispatch)
or weekly (trading) rollups in its Archive for about 13 months. Each
day of a query is read from an Archive rollup when one exists and
from Current files otherwise. For queries older than the Archive
window, use aemo_nemweb_download() with an MMSDM URL directly.
Other price:
aemo_fcas()
# \donttest{
op <- options(aemo.cache_dir = tempdir())
try({
now <- Sys.time()
p <- aemo_price("NSW1", now - 3600, now)
head(p)
})
options(op)
# }
Run the code above in your browser using DataLab