ED.BESS
Optimal battery spread for a day (EUR/MWh per cycle).
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
| Name | Type | Default | Description |
|---|---|---|---|
| hours | 1-12 | 4 | Battery duration in hours. Common: 1, 2, 4, 8. |
| date | date | — | Date. 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 PortugalNotes
- 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.