Navigation Panel

Pokazywanie postów oznaczonych etykietą HPFC. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą HPFC. Pokaż wszystkie posty

How to Quote Business for Electricity? - Price Structure


Hourly Price Forward Curve (HPFC) is used – among others – to determine the actual energy portfolio value. It is also necessary – as I wrote in the previous article – to perform a valuation of the client’s profile. How is HPFC calculated then? This article is about one of the algorithms, the algebraic method.

What is HPFC exactly? It is the series of the energy prices, ordered in the given date range. For example, for the year 2020, it would be 8784 values. HPFC is determined most frequently based on the hourly spot market prices. In such a case it is a price forecast that is expected to observe on the spot market, having taken into consideration both past spot prices and the actual forward product prices. Such a forecast (or projection) should equally respect:

1) the observed cycles, that is yearly, weekly and daily ones,
2) the calendar, that is, on average, lower prices for bank holidays and for the adjacent days,
3) the current price levels of the forward products (no-arbitrage condition),
4) the changes in structure resulting from the instantly increasing share of the generation of the renewable sources.

The two first points and the last one have an influence on the shape of the price curve, while the third one impacts the expected price level of the projection. In this article, I will concentrate on the first three points.


Curve Shape

How to determine the hourly price forward structure in order to reflect the cycles and the calendar? We need the historical hourly spot prices for that. The longer the forecast period, the longer the observed hourly spot prices is needed. Generally, the following rule of thumb is applied: the period of the observed data should be at least two times longer than the forecast period. Let us assume that we intend to make a price projection for years 2020-2021. The observed hourly data could be then taken e.g. from years 2015-2019.

Averaging by Years
The graph below simplistically presents the observed prices in the form of the three-dimensional matrix for years 2015-2019, for 52 weeks of the year and for 9 day types (Mo – Monday, Tu-Th – “Tuesday-Thursday”, that is either Tuesday or Wednesday or Thursday, Fr – Friday, Sa – Saturday, Su – Sunday, Ho – a bank holiday, Be – day before a holiday, Af – day after a holiday, Br – bridge day, that is a day between two holidays, e.g. in Poland 2nd May, or a day between a holiday and either Saturday or Sunday, e.g. in Poland Friday after Corpus Christi). Naturally, the other day-type-divisions are possible. The hour dimension is “reduced”, that is each point of this three-dimensional space contains 24 price values corresponding to 24 day hours. For simplicity, in case of the spring clock shift, the value for the missing hour may be replaced by the average of the value before and after the clock shift, and in case of the autumn clock shift, the value coming from the additional hour may be averaged with the value from the hour immediately before the clock shift.

For simplicity, I marked only five points in the form of spheres on the graph – each of them reflects the weight I assign to the price observations in each year. Thus, the older the observation, the smaller the weight is. In total there should be 2 340 points = 5 years x 52 weeks x 9 types of day. This, however, will not be true, that is not all places (points) in the matrix will be filled up due to the moving bank holidays which may fall in various weeks of a year. In any case, it considers not only the bank holidays themselves but also the days adjacent to them. Instead of dividing a year into 52 weeks one can use the division into 12 months, but this will not solve the problem – for example, Easter may fall either in March or in April. How it can be maintained – I wrote in the following section. In case of the week-granulation, the sporadically encountered 53rd week may be appended either to 1st or to 52nd week.

Essentially, the algorithm of the price structure determination for the future years (for now, without level adjustment) comes down to rewriting of the averaged values from the past years for any given week of the year (or month) and for any given day type. Let us note that we do not need the year dimension when determining the price projection for the future period. Namely, when we are to determine the day prices e.g. for the 1st January 2020, we just need the averaged prices for a holiday (Ho) falling on the first week (or month) of a year. In consequence, the three-dimensional matrix may be flattened, leaving only two of its dimensions, that is the week (or month) dimension and the day-type one. When averaging by years, the weights assigned to each year should be applied.

Averaging by Weeks
As a result of flattening described in the above section, we will get the two-dimensional matrix with 468 elements = 52 weeks x 9 types of day. Basically, each element should contain 24 values, each of them being averaged by years and by day types (e.g. for ‘Tuesday-Thursday’ in a week without a holiday we expect 3 such days, and in Poland, for example, in the first week of year there are two bank holidays – New Year’s Day and Epiphany).
Not all 468 points will be filled up with values then. Additionally, some of them may contain outliers, which, most probably, will not be observed in the same week for the same day type in the future. Fortunately, the moving averaging of adjacent weeks (months) may come forward. Each point, that is each set of 24 values may be averaged by using appropriate week (or month) weights from the adjacent points. It is natural to assign the biggest weight to the central node and the smaller weights to the adjacent nodes, respectively. On the above graph, I marked them for the one chosen element, that is for the day type “Ho” (bank holiday) that falls on the 30th week of a year. Thus, the resulting values for the 30th week are the result of the averaging of weeks (nodes) from 27 to 33. The diameters of the points reflect the weights attributed to the respective weeks.

On the data edges, that is in the vicinity of 1st and 52nd week of a year, one can use the elements from the end or from the beginning of a year, respectively. If the above algorithm does not ensure that all matrix elements are populated, the missing data may be estimated based on the other day types, for example, one can assume values from Sundays for bank holidays, and for the holiday-adjacent days the values from typical days that are neither Saturday nor Sunday can be used as proxies. The same procedure can be applied in the case, when we require an element (node) contains the averaged data based on minimum, say, 3 observations, and if this condition is not fulfilled. In other words, we state that 3 observations are not enough to be representative for making a forecast. In such a case we can replace the missing data with the data coming from the point (node) with the closest characteristics.

As a result of the above calculations, we will receive a “cast” which can be applied to each day of the forecast period. After determining the day type and the week (month) number, we have 24 price values that are the result of the year and day-types averaging for the previous observations.

The graph below presents the price projection for years 2020-2021, yet before bringing it to the level of standard products that are actually observed on the forward market. It is worth noting the year cycle that is the similarity of the curve shape between the year 2020 and the year 2021.
After proper scaling of the graph (2nd and 3rd week of 2020), one can observe the week cycle as well. Note, that 6th January 2020 (a bank holiday falling on Monday) has significantly lower price level than the price level from the next Monday on 13th January 2020.
To present the day cycle I chose 13th and 14th January 2020:
Summing up, the resulting price structure (or its shape) fulfils all conditions imposed at the beginning that is it reflects both the calendar and the observed cycles on the energy market.

Price Level

The price structure projection calculated in a way presented above does not reflect the price levels of the forward products, which is schematically presented on the graph below (the projection level is too low due to the dramatic increase of the prices over the current year):
The orange lines represent the price levels resulting from the quotes of the forward products in the middle of September 2019. At this time, the following forward contracts existed on the Polish market:
  • quarter 1 of the year 2020,
  • the year 2020,
  • the year 2021.
For simplicity, I assumed that only base products exist, that is I skipped peak ones. The price in quarters 2-4 in the year 2020 has been calculated in such a way to give the overall price in 2020 along with the price in the first quarter, after averaging by all delivery hours. Of course, this is another simplification, for it is worth determining the implied (artificial) prices of the forward products e.g. based on the averaged quotients of the quarter to calendar (year) products observed in the past.

In order to fulfil the no-arbitrage condition, all values of the projected price (the blue line) are to be brought to such a level that their averages in the following delivery periods correspond to the actual price levels of the forward products (the orange lines). It can be achieved by using two methods: multiplicative and additive. The first one comes down to multiplying each price value by the proper number so that the required price level is satisfied. The additive method relies on adding the proper number to each price value to satisfy the required price level. Both methods have their advantages and disadvantages which I will elaborate on here.

On the below graph I presented the price projection that has been brought to the level of the forward products by using the multiplicative method.
The average level of the price projection corresponds to the quotes of the forward product prices. In other words, I have just received the price forecast which satisfies the no-arbitrage condition, that is it represents the currently quoted prices of standard products on the forward market.

In the end, I would like to note that the HPFC should be determined at least once a working day, mainly due to the volatility of the prices of the forward products.

In case of any questions or remarks – please leave your comment or contact me.

Po ile sprzedać energię firmie? - Struktura cen

Godzinowa terminowa struktura cen energii (ang. HPFC = Hourly Price Forward Curve) jest wykorzystywana m.in. do wyznaczenia aktualnej wartości portfela energii. Jest konieczna również – o czym pisałem w poprzednim poście – do wyceny profilu klienta. Jak więc powstaje HPFC? O jednej z metod jej wyznaczania – metodzie algebraicznej – jest ten artykuł.

Czym jest HPFC? Jest to uporządkowany w pewnym przedziale dat godzinowy szereg cen energii. Na przykład dla roku 2020 byłyby to 8784 wartości. HPFC najczęściej wyznacza się na podstawie cen godzinowych na rynku natychmiastowym (spot). W tym wypadku jest to prognoza cen, jakie spodziewamy się zaobserwować na tym rynku, wziąwszy pod uwagę zarówno przeszłe wartości godzinowych cen spot, jak i aktualne ceny produktów terminowych. Taka prognoza (lub projekcja) ma jednocześnie uwzględniać:

1) obserwowane cykle, tj. cykl roczny, tygodniowy i dobowy,
2) kalendarz, tj. przeciętnie niższe ceny dla świąt państwowych i dni z nimi sąsiadujących,
3) bieżący poziom cen produktów terminowych (brak arbitrażu),
4) zmiany w strukturze wynikające z rosnącego udziału generacji z odnawialnych źródeł energii.

Dwa pierwsze punkty oraz ostatni dotyczą kształtu krzywej cen, trzeci dotyczy spodziewanego poziomu cen tej projekcji. W tym artykule skupię się na trzech pierwszych punktach.

Kształt krzywej

Jak wyznaczyć godzinową terminową strukturę cen, by odzwierciedlała cykle i kalendarz świąt? Potrzebujemy do tego historycznych godzinowych cen spot. Im dłuższy ma być okres, na który prognozujemy, tym dłuższy powinien być szereg historycznych cen. Na ogół sprawdza się następująca reguła kciuka, że okres danych historycznych powinien być co najmniej dwa razy dłuższy od okresu prognozy. Załóżmy, że chcemy stworzyć projekcję cen na lata 2020-2021.  Historyczne dane godzinowe mogą wtedy być wzięte np. z lat 2015-2019.


Uśrednianie po latach
Wykres poniżej przedstawia w uproszczeniu zaobserwowane ceny w postaci trójwymiarowej macierzy dla lat 2015-2019, dla 52 kolejnych tygodni roku i 9 typów dni (Mo – poniedziałek, Tu-Th – „wtorko-czwartek”, tj. albo wtorek, albo środa, albo czwartek, Fr – piątek, Sa – sobota, Su – niedziela, Ho – święto państwowe, Be – dzień przed świętem państwowym, Af – dzień po święcie państwowym, Br – dzień pomostowy, tj. dzień albo pomiędzy świętami, np. w Polsce 2. maja, albo dzień pomiędzy świętem a sobotą lub niedzielą, np. w Polsce piątek po Bożym Ciele). Możliwe są oczywiście inne podziały na typy dni. Wymiar godzin jest „zwinięty”, tzn. każdy punkt tej trójwymiarowej przestrzeni mieści w sobie 24 wartości cen odpowiadające 24 godzinom doby. Dla uproszczenia, w przypadku wiosennej zmiany czasu wartość dla brakującej godziny można zastąpić średnią z wartości sprzed i po zmianie czasu, zaś w przypadku jesiennej zmiany czasu wartość z dodatkowej godziny można uśrednić z wartością z godziny tuż przed zmianą czasu.


Na wykresie dla prostoty zaznaczyłem jedynie pięć punktów w postaci kul – każda z nich ma odzwierciedlać wagę, jaką przypisuję obserwacji cen w kolejnych latach. Tak więc, im starsza obserwacja, tym mniejszą ma ona wagę. W sumie wszystkich punktów powinno być 2 340 = 5 lat x 52 tygodnie x 9 typów dni. Tak jednak nie będzie, tzn. nie wszystkie miejsca (punkty) w macierzy będą wypełnione ze względu na ruchome święta, które mogą przypadać w różnych tygodniach roku. Dotyczy to zresztą nie tylko samych świąt, ale także dni z nimi graniczących. Zamiast podziału na 52 tygodnie można użyć podziału na 12 miesięcy, ale i to nie rozwiąże problemu – np. święta wielkanocne mogą przypadać i w marcu, i w kwietniu. Jak sobie z tym poradzić – opisałem w kolejnej sekcji. Przy granulacji tygodniowej sporadycznie występujący 53. tydzień warto dołączyć albo do 1., albo do 52. tygodnia ze względu na zbyt małą liczbę obserwacji.

Zasadniczo, algorytm wyznaczania struktury cen na kolejne lata (na razie bez dostosowania jej poziomu) sprowadza się do przepisania uśrednionych wartości z lat poprzednich dla danego tygodnia roku (ew. miesiąca) i typu dnia. Zauważmy, że przy generowaniu projekcji na przyszłe lata nie potrzebujemy już wymiaru lat. Gdy będziemy chcieli wyznaczyć ceny dobowe np. dla 1 stycznia 2020 r., będziemy potrzebować jedynie uśrednionych cen dla święta (Ho) przypadającego w pierwszym tygodniu (ew. miesiącu) roku. Dlatego trójwymiarową macierz można „spłaszczyć”, pozostawiając jedynie dwa wymiary, tj. wymiar tygodni (ew. miesięcy) oraz wymiar typów dni. Przy uśrednianiu po latach trzeba pamiętać o wagach, które przypisujemy kolejnym latom.


Uśrednianie po tygodniach
W wyniku „spłaszczania” opisanego w poprzedniej sekcji otrzymamy dwuwymiarową macierz o 468 elementach = 52 tygodnie x 9 typów dni. Zasadniczo, każdy element powinien zawierać 24 wartości, a każda z nich będzie uśredniona po latach i po typie dnia (np. dla ‘wtorko-czwartków’ w tygodniu bez świąt spodziewamy się 3 dni, a np. w Polsce, w pierwszym tygodniu roku mogą wystąpić dwa święta – Nowy Rok i Objawienie Pańskie).

Nie wszystkie 468 punkty będą więc wypełnione danymi. Dodatkowo, niektóre z nich mogą zawierać anomalie (nietypowe obserwacje), a które prawdopodobnie nie powtórzą się w tym samym tygodniu i dla tego samego typu dnia w przyszłości. Z pomocą przychodzi nam ruchome uśrednianie względem sąsiadującym tygodni (ew. miesięcy). Każdy punkt, tj. każdy zestaw 24 wartości może być uśredniony przy użyciu stosownych wag tygodniowych lub miesięcznych z sąsiadujących punktów. Naturalne wydaje się przypisanie największej wagi węzłowi centralnemu i odpowiednio mniejszych węzłom sąsiadującym. Na wykresie powyżej zaznaczyłem je tylko dla wybranego elementu, tj. dla typu dni „święto” przypadającego w 30. tygodniu roku. Wartości dla 30. tygodnia są wynikiem uśredniania wartości od 27 do 33 tygodnia roku. Średnice punktów odzwierciedlają wielkość wag przypisanych do odpowiednich tygodni.

Na brzegach obszaru, tj. w okolicach 1. i 52. tygodnia roku można użyć elementów odpowiednio z poprzedniego lub z kolejnego roku (zszycie obszaru). Jeśli wyżej opisany algorytm uśredniający nie sprawi, by wszystkie elementy macierzy zostały uzupełnione, brakujące dane można estymować na podstawie innych typów dni, np. dla świąt można przyjąć wartości z niedziel, a dla dni graniczących ze świętami – wartości z typowych dni niebędącymi ani sobotą, ani niedzielą. Ten sam sposób postępowania można zastosować także w przypadku, gdy zażądamy, by dany element zawierał uśrednione dane z minimalnie, powiedzmy, trzech dni (obserwacji), i gdy jednocześnie ten warunek nie będzie spełniony. Innymi słowy możemy uznać, że trzy obserwacje to za mało, by stanowiły podstawę do utworzenia prognozy. Wtedy możemy zastąpić brakujące dane z takiego punktu, który ma najbardziej zbliżoną charakterystykę.

W wyniku powyższych operacji otrzymamy „stempel”, który będziemy przykładać do każdego dnia okresu prognozowanego. Po określeniu dla takiego dnia jego typu oraz numeru tygodnia roku (ew. miesiąca roku), będziemy w stanie podać dla niego 24 wartości uśrednione po kolejnych latach i typach dni.

Rysunek poniżej przedstawia projekcję cen na lata 2020 i 2021, jeszcze bez sprowadzenia ich do poziomu cen produktów terminowych aktualnie obserwowanych na rynku. Warto na nim zauważyć cykl roczny, tj. podobieństwo kształtu krzywej w roku 2020 do kształtu w roku 2021.

Przy odpowiednim przeskalowaniu wykresu (2. i 3. tydzień 2020 r.) dostrzec można także cykl tygodniowy. Dodatkowo, 6. stycznia 2020 r. (święto przypadające w poniedziałek) ma znacząco niższy poziom ceny od poziomu ceny z kolejnego poniedziałku z 13. stycznia  2020 r.
Cykl dobowy przedstawiłem dla przykładu dla dwóch dni 13. i 14 stycznia 2020 r.:

Poziom struktury cen

Projekcja struktury cen obliczona w sposób opisany powyżej nie będzie odzwierciedlać poziomów cen produktów terminowych, co przedstawiłem schematycznie na wykresie poniżej (poziom projekcji cen jest za niski w związku z zaobserwowanym wzrostem cen na przestrzeni bieżącego roku):
Linie pomarańczowe to poziomy cen wynikające z kwotowań produktów terminowych w połowie września 2019 r. W tym czasie na rynku polskim na dostawę w latach 2020-2021 dostępne są kwotowania kontraktów z dostawą:
  • w pierwszym kwartale 2020 roku,
  • w całym roku 2020,
  • w całym roku 2021.
Dla uproszczenia na wykresie uwzględniłem tylko kwotowania pasma, a pominąłem kwotowania szczytu. Cena w kwartałach od drugiego do czwartego 2020 r. została obliczona tak, by razem z ceną w pierwszym kwartale była równa kwotowaniu dla całego roku 2020 po uśrednieniu po wszystkich godzinach dostawy. Oczywiście, to kolejne uproszczenie – warto wyznaczać ceny implikowane (sztuczne) produktów terminowych np. na podstawie uśrednionych obserwacji relacji cen produktów kwartalnych do cen produktów rocznych.

W celu spełnienia warunku na brak arbitrażu, wszystkie wartości projekcji cen (niebieska linia) należy sprowadzić do takiego poziomu, by ich średnie w odpowiednich okresach dostawy odpowiadały aktualnym poziomom cen produktów terminowych (pomarańczowe linie). Można to zrobić dwiema metodami: multiplikatywną lub addytywną. Pierwsza sprowadza się do przemnożenia – w każdym okresie obowiązywania ceny, której wymagamy – każdej wartości ceny przez pewną liczbę tak, aby osiągnąć wymagany poziom ceny. Metoda addytywna zaś – zamiast na przemnożeniu przez pewną liczbę – polega na dodaniu pewnej liczby do każdej ceny. I jedna, i druga metoda ma swoje wady i zalety, których nie będę tu opisywał.

Na poniższym rysunku przedstawiłem projekcję ceny sprowadzoną do poziomu cen produktów terminowych metodą multiplikatywną.
Średni poziom projekcji cen odpowiada na nim poziomom wynikającym z cen produktów terminowych. Tym samym otrzymałem prognozę cen, która spełnia warunek na brak arbitrażu, tj. odpowiada aktualnie kwotowanym na rynku kontraktom na rynku terminowym.

Na koniec dodam, że HPFC powinno się wyznaczać co najmniej raz w ciągu dnia roboczego, głównie ze względu na zmienność cen produktów terminowych.

W przypadku pytań i uwag – zapraszam do pozostawienia komentarzy i do kontaktu.

How to Quote Business for Electricity? - Introduction


How an offer price for electricity is calculated? From my observations, there are few experts and information about this subject and the exchange of knowledge is rather scant. That's why I decided to write a series of articles about the determination of electricity prices quoted for companies. If you either prepare price lists or offers, or you compare them to choose the most optimal one, this material may be helpful to you. Here you will learn the currently applied practical approach which assures that the final quote conforms to the real market conditions as well as to the client's load profile.

Generally, the offer price, among others, contains:
  • delivery hedge cost (that is the 'black energy' cost),
  • premia resulting from certificates, risks, settlement dates, margins,
  • distribution and transmission fees.

In this article, I'll concentrate only on the general idea of the determination of the hedging cost. The other costs related to licences, market access, guarantees or IT tools are not the subject of this presentation.

As the basis for settlement in Poland is the hourly spot market, the hedge should be applied to the hourly positions for the whole delivery period.

In order to illustrate the five steps of the algorithm, I'll use the title graph. The graph is simplified, as it covers only 24 delivery hours, yet in the whole leap year 2020, there are 8784 hours.


1. Profile Projection

Firstly, we generate the hourly profile projection, that is the expected load volumes - represented by the blue curve on the rear wall of the graph - based on the information about a client (branch, invoice data, overall delivery volume).



2. Forward Price Structure

Secondly, we generate the price structure, that is the future hourly prices of energy on the spot market - represented by the blue curve on the lower wall of the graph - based on the past spot market prices (curve shape) as well as on the actual forward market prices for yearly, quarterly and monthly standard products (curve level).



3. Position

Then, we determine an hourly position, that is the hourly products of volumes and prices - these are the blue cuboids on the graph.


4. Hedge Products

Afterwards, we choose the volumes of the standard hedge products in such a way, that their total position - which is the sum of the volumes of the orange cuboids on the graph - be equal to the overall position being hedged - which is the sum of volumes of blue cuboids.
There are two orange cuboids on the graph - one for the base and one for the peak (in Poland the peak is defined between 8:00 and 22:00 in working days), but there can be either one or many of them - it depends on what products are available on the market at the moment and if it's really worth buying them for hedging.


5. Hedge Cost

In the end, we determine the hedge cost, that is we calculate the sum of volumes of the orange cuboids on the graph divided by the total delivery volume.

The above algorithm can be simplified in such a way to hedge the volume instead of the position - then it's not necessary to generate the forward price structure. However, there is a risk that due to the adverse correlation of price and load volume the hedge products will not be chosen optimally. If, for example, a client consumes more energy in the second half-year than in the first one, and in the second half-year we expect higher prices than in the first one, then - hedged with the yearly base product only - the surplus gained in the first half-year will not compensate for the loss in the second half-year. This risk is not worth taking if the forward price structure is generated regularly, e.g. in order to calculate the value of the whole sales portfolio.


It is reasonable to calculate quotes by taking into account the portfolio effect, e.g. as a difference between the hedge value for the whole portfolio with a client and the hedge value of the portfolio without a client. It is worth doing so especially when premia stemming from risks are calculated on the portfolio level.

Of course, the processes of quotes determination should be automated in order to assure:
  • prompt reaction to make an offer,
  • confidence that there will be no errors,
  • process audit and compliance with the existing internal regulations.

In case of any questions or remarks, we are looking forward to hearing from you.

Po ile sprzedać energię firmie? - Wprowadzenie


Jak powstają ceny ofertowe energii elektrycznej? Z mojego doświadczenia wynika, że ekspertów i materiałów na ten temat jest mało, a wymiana wiedzy – znikoma. Dlatego postanowiłem napisać cykl artykułów poświęconych wyznaczaniu cen energii dla przedsiębiorstw. Jeśli na co dzień przygotowujesz cenniki lub oferty, albo je porównujesz, by wybrać najkorzystniejszą, ten materiał może okazać się pomocny. Dzięki niemu poznasz obecnie stosowaną praktykę, która gwarantuje, że finalna wycena odpowiada rynkowym realiom i profilowi odbiorcy.

Na cenę ofertową składają się m.in.:

  • koszt zabezpieczenia dostawy (koszt tzw. czarnej energii),
  • premie z tytułu: certyfikatów, ryzyk, terminów rozliczeń, marży,
  • stawki dystrybucyjne i przesyłowe.
W tym artykule skupię się jedynie na głównej idei wyznaczania kosztu zabezpieczenia. Pozostałe koszty zw. m.in. z koncesją, dostępem do rynku, gwarancjami czy narzędziami informatycznymi nie są przedmiotem tego artykułu.

Jako że podstawą do rozliczeń w Polsce jest godzinowy rynek natychmiastowy, zabezpieczenie powinno dotyczyć pozycji godzinowych w całym okresie dostawy.


Do zilustrowania pięciu kroków algorytmu posłużę się tytułowym wykresem, który rozbiję na czynniki pierwsze. Wykres jest uproszczony, gdyż obejmuje tylko 24 godziny dostawy, a np. w całym 2020 roku są ich aż 8784.



1. Projekcja profilu

Generujemy godzinową projekcję profilu, czyli oczekiwane wolumeny zużyć – niebieska krzywa na tylnej ścianie wykresu – na podstawie danych o kliencie (branża, dane z faktur, całkowity wolumen dostawy).



2. Struktura terminowa cen

Generujemy strukturę terminową cen, czyli przyszłe godzinowe ceny energii na rynku natychmiastowym – niebieska krzywa na dolnej ścianie wykresu – na podstawie dotychczasowych cen na rynku natychmiastowym (kształt krzywej) oraz aktualnych cen na rynku terminowym dla kontraktów rocznych, kwartalnych i miesięcznych (poziom krzywej).



3. Pozycja

Wyznaczamy tzw. pozycję, tj. godzinowe iloczyny wolumenów i cen – niebieskie prostopadłościany na wykresie.



4. Produkty zabezpieczające

Dobieramy tak wolumeny terminowych produktów zabezpieczających, by ich łączna pozycja – tj. suma objętości pomarańczowych prostopadłościanów – zrównała się z łączną pozycją zabezpieczaną – tj. była równa sumie objętości niebieskich prostopadłościanów.
Na wykresie są dwa pomarańczowe prostopadłościany – jeden dla pasma i jeden dla szczytu (w Polsce szczyt trwa od 8:00 do 22:00 w dni robocze), ale ich liczba może być inna i zależy od tego, jakie produkty są dostępne na rynku i czy opłaca się je kupić. 

5. Koszt zabezpieczenia

Na końcu wyznaczamy koszt zabezpieczenia, czyli obliczamy sumę objętości pomarańczowych prostopadłościanów na wykresie i dzielimy ją przez całkowity wolumen dostawy.


Powyższy algorytm można uprościć tak, by zabezpieczać tylko wolumen zamiast pozycji – wtedy nie ma konieczności generowania struktury terminowej cen. Istnieje jednak ryzyko, że na skutek niekorzystnej korelacji ceny i wolumenu zużycia produkty zabezpieczające nie będą dobrane optymalnie. Jeśli na przykład klient zużyje więcej energii w drugim półroczu niż w pierwszym, a w drugim spodziewamy się wyższych cen niż w pierwszym, to przy zabezpieczeniu jedynie rocznym produktem pasmowym, nadwyżka otrzymana w pierwszym półroczu nie zrekompensuje straty w drugim. Ryzyko to nie jest warte ponoszenia, jeśli struktura terminowa cen jest generowana regularnie np. w celu obliczania wartości całego portfela sprzedaży.

Warto wyznaczać wyceny z uwzględnieniem efektu portfela, np. jako różnicę pomiędzy wartością zabezpieczenia dla całego portfela łącznie z klientem, a wartością zabezpieczenia portfela bez uwzględniania tego klienta. Sprawdza się to szczególnie przy wyznaczaniu narzutów z tytułu ryzyk na poziomie całego portfela.

Oczywiście, procesy wyznaczania cen ofertowych powinny być zautomatyzowane, aby zapewnić:

  • szybką reakcję na potrzebę sporządzenia wyceny,
  • pewność, że do obliczeń nie wkradnie się błąd,
  • audyt procesu wyceny i zgodność z obowiązującymi regulacjami wewnętrznymi.


W przypadku pytań czy spostrzeżeń, serdecznie zapraszamy do kontaktu i do pozostawiania komentarzy.