Skip to contents

Returns settlement reconciliation tables from MMSDM. Three views are exposed, corresponding to the three tables gentailer hedging workflows most commonly need:

Usage

aemo_settlement(table = c("cashflow", "fcas_recovery", "residues"), start, end)

Source

AEMO NEMweb MMSDM archive, SETCFM / SETFCASREGIONRECOVERY / SETRESIDUECONTRACTPAYMENT. AEMO Copyright Permissions Notice.

Arguments

table

One of "cashflow", "fcas_recovery", or "residues".

start, end

Window (inclusive) applied to SETTLEMENTDATE / PAYMENTDATE.

Value

An aemo_tbl with the raw MMSDM columns for the requested table.

Details

  • "cashflow" (default): SETCFM (NEMDE-derived energy settlement amounts per participant per trading interval).

  • "fcas_recovery": SETFCASREGIONRECOVERY (the recovery allocation of FCAS costs to customer load per region per trading interval).

  • "residues": SETRESIDUECONTRACTPAYMENT (settlement residue auction (SRA) contract payments against interconnector settlement residues).

Access. These tables are in the MMSDM monthly archive (not the NEMweb Current retention). Expect two-month latency between trading date and availability.

See also

aemo_mlf() for the transmission loss factors that scale settlement amounts; aemo_interconnector() for the flow side of the residue calculation.

Other reference: aemo_dlf(), aemo_interconnectors(), aemo_mlf(), aemo_participants(), aemo_price_caps(), aemo_regions(), aemo_snapshot(), aemo_units()

Examples

# \donttest{
op <- options(aemo.cache_dir = tempdir())
try({
  s <- aemo_settlement(table = "cashflow",
                        start = "2024-06-01",
                        end   = "2024-06-02")
  head(s)
})
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#> Error in aemo_settlement(table = "cashflow", start = "2024-06-01", end = "2024-06-02") : 
#>   Could not retrieve SETCFM from MMSDM.
#>  Settlement tables are published with ~2 month latency. Check that "2024-06"
#>   is within the published window.
options(op)
# }