Daily guide · IT-CNOR · 2026-07-23
What a home battery earned in Italy Centre-North this week, hour by hour
All numbers computed from the week's published auction results at publication and frozen — this article is an honest snapshot, not a page that rewrites itself. Reproduce via the API.
The pattern this week was unusually consistent on timing. The evening peak anchored on hour 19 for four of the seven days, with hour 18 and hour 20 covering the rest, so the sell window barely moved. The buy window was less stable, drifting between early afternoon and the small hours, but the shape held: charge midday or overnight, discharge into the evening. The average spread across the week was 73,23 EUR/MWh.
The standout day was 19 July. A cheap average of 82,64 EUR/MWh against a peak of 193,77 EUR/MWh produced a cycle value of 0,92 EUR, comfortably the best of the week. By contrast, 17 July returned just 0,24 EUR, held back by the narrowest peak, 198,23 EUR/MWh, sitting close to a relatively high cheap average of 154,30 EUR/MWh. Low absolute prices, not high ones, drove the best returns.
For a 10 kWh battery at 90 percent round-trip efficiency, the week added up to 3,66 EUR, or about 191 EUR annualised. The takeaway: the evening slot around hour 19 is reliable, but the earnings live in how cheap the charge hour gets.
A home battery makes money on one thing: the gap between the day's cheapest and priciest hours. Charge low, discharge across the evening peak instead of buying it, repeat daily. The size of that gap is set every afternoon at the day-ahead auction — so it's measurable, not hypothetical. Here is what one full daily cycle of a 10 kWh battery (at 90% round-trip efficiency — losses included, unlike most brochures) would have captured in IT-CNOR this week.
€3.66
captured this week — one cycle per day, wholesale component, after losses
73.23
€/MWh average cheapest-2h → priciest-2h spread this week
≈€191
a year at this week's spreads — the honest run-rate, not the best-day fantasy
Day by day: the two windows that mattered
| Day | Charge (2h) | at €/MWh | Discharge (2h) | at €/MWh | Cycle value |
|---|---|---|---|---|---|
| 2026-07-16 | 12:00–14:00 | 148.09 | 19:00–21:00 | 224.63 | €0.54 |
| 2026-07-17 | 12:00–14:00 | 154.3 | 19:00–21:00 | 198.23 | €0.24 |
| 2026-07-18 | 10:00–12:00 | 127.4 | 19:00–21:00 | 198.57 | €0.51 |
| 2026-07-19 | 14:00–16:00 | 82.64 | 18:00–20:00 | 193.77 | €0.92 |
| 2026-07-20 | 01:00–03:00 | 149.86 | 20:00–22:00 | 221.37 | €0.49 |
| 2026-07-21 | 04:00–06:00 | 156.2 | 19:00–21:00 | 216.46 | €0.39 |
| 2026-07-22 | 13:00–15:00 | 131.96 | 20:00–22:00 | 210.04 | €0.57 |
Local time, hourly auction means. Days where charging was negative-priced mean you were paid to fill the battery.
Do it automatically
The windows move every day — automation is the whole game. One API call returns a cost-optimal schedule your inverter or energy manager can follow, and there's a full battery simulator to backtest your exact capacity, power and cycle limits against realized prices before you trust it:
curl -X POST -H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"zone": "IT-CNOR", "capacity_kwh": 10, "max_power_kw": 5,
"round_trip_efficiency": 0.9, "max_cycles_per_day": 1}' \
https://voltcast.com/api/v1/optimize/battery
Home Assistant users get the schedule as a sensor via the integration. And because the value depends entirely on tomorrow's spread, the P10–P90 forecast — scored publicly every day — tells you whether tomorrow is worth a deep cycle at all.
Method & citation. Prices are hourly means of published day-ahead auction results (native 15-minute periods averaged; ENTSO-E/SMARD, attributed). Wholesale-price component only — grid fees and taxes come on top and vary by supplier. Cite as "Voltcast Research, voltcast.com/guides/battery-arbitrage-it-cnor-2026-07-23".
The monthly European power roundup
Negative-price records, the biggest spreads, which zones were hardest to forecast — every number computed from our production data, on the 2nd of each month. No filler, unsubscribe anytime.