## Energy Markets Temporal Arbitrage with Batteries

### TL;DR:
Now that batteries have gotten so cheap (approx 50-100€/kWh), it seems surprising that there is so much temporal price discrepancy to buy energy at low prices and sell/use energy at higher prices. In Ireland, the arbitrage opportunity per year seems to be on the order of ~45€/kWh per year on day-ahead wholesale markets, possibly more on balancing markets, and ~62€/kWh for households.

The main factors seem to be:
- Costs for connecting batteries (hybrid inverters, battery management systems, etc..) seem to add up to more than the cost of the batteries now in most cases
- It takes a while for the market to update.
  - For the wholesale market: Installing GWh scale battery storage locations takes a lot of time to provision
  - For households: pre-packaged solutions seem to be much more expensive than what one could do DIY, leading to much slower payback times

While the naive ROI seems to be within 2 years, equipment and other costs increase the payback period to more like 3-7 years. Overall, it seems like while there is some investigation and investment in this space, it does not seem to be matching the potential demand, with a possible main factor that may lower longer-term profitability being that there will be an interlink built between Ireland and France in 2026, which will likely reduce the price volatility somewhat.

### Battery Cell Costs
Battery manufacturing capacity has gone up a lot, and prices have come down. In 2010, prices were around 1191$/kWh, dropping to 384 $/kWh in 2015, and 137 $/kWh in 2020 (according to Statista). However, prices have continued to drop, and prices can be as low as 53 per kilowatt-hour (Fanatical Futurist). China's overall battery manufacturing capacity has exploded and is reported to exceed demand by more than double.

As a starting point, we need some examples of how much batteries **actually** cost. I try find some examples online. I **do not endorse** any of these sellers, and have never bought batteries from any of them, but I find typical discussion using "online approximate figures" as not being sufficiently concrete.

Anyway, these are some examples of Chinese and EU battery suppliers, mostly reselling from Chinese manufacturers:

#### Chinese-based sellers, often no label
Most of these don't include VAT or shipping.

| Chinese Supplier | Cell Type | Cost per cell | €/kWh | Notes |
| --- | --- | --- | --- | --- |
|  | 280Ah (3.2V) = 0.896kWh | $79-$86 | €84-€91 | sold as Grade B, 6500 cycles |
|  | 280Ah (3.2V) = 0.896kWh | $66-$74 | €67-€78 | sold as Grade B, 8000 cycles |
|  | 320Ah (3.2V) | €83.00 | €81 | Sold as Grade A, 8000 cycles, EU stock with VAT included |
|  | 280Ah (3.2V) = 0.896kWh | $85-$90 | €90-€95 | sold as "Grade A", but may be grade B |
|  | EVE 304Ah (3.2V) = 0.972kWh | $56-$61 | €55-€59 | sold as "Grade A", but may be grade B |

#### EU/UK Resellers, with battery brand name attached
I think most of these include VAT, and are mostly EU/UK stock (there may be proxy buyers but it's hard to check).

| EU Supplier | Cell Type | Cost per cell | €/kWh | Notes |
| --- | --- | --- | --- | --- |
|  | EVE 280Ah (3.2V) = 0.896kWh | €1024 per 16 | €72 | Sold as Grade A, 8000 cycles, EU store |
|  | EVE 280Ah (3.2V) = 0.896kWh | £65 | €82 | Grade A cells; UK stock |
|  | Envision 280Ah (3.2V) = 0.896kWh | £55 | €69 | Grade B cells; UK stock |
|  | Envision 280Ah (3.2V) = 0.896kWh | €53-€57 | €59-€63 | Grade A cells; EU stock incl VAT; 6000 cycles; actual capacity ~305Ah |
|  | EVE MB31 314Ah (3.2V) = 1.005kWh | €66.07-€85.95 | €65.74-€85.52 | Grade A cells; EU stock incl VAT; 8000 cycles |
|  | Winston 300Ah (3.2V) = 0.96kWh | €370.00 | €383.33 | LiFeYPO4. Not sure why they are so expensive. |

I don't know if all of these are legit, but a quick check on  seems to suggest that at least most of the european ones are. As a conservative estimate, I will use the pricing of ~79€/kWh, though there do seem to be prices as low as ~50€/kwh.

### Wholesale energy market temporal arbitrage
The wholesale energy markets work on multiple timescales, with various contracts for price vs timescale. In Ireland, one can view historic day-ahead hourly prices, or the intraday market. and I use this to get some approximate estimates for potential profitability.

#### How Wholesale Energy Markets Function in Ireland
Ireland's electricity market operates through four sequential trading timeframes: (1) Day-Ahead Market at 11:00 AM plans the next day's generation; (2) Intraday Auctions at 3 PM, 7 PM, and 10 PM allow position adjustments; (3) Continuous Trading continues until one hour before delivery; and (4) Balancing Market resolves final imbalances in real-time, with the highest price volatility and arbitrage opportunities.

Ireland operates its electricity market through the Integrated Single Electricity Market framework since 2018, same as most of Europe. Like most modern electricity markets, it features multiple trading timeframes that create opportunities for arbitrage. Most prices here are shown in MWh, but later on I switch to using kWh since it is easier to compare with battery prices.

The general analysis probably somewhat holds to other markets, there are some feature of the Irish market that may lead to higher price volatility. Its has a lot of wind generation (35% of total electricity production) creates predictable daily patterns but also significant volatility. Typically, prices reach their lowest points overnight (midnight to 5AM) when demand is minimal and wind often plentiful. Evening peaks (5PM to 8PM) generally command the highest prices, creating a reliable daily spread of €35-65/MWh that storage operators can exploit.

Ireland's somewhat isolated grid (connected to Great Britain, and this indirectly but not directly to continental Europe) also contributes to price volatility. While a new interconnector to France is planned for 2026, the current limited connections mean that surplus renewable energy cannot always be easily exported, occasionally resulting in negative prices during particularly windy, low-demand periods. Conversely, during calm weather, the system may rely on expensive gas-fired generation, pushing prices substantially higher.

#### The Bidding Process Explained
The **Day-Ahead Market** serves as the foundation of electricity trading, where most power is bought and sold for the following day. Each morning, generators submit offers indicating how much electricity they can produce and at what price, while large consumers and suppliers submit bids for their expected needs. A sophisticated algorithm matches these bids and offers to establish hourly prices for the next day, typically published by early afternoon. This market handles most electricity transactions, setting the baseline for energy costs.

The Day-Ahead Market uses a sealed-bid auction system with specific timing requirements. By 11:00 AM each day, all participants must submit their bids and offers for each hour of the following day (24 separate auctions effectively run simultaneously). Generators typically offer multiple price-quantity pairs – for example, offering 50MW at €60/MWh, another 30MW at €75/MWh, and so on, reflecting their increasing marginal costs as they ramp up production.

The auction follows a "uniform pricing" model, meaning all successful bidders receive the same market clearing price regardless of their original bids. This clearing price is determined by the most expensive generator needed to meet demand (the "marginal unit"). For example, if demand requires 1000MW of generation, and the 1000th MW comes from a generator that bid €85/MWh, then all successful generators receive this €85/MWh price – even those who bid much lower.

For the day-ahead market, I do some very simple analysis assuming perfect information.

#### Intraday Auctions
After the day-ahead market closes, three sequential **Intraday Auctions** provide opportunities to adjust positions as forecasts improve:
- **IDA1** occurs at 15:00 (3 PM) on the day before delivery, coupled with Great Britain
- **IDA2** follows at 19:00 (7 PM), still coupled with Great Britain
- **IDA3** closes at 22:00 (10 PM), focusing purely on the Irish market

These structured auctions allow participants to refine their positions as weather forecasts (particularly important for wind generation) become more accurate closer to delivery time. I considered doing some analysis here, but the data (at least for IDA1) was mostly similar to the day-ahead market so I didn't bother.

#### Continuous Intraday Market
Between the final intraday auction and one hour before delivery, the **Continuous Intraday Market** operates similar to a stock exchange. Participants can post buy or sell orders at any time, which are matched when compatible counterparties are found. These trades occur on a "pay-as-bid" basis, meaning each transaction settles at the price specified in the order rather than a uniform market price. I tried to do some analysis here, but the low liquidity sporadic data meant that it would likely work better with a more sophisticated model that incorporates all the data.

#### Balancing Market
Finally, the **Balancing Market** operates from one hour before delivery through real-time operation. Ireland's grid operator (EirGrid) takes active control to resolve any remaining imbalances between generation and consumption. There are also price caps in this market, reaching €4,000/MWh under normal conditions and can spike to €10,000/MWh during scarcity events – creating the most extreme price volatility in the entire electricity market sequence.

My understanding is that the balancing market is the most profitable market for batteries, as prices can swing dramatically within minutes based on unexpected generation shortfalls or surpluses. Batteries' ability to respond within seconds makes them ideal for capturing these high-value periods, with price spreads of several hundred euros per MWh possible within a single hour. I would have liked to do some analysis here, but I couldn't find the data.

#### Day-Ahead Market Arbitrage Analysis


As a starting point, we can try the simplistic example, where we ignore all other constraints, and can buy 0.5 units during the cheapest times and can sell 0.5 units during the most expensive times. This first simplistic analysis doesn't actually check time things are in the right order, but we can get a brief approximation for how prices are distributed and how much profit potential there is, and how much it has changed over the years.



| Year | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Profit (€/kWh) | 7.34 | 18.66 | 17.46 | 41.03 | 56.02 | 31.67 | 35.07 |
| 
### Best option: Yuno Energy (23.96c/kWh)

- Energy cost: 4,200 kWh × €0.2396 = €1,006.32
- Standing charge: €0.60 × 365 = €219.22
- Annual cost: €1,006.32 + €219.22 = €1,225.54
- Best option: Yuno Energy (23.96c/kWh)

- Energy cost: 4,200 kWh × €0.2361 = €991.62
- Standing charge: €0.65 × 365 = €236.62
- Annual cost: €991.62 + €236.62 = €1,228.24

### Super Off-Peak EV Usage (Generic Equipment Compatible) (4,200 kWh/year)
| Rank | Provider | Rate (c/kWh) | Hours | Standing Charge (€/day) | Standing Charge (€/year) | Energy Cost (€/year) | Total Annual Cost (€) | Effective Rate (c/kWh) |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | Pinergy | 5.45 | 2AM-5AM | 0.78 | 283.47 | 228.90 | 512.37 | 12.2 |
| 3 | Energia | 8.87 | 2AM-6AM | 0.65 | 236.62 | 372.54 | 609.16 | 14.5 |
| 4 | SSE Airtricity | 8.58 | 2AM-5AM | 0.84 | 305.72 | 360.36 | 666.08 | 15.9 |
| 5 | Bord Gáis | 9.31 | 2AM-5AM | 0.82 | 298.64 | 391.02 | 689.66 | 16.4 |
| Best option: Pinergy (5.45c/kWh)

- Energy cost: 4,200 kWh × €0.0545 = €228.90
- Standing charge: €0.78 × 365 = €283.47
- Annual cost: €228.90 + €283.47 = €512.37

### Best option: Energia (8.87c/kWh)

- Energy cost: 4,200 kWh × €0.0887 = €372.54
- Standing charge: €0.65 × 365 = €236.62
- Annual cost: €372.54 + €236.62 = €609.16

### Arbitrage Rate Analysis
| Pure Rate Differentials | 18.16c/kWh | 17.46c/kWh | 17.46c/kWh |
| --- | --- | --- | --- |
| If you utilize the best day-only plan (Energia at 23.61c/kWh) and the best super off-peak plan (Pinergy at 5.45c/kWh), you create a difference of 18.16c/kWh. This 18.16c/kWh differential, if utilized across 4,200 kWh/year, would yield €762.72/year (4,200 kWh × 18.16c). If only using the second-best plan (SSE Airtricity at 8.58c/kWh), the differential is 15.03c/kWh, which would still yield €631.26/year (4,200 kWh × 15.03c). |
| 

### How much does it cost to get Batteries?

| System (Incl inverter purchase) | Total Cost | Cost/kWh | Payback (12kWh/day) |
| --- | --- | --- | --- |
| Raw cells only | €2,400 | €160/kWh | 3.2 years |
| DIY Battery Packs | €3,200 | €213/kWh | 4.3 years |
| Pre-built Packs | €4,800 | €320/kWh | 6.4 years |

### Implementation Options (15kWh system)
| System (Inverter not needed) | Total Cost | Cost/kWh | Payback (12kWh/day) |
| --- | --- | --- | --- |
| Raw cells only | €1,200 | €80/kWh | 1.6 years |
| DIY Battery Packs | €2,000 | €133/kWh | 2.7 years |
| Pre-built Packs | €3,600 | €240/kWh | 4.8 years |
| Best option: Pinergy (5.45c/kWh)

- Energy cost: 4,200 kWh × €0.0545 = €228.90
- Standing charge: €0.78 × 365 = €283.47
- Annual cost: €228.90 + €283.47 = €512.37 |
| Best option: Energia (8.87c/kWh)

- Energy cost: 4,200 kWh × €0.0887 = €372.54
- Standing charge: €0.65 × 365 = €236.62
- Annual cost: €372.54 + €236.62 = €609.16 |
| 

### Payback periods

| System (Incl inverter purchase) | Total Cost | Cost/kWh | Payback (12kWh/day) |
| --- | --- | --- | --- |
| Raw cells only | €2,400 | €160/kWh | 3.2 years |
| DIY Battery Packs | €3,200 | €213/kWh | 4.3 years |
| Pre-built Packs | €4,800 | €320/kWh | 6.4 years |
| Best option: Pinergy (5.45c/kWh)

- Energy cost: 4,200 kWh × €0.0545 = €228.90
- Standing charge: €0.78 × 365 = €283.47
- Payback (12kWh/day): 3.2 years |
| Best option: Energia (8.87c/kWh)

- Energy cost: 4,200 kWh × €0.0887 = €372.54
- Standing charge: €0.65 × 365 = €236.62
- Payback (12kWh/day): 4.3 years |
| Best option: SSE Airtricity (8.58c/kWh)

- Energy cost: 4,200 kWh × €0.0858 = €345.68
- Standing charge: €0.84 × 365 = €295.37
- Payback (12kWh/day): 4.8 years |

### Conclusions
I'm pretty surprised. Battery cells have gotten really cheap (€79/kWh is like a medium price), yet there's still a ton of untapped arbitrage potential in both wholesale and residential markets.

Here's what seems to be going on:
1. **Wholesale markets** show potential returns of ~€45/kWh per year just on day-ahead markets (probably more on balancing markets, but I couldn't find good data). With grid-scale installation costs around €150/kWh, we're looking at ~5 year paybacks. That's... actually quite good? But there are caveats with regards to how much capacity could be installed, and how connection to the french grid might affect things.
2. **Household economics** look even better in some ways - time-of-use arbitrage potential is about €62/kWh per year, with night/day rate differentials around 17c/kWh. Yet most people aren't rushing to install batteries. Possibly because the maximum ROI is capped quite low, being around ~€60/month, though people do often install solar panels and such.
3. **Payback periods** vary wildly depending on how you implement things - from under 3 years to ~6.5 years (for commercial plug-and-play solutions). I probably am missing something for the commercial cost of installation, it still seems quite viable.
So it seems like there is a lot of room for arbitrage, but it is mostly not being exploited. I think what we're seeing is a market in transition. Battery tech has moved faster than the ecosystem around it, creating this weird gap where the economics should work but the implementation is still catching up. It is possible there are other factors I have missed.
```