Beta — Data under validation. Values may contain errors.

ED.BESS

Optimal battery spread for a day (EUR/MWh per cycle).

Battery (BESS)

Signature

ED.BESS([hours], [date], [zone])

Description

Optimal arbitrage spread for a battery on a single day, expressed in EUR/MWh per cycle. Computed as SUM(N most expensive hours) - SUM(N cheapest hours) where N is the battery duration. Assumes perfect foresight, 100% round-trip efficiency, and one cycle per day.

Use it to size the upper bound of a battery's daily revenue from pure energy arbitrage (no balancing, no capacity payments). For backtesting use ED.BESS.RANGE.

Parameters

NameTypeDefaultDescription
hours1-124Battery duration in hours. Common: 1, 2, 4, 8.
datedateDate. Omit for the latest closed day.
zone"ES" | "PT""ES"MIBEL zone.

Returns

Number — spread in EUR/MWh per cycle.

Examples

=ED.BESS()Today's 4h spread
=ED.BESS(2, "2025-07-01")2h battery on a specific date
=ED.BESS(8, "2025-07-01", "PT")8h battery in Portugal

Notes

  • Theoretical upper bound: assumes perfect foresight and 100% efficiency. Real-world capture is typically 70-85% of this number.
  • Single-cycle per day. For multi-cycle strategies you'd need to combine outputs creatively.

Related functions