Brian Amadio

Deep reinforcement learning for grid-scale battery arbitrage

Simulated battery: 200 MW / 400 MWh, 90% round-trip efficiency, $10/MWh degradation cost. Price taker, arbitrage only, no FCAS.

Agent: dueling double DQN with noisy-network exploration and an n-step replay buffer.

Training: 9 September 2025 to 31 August 2026.

Test: 1 September to 6 October 2026.

Results

AgentPerfect foresightPriceState of charge

The price axis is clipped at the 99th percentile. Times are NEM time (AEST).

RegionNet profitPerfect foresight% of perfectCycles
NSW1$548,995$1,081,59651%34.9
QLD1$810,220$1,262,21964%35.8
SA1$756,104$1,809,64642%36.7
TAS1$425,448$1,284,19433%47.4
VIC1$699,526$1,297,69754%31.4

The agent captured 33% (TAS1) to 64% (QLD1) of perfect-foresight profit, cycling about once a day.

Method

Each interval the agent picks charge, hold or discharge at full power, from price, demand and interconnector lags, AEMO’s 5-minute (P5) and pre-dispatch reports, and its state of charge. The benchmark is a linear program over the whole period. Data: AEMO’s NEMweb.