Mitä tapahtui Nordpool sähkömarkkinalla 24.11.2023?

Osma Ahvenlampi
6 min readNov 24, 2023

(Olen päivittänyt tätä kirjoitusta saamani palautteen ja kysymysten perusteella jatkolla artikkelin lopussa)

Olen tänään tarkastellut, miten eilisestä saakka otsikoita hallinnut sähköpörssin hintahäiriö oikein pääsi tapahtumaan. Nordpool ja Fingrid ovat lehdistöön kertoneet vian johtuneen norjalaisen (amerikkalaisomisteisen) Kinect Energyn virheellisestä, keskimäärin 5 787 megawatin tarjouksesta koko päivälle. Mahdollisesti näin, mutta kyseessä ei voi olla koko totuus.

Sähkömarkkinan data on kaikeksi onneksi avoimesti tarkasteltavissa, pois lukien varsinaiset next day- ja intraday-tarjoukset. Tuosta tiedosta on laskettavissa, että Kinect Energyn raportoitu tarjous kattoi next day-markkinan ostotarjouksista 66–80% prosenttia päivän läpi.

Next day-markkinan toimintaperiaate on, että kaiken sillä yhden tunnin ajan myydyn sähkön hinnaksi muodostuu kallein tarjous, jolla kysyntä ja tarjonta saadaan kohtaamaan. Halvemman tarjouksen tehnyt siis saa saman hinnan kuin kalliimpikin hyväksytty, mutta pääsee ensin myymään sähkönsä. Liian kalliin tarjouksen antanut taas ei saa mitään kaupaksi.

Markkinalta olisi siis pitänyt löytyä Kinect Energyn lisäksi myös 20–34% muiden osapuolten myymää sähköä, ja perjantai-aamupäivän ajaksi löytyikin. Kun kysyntäkäyrä alkoi tyypilliseen tapaansa nousta kello 6 alkaen, hinnaksi muodostui 16.09 €/MWh (1.6 c/kWh) ja tuo hinta nousi 21.64 €/MWh tasolle klo 10–11 välille ollen vielä klo 11–12 tasan 21.00 €/MWh.

Nordpool FI spot-markkinan hinta ja tarjousten kokonaisenergian määrä tunneittain, 24.11.2023

Sitten tapahtui jotain kummallista. Hinta romahtaa 12–13 nollaan, 13–14 -10 €/MWh ja lopulta -500 €/MWH (-50 c/kWh) alkaen kello 15 pysyen tuossa arvossa koko loppupäivän. Mutta kysynnän kohtaamiseksi markkinalta olisi pitänyt ottaa vähintään 20% muita tarjouksia Kinect Energyn virheeellisen tarjouksen lisäksi. Eivät muut toimijat ole, ainakaan raportoidusti, tehneet yhtä virheellisiä tarjouksia. Mitä sitten tapahtui?

Johtolanka löytyy markkinan julkaisemista tuntikohtaisista hinnan määräytymiskuvaajista. Näissä kuvissa hinnaksi muodostuu se kohta, missä kysyntä- ja tarjontakäyrät kohtaavat. X-akselilla on kaupan olleen energian kokonaismäärä, Y-akselilla se hinta, millä energia myydään (ostetaan). Otetaan esimerkiksi kuva kello 6–7 välisestä kaupasta, mikä on varsin helposti luettavissa.

Nordpool FI next-day tarjouskäyrä perjantaille 24.11.2023 klo 6–7

Ostotarjoukset alkavat vähinään n. 9300 MWh määrästä hintaan 4000 €/MWh, hinnan tippuessa nopasti kohti Y-akselin nollakohtaa. Myyntitarjoukset ostokäyrä kohtaa n. 9800 MWh tasolla, ja vaikka kuvaajan Y-akselin tarkkuus ei mahdollista asian kuvasta lukemista, Nordpool julkaisemasta numeerisesta datasta tiedämme, että hinnaksi muodostu 16.09 €/MWh.

Mutta mitä sitten tapahtuu iltapäivän aikana? Otetaanpa aikasarja neljästä perättäisestä tunnista välillä 13–17:

Nordpool FI next-day tarjouskäyrät perjantaille 24.11.2023 klo 13–17

Käyristä on nähtävissä, kuinka ostotarjouskäyrien muoto säilyy jokseenkin samanlaisena, mutta myyntitarjoukset alkavat yhä korkeammasta pohjatasosta, minkä alle markkina olettaa sähköä olevan tarjolla täysin riippumatta sen hinnasta. Kuten koko päivän, myyntikäyrät alkavat -500 €/MWh tasolta, mutta toisin kuin lehdistöön annetuista kommenteista olisi voinut päätellä, tuo tarjous on paljon yli 5787 MW: päivän alussa negatiiviseen hintaan oli laskentaan kirjautunut 8200 MW tehosta tuotantoa ja kello 16 alkaen sitä oli jo 12800 MW tehon verran.

Kello 15 alkaen kysyntä- ja tarjontakäyrät eivät myöskään enää kohtaa lainkaan. Viimeistään tässä vaiheessa olisi pörssi- tai huutokauppa-algoritmin pitänyt nostaa kädet pystyyn ja hälyttää, ettei hintaa saada muodostettua. Sen sijaan se määrittelikin hinnaksi -500 €/MWh, vaikka tuohon hintaa ei ollut olemassa vastaavaa määrää tarjouksia.

Lyhyesti: saatavilla olevan datan varassa täytyy tehdä päätelmä, että todellinen markkinavirhe on tapahtunut Nordpoolin next day huutokauppa-algoritmissa, minkä testitapausten olisi pitänyt kattaa myös tämänkaltainen tilanne. Virhe on päässyt valumaan markkinoille saakka ilmeisesti yhden tarjoaja-tahon oman virheen vuoksi, mutta markkinapaikan olisi se pitänyt omilla suojausmenetelmillään estää.

Päivitys kello 15:30

Markkina on ollut -500 €/MWh (eli verollisin kuluttajahinnoin -62 c/kWh) tasolla nyt puoli tuntia. Tilanne verkossa on sen verran kehittynyt, että kulutuskysyntää on jo 1 GW enemmän kuin aamupäiväinen kysyntäennuste tälle tunnille ennakoi. Markkinoiden hintajoustoa edes auttavasti tuntevalle tämä ei liene minkäänlainen yllätys. 1 GW on enemmän kuin mikään suomalainen ydinreaktori ennen OL3:a. Tuulivoimakapasiteettia Suomessa olisi tuo vaje paikkaamaan — mutta tänään ei ole yhtä tuulinen päivä, kuin toissapäivä oli. On täysin mahdollista, jopa todennäköistä, että tänään tehdään sähkön kulutuksen Suomen ennätys. Tehdäänkö se Kinect Energyn, Nordpoolin vain suomalaisen veronmaksajan piikkiin, sitä saamme vielä jännittää.

Ps. 15:50: minulta kysyttiin, eikö tuulikapasiteetti selitä markkinan pohjaa? Ymmärtääkseni ei. Pari syytä, miksi ei: tuulivoimakapasiteettia on Suomessa reilu 5 GW (ei siis riittävästi paikkaamaan Kinectin raportoidun tarjouksen ja tarjouskäyrän alun erotusta), eivätkä tuulivoimayhtiötkään ilmaiseksi, saati sitten negatiivisella hinnalla kapasiteettiaan tarjoa, sillä tuuliturbiini on halpaa kytkeä irti verkosta. Negatiivisia tarjouksia tekevät vain sellaiset tahot, joille voimalan irtikytkentä tai sammuttaminen olisi kalliimpaa kuin tuotetun sähkön käytöstä maksaminen.

Päivitys 16:30

Palasin katsomaan tämän päivän next-day hinnoittelun ratkaisun, minkä hintakäyrät on nyt julkaistu. Tietääkseni Nordpoolin saitilta ei löydy arkistoa edellispäivien hintakäyristä — toivottavasti jollain niistä kuitenkin arkisto on (ja kertokaa minullekin, jos tiedätte sellaisesta!).

Nordpool FI next-day tarjouskäyrä lauantaille 25.11.2023 klo 6–7

Nämä huomiset käyrät näyttävät pääpiirteittäin samankaltaisilta kuin edellisessäkin versiossa, mukaanlukien se, että tarjontakäyrän alusta löytyy n. 6.1 GW tasolle saakka negatiivisella hinnalla tarjottua sähköä. Olennainen ero kuitenkin löytyy siitä, että joka tunnilla tarjontakäyrä alkaa samasta 6 GW kohdasta, kun eilen julkaistussa versiossa käyrän alku siirtyi päivän myötä yhä suurempiin teholukuihin.

Mikäli vika todella oli Kinectin, silloin he eivät tehneet markkinalle joka tunnille 5.8 GW tehotarjousta, vaan vuorokauden alussa n. 3 GW tehon, mikä kasvoi tunti tunnilta noin 250 MW tunnissa päätyen n. 9 GW tasolle. Silloin heidän vuorokausikeskiarvonsa olisi ollut tuo mainittu 5.8 GW ja Nordpoolin tarjousten tehokäyrän siirtymä olisi jotenkin selitettävissä.

Se ei kuitenkaan selittäisi, miksi Nordpool hyväksyi kello 14 alkaen 0-tason hinnan ja kello 15 alkaen oman -500 €/MWh hintalattiansa validina tarjouksena, sillä, kuten ylempänä nähtävistä kuvista on todettavissa, tarjouskäyrät eivät kohdanneet toisiaan ja algoritmi ei todellisuudessa voinut hintaa määrittää.

Su 26.11. Hinnanmuodostuksen suunniteltu toimintatapa

Sain lukijalta viittauksen Nordpoolin saitilla olevaan erilliseen dokumenttiin, missä kuvataan algoritmin toimintaperiaate juuri torstaisessa (perjantain hintaan vaikuttaneen) tilanteessa.

Nordpool: Curtailment, price thresholds and decoupling

Dokumentti on varsin lyhyt, eikä varsinaisesti selitä, miksi tarjousten hintakäyrät eivät toisiaan kohtaisi, vaan toteaa vain: “This may be the case in an area where there is significant over supply or under supply (this kind of situation is rather rare).”

Torstain tarjouksissa ei kylläkään ollut tälläistä “significant over or under supply” tilannetta. Julkisuuteen Nordpool kommentoi Kinect Energyn tarjouksen olleen “keskimäärin 5 787 MW”, mikä toki on suuri potti, mutta kuitenkin vain n. 50–75% markkinan kokonaiskysynnästä, eikä yksinään riittäisi käyrien eroamiseen toteutuneella tavalla. Kuten aiemmassa päivityksessäni arvailin, mikäli tarjous todellisuudessa ei ollut kuvatun kaltainen vaan vuorokauden kuluessa yhä suurempiin teholukuihin, lopulta yli 12 GW tasolle noussut, se olisi kysynnän voinut ylittää. Mutta.

Tuskin on Kinect Energykään tehnyt ennätysnegatiivista, markkinan hinta-alarajan alittavaa tarjousta noilla tehomäärillä, ja vaikka olisi, sellainen tarjous olisi tottakai pitänyt markkinapaikan hylätä sen sääntöjä rikkovana ja markkinan toimivuuden riskeeraavana. Todennäköisempää on, että markkina sallii tehon tuotanto- ja kysyntätarjouksen myös “kelluvaan markkinahintaan”, eli “myyn/ostan xx MW siihen hintaan, mihin joku sen määrän ostaa/myy”. On Nordpoolin valinta, että tuossa tilanteessa hinnaksi on määritelty (tuottajalle) -500 €/MWh ja (kuluttajalle) 4000 €/MWh. Yhtä lailla näiden tarjousten hinnan olisi voinut asettaa muiden tarjousten perusteella joko osto- tai myyntilaidan rajahintaan. Mikäli markkina näin tekisi, hintakäyrät eivät koskaan pääsisi tapahtuneella (ja Nordpoolilta nyt löytyneen dokumentin tavalla) eroamaan toisistaan.

Koska tarjoustiedosta ei ole saatavissa (tai ainakaan en itse sitä ole löytänyt) edes anonymisoitua tarjouskohtaista numerotietoa, vaan jo hinnaltaan järjestetyt graafiset kuvaajat joiden skaala kattaa 4500 €/MWh erotuksen, jää tarkastelijalle epäselväksi, minkä muotoisia ovat ne tarjoukset, missä hintatieto on lähellä rajahintoja. Kalleimmassa päässään kuvaajat noudattavat melko hyvin hinnanmuodostuksen teoriaa vastaavan logaritmisen muodon, kuten tekevät myös (tarkasteluresoluution rajoissa) nollaa lähestyessä. Sen sijaan negatiivisissa hinnoissa olevat tarjoukset ovat hyvin erikoisia. On ymmärrettävää, että ostopuolelta löytyy pieni marginaali (teollisia?) kuluttajia, joille kelpaa marginaaliin jäävä ilmainen tai miinushintainen energia. Samoin on arvattavissa, että joillekin tuottajille on halvempaa tarjota osa tuotannostaan vaikka sen vastaanottajalle maksaen, kuin sammuttaa voimalaitos lyhytaikaisesti. Sen sijaan se, että tälläistä kapasiteettia olisi tarjolla läpi vuorokauden gigawattitolkulla, ei ole sen enempää markkinan kuin tuottajien logiikan mukaista.

--

--

Osma Ahvenlampi

Agile business leader, growth and product lead for number of startups, founder at @Metrify. My social address is @osma@mas.to.