Skip to main content
Future trends methodology
Hamza Aourach avatar
Written by Hamza Aourach
Updated over a week ago

Our Approach

The purpose of this model is to forecast the price tendency of Power futures. Several tenors are predicted : year, quarter and month ahead products.

Unlike other (weather-based) Kpler models that rely on fundamental analysis to predict targets, this trend model relies on technical analysis using the historical price variation. From this variation, we have created several mathematical indicators - such as MACD (Moving Average Convergence Divergence), or Bollinger Bands - that we have combined with machine learning.


It provides an indication on whether the prices will go up or down. There are 3 classes based on dynamic threshold (1€ for cal21 electricity price in France does not have the same impact as 1€ for cal23).

The classes stand for 0: decrease, 1: neutral, 2: increase. The time horizon over which the trend is expected to materialise is of 7 days.

The thresholds between classes are dynamic and adapt to each settlement day. For each flow date, the variations over the last 365 days are taken into consideration. The 'neutral' class is then defined based on these variations: if the change in price falls within 5% of the average daily variation calculated over the past 365 days, it is classified as 'neutral'. This means that relatively small fluctuations, which fall within this 5% range, are considered to be insignificant and do not indicate a clear upward or downward trend.

FTP path

The daily trend files can be found under the following path:

  • 2_Price/Forecast/Futures/COR_E/FR/2023/12/KPLER_PRICE_FORECAST_{Country}_Futures_Trend_20231220.csv

Trends are grouped by country and EU for carbon and coal. Power and gas are both in the same country file.

Coverage

Our model runs for Power and Gas futures in the following countries:

  • Italy

  • Belgium

  • Netherlands

  • Germany

  • France

  • Spain

We also provide a trend for European carbon and coal future prices.



Did this answer your question?