Realistische Merchant-Simulation aus Solar + Batterie
Ganzjahres-Backtest · 283 simulierte Handelstage (78 wegen fehlender Daten übersprungen) · Anlage: 1.76 MWp PV + 6 MWh / 1.5 MW Batterie (4 h).
So lesen Sie diese Seite
Eine kurze Auffrischung der Begriffe, die in diesem Bericht verwendet werden.
- €/MWh
- Euro pro Megawattstunde — der Großhandelspreis für Strom. Ein Preis von 100 €/MWh bedeutet, dass ein Käufer für eine in dieser Stunde gelieferte MWh Energie €100 zahlt.
- Day-Ahead-Markt
- Die tägliche Auktion, die die stündlichen Strompreise für morgen festlegt. Das Gebotsfenster schließt etwa gegen Mittag am Tag vor der Lieferung.
- Gebot (E_bid)
- Wie viel Energie wir in einer gegebenen Stunde verbindlich ins Netz einspeisen oder aus dem Netz entnehmen wollen; festgeschrieben mit Gate-Closure. Abgerechnet zum geclearten Day-Ahead-Preis.
- Ausgleichsenergie
- Die Lücke zwischen dem, was wir in unserem Gebot zugesagt haben, und dem, was wir tatsächlich geliefert haben. Der Systembetreiber belastet (oder vergütet) diese Lücke zu einem separaten Ausgleichsenergie-Preis.
- MPC (modellprädiktive Regelung)
- Eine Regelungstechnik, bei der wir jede Stunde den Rest des Tagesplans mit den neuesten Informationen neu lösen — also dem, was gerade passiert ist, der aktualisierten Solarprognose und dem tatsächlichen Ladezustand der Batterie. So kann der Controller nachsteuern, statt den Plan von gestern blind auszuführen.
- Lineares Programm (LP)
- Der mathematische Optimierer, der Prognosen in einen konkreten stündlichen Fahrplan umsetzt: „Lade X kWh in Stunde 4, verkaufe Y kWh in Stunde 19 usw.“ Er wählt den Fahrplan, der den erwarteten Erlös unter physikalischen Grenzen maximiert.
- Ladezustand (SoC)
- Wie voll die Batterie gerade ist, als Prozentsatz der nutzbaren Kapazität.
- Orakel / perfekte Voraussicht
- Eine Referenzstrategie, die schummelt: Sie kennt bereits morgen die tatsächliche Solarleistung und die Preise. Nützlich nur als Obergrenze — das absolute Maximum, das irgendein Controller auf dieser Anlage verdienen könnte.
- Round-Trip-Wirkungsgrad
- Von jeder 1 MWh, die in die Batterie hineingeht, wie viel wieder herauskommt. Bei moderner Lithium-Ionen-Technologie typischerweise 90 %.
Was die einzelnen Strategien machen
Wir vergleichen fünf Strategien auf derselben Anlage und mit demselben Jahr an Großhandelsmarktdaten. Drei sind Basislinien, eine ist die von uns eingesetzte Hauptstrategie, eine ist die theoretische Obergrenze:
| Strategie | Was sie macht |
Nur Solar (ohne Batterie) |
Keine Batterie. Für jede Stunde des nächsten Tages wird die Solarprognose geboten. Ausführung durch Verkauf der tatsächlichen Solarleistung, solange der geclearte Day-Ahead-Preis positiv ist; bei negativem Preis wird abgeregelt. Rolle: die Untergrenze — das, was ein reiner Solarpark abschöpft. |
Top-N / Bottom-N (Heuristik) |
Operator-Heuristik, kein ML. Wähle jeden Tag die N Stunden des gestrigen Day-Ahead-Preises mit den höchsten Preisen und plane die Batterie dort zur Entladung; wähle die N günstigsten Stunden und lade dann aus dem Netz. Geboten wird die daraus resultierende Nettoeinspeisung. Rolle: das, was ein erfahrener Operator ohne Prognosen tun würde. |
Woche-zuvor-naiv (naive Prognosen) |
Dasselbe Dispatch-System wie unseres, aber mit naiven Prognosen. Ersetzt sowohl Solar- als auch Preisprognose durch die tatsächlichen Werte von 7 Tagen zuvor (gleiche Stunde). Alles andere (LP-Commitment, stündlicher MPC-Replan, Dual-Price-Abrechnung) ist identisch zu KI-Gebot & Dispatch. Rolle: isoliert den Mehrwert der ML-Modelle. |
KI-Gebot & Dispatch (unser System) |
Unser System. (a) ML-Solar- und Preisprognosen um 11:00 Uhr am Vortag → ein Linearprogramm-Optimierer wählt stündliche Gebote für den Day-Ahead-Markt. (b) Sobald der geclearte Day-Ahead-Preis veröffentlicht ist → plant der Optimierer den Dispatch mit den wahren Preisen und einer Abweichungsstrafe neu. (c) Jede Stunde während der Lieferung beobachtet der Controller den tatsächlichen Ladezustand der Batterie und aktualisiert die Solarprognose für den Rest des Tages; anschließend löst er den Dispatch neu — mit frei gehaltenem Batterieraum bei ankommendem Solarüberschuss und Entnahme aus der Batterie bei Fehlmengen. (d) Die Abrechnung nutzt die Dual-Price-Imbalance-Regel des Systembetreibers. |
Orakel (Obergrenze) |
Schummelt — perfekte Voraussicht. Löst pro Tag eine einzige Optimierung, bei der die wahre Solarleistung und die wahren Day-Ahead-Preise bereits bekannt sind. Gebot = Dispatch (also konstruktionsbedingt keine Imbalance-Strafe). Rolle: die Obergrenze — das Maximum, das ein Controller im Gottmodus auf dieser Anlage verdienen könnte. |
Wie KI-Gebot & Dispatch funktioniert
- 11:00 Uhr am Vortag: ML-Modelle prognostizieren die Solareinspeisung von morgen und die Day-Ahead-Preise von morgen. Ein linearer Optimierer macht daraus 24 stündliche Gebotsmengen für den Day-Ahead-Markt (der gegen Mittag schließt).
- Sobald der Day-Ahead-Markt gecleart ist: Die geclearten Preise werden veröffentlicht. Der Plan wird mit den nun bekannten Preisen und einer Strafe für Abweichungen vom fixierten Gebot neu gelöst.
- Jede Stunde während der Lieferung (Closed-Loop-MPC): Die Anlage beobachtet ihren tatsächlichen Ladezustand und die bisher erzeugte Solarleistung, aktualisiert die Prognose für die restlichen Stunden des Tages und löst den Dispatch neu. Hellere als erwartete Stunden reservieren freien Batterieraum, um den Überschuss aufzunehmen; dunklere als erwartete Stunden entladen die Batterie, um die Lücke zu decken. Das ist der Unterschied zwischen Open-Loop- und Closed-Loop-Ausführung, und wir quantifizieren ihn weiter unten explizit.
- Abrechnung: Der Systembetreiber wendet eine Dual-Price-Regel an. War das Netz insgesamt unterdeckt, erzielen unsere Überschüsse den Day-Ahead-Preis und unsere Fehlmengen zahlen den Ausgleichsenergie-Preis (typischerweise höher — also teuer). War das Netz insgesamt überversorgt, zahlen unsere Fehlmengen den Day-Ahead-Preis und unsere Überschüsse erhalten den Ausgleichsenergie-Preis (typischerweise niedriger — manchmal sogar negativ).
Ergebnisübersicht ↑ Höher ist besser
|
Erlös (€) |
% des Orakels |
Erlöszuwachs ggü. nur Solar |
Imbalance-Last (% des Gebotserlöses) |
| Strategie |
|
|
|
|
| Nur Solar (ohne Batterie) |
€193,015 |
66.3% |
0.0% |
13.7% |
| Top-N / Bottom-N Heuristik |
€214,642 |
73.7% |
11.2% |
48.4% |
| Woche-zuvor-naive Prognose |
€243,324 |
83.5% |
26.1% |
12.2% |
| KI-Gebot & Dispatch (unser System) |
€265,448 |
91.1% |
37.5% |
10.6% |
| Orakel (perfekte Voraussicht) |
€291,303 |
100.0% |
50.9% |
0.0% |
Erlöszuwachs ggü. nur Solar ist der prozentuale Aufschlag auf den Jahreserlös gegenüber der Ohne-Batterie-Basislinie derselben Anlage. Imbalance-Last (% des Gebotserlöses) bedeutet |Imbalance-Cashflow| / Day-Ahead-Gebotserlös. Unsere Zeile KI-Gebot & Dispatch ist hervorgehoben; die Orakel-Zeile ist die Obergrenze mit perfekter Voraussicht.
Erlös im Zeitverlauf ↑ Höher ist besser
Solarstärkste Woche — Dispatch im Detail
Wir wählen die 7-Tage-Periode mit dem höchsten Gesamt-Solarertrag, damit
das Verhalten des Controllers sichtbar wird. Balken zeigen Batterieladung
(grün, über 0) und -entladung (rosa, unter 0); das untere Panel überlagert
den Day-Ahead-Preis (lila) mit dem Ladezustand (grüne gestrichelte Linie, rechte
Achse). Grüne Ladungsbalken nachts sind beabsichtigtes Netzladen — der
Optimierer hat entschieden, dass der nächtliche Einkaufspreis relativ zu
späteren Verkaufspreisen niedrig genug ist, um einen Round-Trip nach Wirkungsgradverlusten zu rechtfertigen.
Ausgleichsenergiekosten — was wir für Fehlprognosen zahlen
Drei Faktoren bestimmen die Ausgleichsenergie-Rechnung:
- Prognosequalität. Fehler in Solar- und Preisprognose werden bei der Abrechnung direkt zu Mengenfehlern.
- Gebotsgröße. Ein Controller, der 2× mehr Volumen verbindlich zusagt, kann selbst bei besserem Betrieb einen größeren rohen Ausgleichsenergiebetrag in Euro zeigen. Der faire Vergleich ist Imbalance-Last (% des Gebotserlöses), nicht der rohe Eurobetrag allein.
- Echtzeit-Batterieanpassung. Sobald das Gebot abgegeben ist, planen wir jede Stunde neu und nutzen die Batterie, um Überschüsse aufzunehmen oder Fehlmengen zu decken. Das Diagramm unten isoliert diesen dritten Effekt, indem es dasselbe Gebot fixiert und Open-Loop (keine stündliche Korrektur) mit Closed-Loop (unserem stündlichen MPC-Replan) vergleicht.
Imbalance-Last — Anteil des bei der Abrechnung verlorenen Gebotserlöses ↓ Kleiner ist besser
Wie stark die stündliche Batteriekorrektur das feste Gebot rettet ↑ Höher ist besser
Nur Woche-zuvor-naiv und KI-Gebot & Dispatch erscheinen hier, weil das
die beiden Strategien mit stündlichem Controller sind, der ein- und ausgeschaltet werden kann.
Für jede halten wir dasselbe Gebot fix und vergleichen Open-Loop
(keine stündliche Batteriekorrektur) mit Closed-Loop (stündliche
Neuplanung mit Batteriekorrektur). Die Balken zeigen den Anteil der vermiedenen Ausgleichsenergiekosten
durch den stündlichen Controller. Ein höherer Prozentsatz bedeutet, dass die Batterie
mehr Ausgleichsarbeit leisten musste, weil die Prognose mehr Fehler hinterließ, die korrigiert werden mussten.
MPC in Aktion — schließt die Lücke Stunde für Stunde
Für die solarstärkste Woche: Cyanpunkte sind das verbindlich abgegebene Gebot E_bid
um 12:00 Uhr am Vortag; rote Punkte sind das realisierte E_inject aus
Closed-Loop-MPC; graue Striche sind das Open-Loop-Gegenfaktum (ohne MPC). Die
unteren Balken zeigen das stündliche Δ (grün = Übererfüllung, rosa = Untererfüllung).
Beobachten Sie, wie die rote Linie zum cyanfarbenen Gebot zurückspringt, selbst wenn die graue Linie abdriftet
— das ist das stündliche Entladen der Batterie durch den MPC, um Fehlmengen zu decken oder
Platz für ankommende Überschüsse zu schaffen.
Hinweise zur Methodik
- Anlagenwahrheit: eine reale Forschungsanlage mit einachsigem Tracker (~15 kW AC), auf Stundenwerte resampelt und für eine Demo in kommerziellem Maßstab mit dem Faktor ×100 skaliert.
- Solarprognose: unser gradientengeboostetes, prognosegetriebenes Hybridmodell mit öffentlichen ECMWF-IFS-Wetterinputs (Horizont k = 1..24).
- Preisprognose: unsere gradientengeboostete Zwei-Block-Architektur, bewertet unter 6-facher rollierender Kreuzvalidierung. Schlägt die naive Sieben-Tage-Basislinie beim RMSE um rund 25 %.
- Volatilitäts-Rekalibrierung: eine Ein-Parameter-Streckung der Preisprognose jedes Tages um ihren Mittelwert (α = 1.27), um die natürliche Mittelwert-Rückkehr von Fehlerquadratsmodellen auf Preisdaten zu kompensieren (sonst schrumpfen sie die Tagespreisspreizung um etwa 21 %).
- Imbalance-Abrechnung: die Standard-Dual-Price-Regel des Systembetreibers, angewendet mit den tatsächlich veröffentlichten Imbalance-Preisen in stündlicher Auflösung.
- LP-Solver: SciPy
linprog (HiGHS) mit Entscheidungsvariablen je Planungshorizont. Batterie: Round-Trip-Lade-/Entladewirkungsgrad von jeweils 95 %, Ladezustand beschränkt auf [5 %, 95 %].
- Abweichungsstrafe: 20 €/MWh von |E_inject - E_bid| innerhalb des Planungs-LP (geht nicht direkt in die Abrechnung ein — der tatsächliche Cashflow nutzt die Dual-Price-Regel).