Skip to main content
HPFC methodology

Computation of Kpler's Hourly price forward curve

Hamza Aourach avatar
Written by Hamza Aourach
Updated over a week ago

Objectives

Build hourly price time-series that predict the next 4 years, which should be strictly consistent with the futures market. Hence the output forward curve should reflect the following points:

  • The market's expectation and its confidence of the power supply/demand balance for the coming years.

  • The harmony in term of long-term trend between different markets.

  • A certain level of consistency with historical data, both at macro (monthly to yearly prices) and micro scale (hourly and weekend), despite all the disruption of Covid or the accelerated commissioning of the renewables.

  • Some subtle signs at the hourly or daily level of emerging price behaviours resulting from our long-term assumptions on the fundamental data (weather, supply, demand, renewables, fossil marginal cost and interconnection).

Our approach

  • HPFC is considered as a down-sampling problem in which we want to break down the granular and incomplete future prices into hourly values.

  • Those known future prices play the role of inputs which help shaping the forward curve. But these are also constraints the forward curve should respect. Which means that the HPFC should result in the same price for any known period and for any load type.

  • In order to get a realistic daily and hourly shape, we rely on our hourly long-term price forecast which express the multi-layer dependency of fundamental data with the price.

Scenarios

It is possible to run multiple scenarios in order to assess the impact of weather, fuel, renewable changes on current market price levels:

  • Weather years

  • Load fluctuation (-30% to +30%)

  • Renewables generation increase (+5% to +50%)

  • Carbon and Gas price changes (-15€ to +15€)

The best way to analyse the results is to observe the price shift between the main HPFC (central with seasonal weather and actual future fuel prices) and each scenario.

Did this answer your question?