Improved scalability and risk factor proxying with a two-step principal component analysis for multi-curve modelling

Philip J. Atkins, Mark Cummins*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)
17 Downloads (Pure)


We consider the practice-relevant problem of modelling multiple price curves to support activities such as price curve simulation and risk management. In this multi-curve setting, the challenge is to jointly capture the risk-factor relationships within each curve and the risk-factor relationships between the curves. Contributing to the existing literature, we develop a novel two-step Principal Component Analysis (PCA) method, which we label PCA2, that addresses this challenge. The concept of PCA2 first derives components describing the dynamics of each curve, and then, second, combines these to describe the dynamics across all the curves. The benefits of PCA2 over PCA are: (i) improved scalability allowing for greater computational efficiency and smaller data structures rendering multi-threading more feasible; (ii) components that remain identifiable at the curve level; and (iii) leveraging the last property, PCA2, unlike PCA, offers the capability of proxying new curves for which limited historical data exists, using the first-step components from a related curve and estimating second-level correlations empirically. PCA2 is a novel multi-curve modelling approach that will appeal, for these reasons, to many practitioners, especially those working in risk management.

Original languageEnglish
Number of pages18
JournalEuropean Journal of Operational Research
Early online date7 May 2022
Publication statusE-pub ahead of print - 7 May 2022


  • energy markets
  • multiple price curve modelling
  • risk factor proxying
  • risk management
  • two-step PCA


Dive into the research topics of 'Improved scalability and risk factor proxying with a two-step principal component analysis for multi-curve modelling'. Together they form a unique fingerprint.

Cite this