Académique Documents
Professionnel Documents
Culture Documents
Arbitrage-free Shifting of
Price Forward Curves
An Efficient and Generic Algorithm
Richard Biegler-Konig
Kay F. Pilz
Corresponding
Steag
Abstract: The most basic and important object for any company trading
energy commodities is a so-called Price Forward Curve, or PFC, providing
prices in a fine granularity for a future period of time. Clearly, the PFC
must be free of arbitrage with respect to the relevant set of forward prices
at all times as it is used very frequently and in many different places in
a company. Thus, there is need for a fully generic and efficient algorithm
producing this arbitrage-free forward curve - a subject yet uncovered by the
literature. The algorithm presented in this paper uses techniques from linear
algebra and we demonstrate how typical problems and issues from practice
such as complicated calendar arithmetics, incorporating bid/ask prices and
interplay with Monte-Carlo frameworks are covered. Furthermore, as a byproduct, the algorithm produces matrices that allow to change freely between
two fundamental representation of the energy market at hand - one being the
space of observed forward products, the other being a synthetic world that
eases greatly calculations such as pricing, hedging and risk management.
AMS classification: 00A69, 62P05
JEL classification: C63, G12, Q40
Keywords: Price Forward Curves (PFC), energy markets, electricity markets, arbitrage free pricing, Monte-Carlo methods, bid/ask prices
Abbreviated Title: Arbitrage-free Shifting of Price Forward Curves
1 Introduction
The most basic and important object for any company trading energy commodities
such as electricity or gas is a so-called Price Forward Curve, or PFC. For a given time
granularity this curve provides prices for the underlying over a future period. Typically,
electricity PFCs have an hourly granularity and are thus called HPFCs. Similarly, for
gas, it usually suffices to consider a daily PFC, a DPFC.
As energy underlyings are hard to or not at all storable Price Forward Curves usually
exhibit strong seasonal patterns, but also intra-week or even intra-day patterns. As an
example, peak electricity prices on a Tuesday in winter are expected to be very different
from off-peak prices on a public holiday in summer, say. These non-stochastic patterns
are usually estimated historically and the resulting curve will be called the shape of the
Price Forward Curve in the following.
Mostly, estimation of the shape is done on a regular but not very frequent basis. There
are three main reasons not to conduct the estimation procedure every time a PFC is
needed:
Firstly, the estimation will require numerous and complicated historical inputs that
need be collected somewhere centrally. The PFC is at the core of the bread and butter
business of an energy trading company and thus is extremely risk relevant in terms of
quality management. Also, the estimation procedure may be too numerically expensive
hand, there is no canonical set of forward products. Traders will shift the shape to
match OTC or broker quotes. Risk managers will probably use end-of-day prices for
their mark-to-market or some composite quotes for plausibility checks. Controllers might
have specially designed planning price hypotheses needed for long-term evaluations.
This not only calls for a fast algorithm but also for a very generic one. Among other
aspects, it is this need to be fully generic that makes the shifting non-trivial. This might
also explain why academics have thus far not considered the shifting problem because
mostly they encounter the shifting problem in the context of estimating the shape, that
is, in a static and simple scenario.
For example, consider the following typical situation from an electricity market: There
are three contracts traded, one of which has a quarterly delivery period, the other two
deliver during two of the three months of the respective quarter. Clearly, in this scenario,
it is trivial to deduce the third monthly contract as a linear combination of the other
forwards by means of averaging (and assuming the length of all three months to be
equal). The arbitrage-free strategy to replicate the price for the third month will be to
go long the quarter and short both available months.
But what happens if your scenario is not that trivial? What if it consists of a couple of
week forwards with some weekend- and month forwards mixed in, maybe some of them
only for base and not for peak hours? How does one deal with the various complicated
overlapping delivery periods? Also, what is the best approach when some contracts are
completely redundant i.e. can be expressed in terms of other contracts? What are the
minimal requirements to extract a unique and unambiguous and arbitrage-free PFC?
How do you generically modify the market scenario in case there are no or multiple such
PFCs?
Yet another aspect that might explain why shifting has not attracted attention from
the academia is that some of the most interesting challenges only arise due to calendar
arithmetic. As time passes, there will be ever more peculiar situations, such as peak
contracts whose delivery periods will only consist of off-peak hours. This might lead to
unexpected mathematical problems.
The algorithm that we will present in Section 4 will be able to deal with any scenario
generically and will help to formulate mathematically a set of rules to answer the above
questions. It will extensively use basic techniques from linear algebra, and provide rather
useful mathematical objects along the way.
After presenting a detailed example in Section 5 we will address a number of issues
and problems from practice in Section 6. These include a description of how to deal
with different types of forwards such as base and peak, how the algorithm helps when
setting up Monte-Carlo valuation frameworks and, last but not least, how to treat bid
and ask prices if these are available. It will turn out that our method can be easily and
in a very general way extended to take these aspects into consideration.
Furthermore, we will realise while discussing the algorithm and then in particular in
Section 7 that basically we are facing two different representation of our energy market.
On the one hand there is the world of traded products with all those contracts that
one can actually use to hedge, risk-manage and so on. On the other hand there will be
a derived representation of synthetic arbitrage-free, non-overlapping forward contracts
that will ease any calculation enormously. The transition matrices between those two
spaces will be generated by the algorithm as a by-product.
3 Literature Overview
As mentioned before, estimating a shape for the PFC has been the subject of a number
of academic papers over the last decade. Lucia and Schwartz (6) describe the structure
and striking properties of electricity prices in their pioneering paper from 2002. Fleten,
Paraschiev and Sch
urle (3) present a comprehensive description of identifying a PFC
shape based on an estimation procedure introduced in Benth, Koekebakker and Ollmar
(1). In contrast to that, Hildmann et. al (5) use a median estimation approach.
In another paper, Hildmann et al (4) set up a list of criteria that a good HPFC
needs to satisfy. The arbitrage-free condition is the first item on their list and obviously
considered very important. In chapter D they comment on shifting (which they call
future product application). They argue that due to low liquidity of products one
should ignore short-termed contracts. Hence, they do not provide a shifting algorithm
but only describe qualitatively how to deal with overlapping forwards.
Generally, as discussed in the introduction, literature is scarce for the process of
shifting.
Burger, Graeber, Schindlmayr (2, chapter 6, page 292) propose a method that involves solving a system of linear equations but that might also need some optimisation
procedure. Also, they do not consider fully redundant contracts generically.
The method proposed in Benth, Koekebakker and Ollmar (1) features a minimisation
problem with some additional smoothing as their goal is to find an arbitrage-free and
smooth curve.
In contrast to (2) our method uses a matrix representation and does not need optimisation methods. Also, it is more generic with respect to certain aspects. The authors of
(1) start off with a similar decomposition of the time axis but again the method differs
from ours in that they use optimisation methods rather than a matrix representation.
Also, their method cannot handle a combined set of base and peak products.
ones as off-peak 2 or blocks such as for example 6:00-12:00 oclock, as long as all 24
hours are covered at least by one of those types.
Now, let us introduce some notion:
Notation 4.1. Denote by s(t) the current PFC shape and let time t satisfy Ts t Te
where Ts is the start date of the PFC and Te is the (finite) end date of the PFC.
In addition to the shape we are given, for each type, a set of forward contracts. We have
already mentioned in the introduction that on energy markets these are swaps rather
forwards. Still, we will follow the convention and call them forwards in the following:
Notation 4.2. Assume we are given a set of m forwards F = F 1 , F 2 , . . . , F m and denote
by F i (t0 , Tsi , Tei ), 1 i m, the price of the ith forward at time t0 with a delivery from
Tsi until Tei where Tsi < Tei . We abbreviate F i (t0 ) = F i (t0 , Tsi , Tei ).
The result of our method will be the arbitrage-free PFC:
Notation 4.3. The PFC based on the shape s(t) and free of arbitrage with respect to
the set of forwards F is denoted by S(t) for Ts t Te .
The general idea of the method is to extract from the set of forwards for each time
point t, Ts t Te a unique forward price f (t). Once we have identified f (t) we can
shift the shape s(t) for each time point during the delivery period [Tsi , Tei ] of forward F i ,
1 i m by multiplying s(t) by the sum of f (t) and dividing by the sum of s(t) over
that interval, i.e.
PTei
f (u)
S(t) = s(t) PT i
e
s(u)
u=Tsi
u=Tsi
(1)
The object S(t) is the shifted version of our shape and arbitrage-free with respect to
the set of traded forward contracts.
and
Te = max{T }
2. t : Ts t Te F i : Tsi t Tei
Here, the first condition makes sure that the forward contracts span the same time
period as the given shape. The second condition ensures that there is at least on forward
price given for any point in time.
We introduce two more sets, namely the set of start dates and the set of end dates,
respectively:
(2)
(3)
This set is the finest time grid we will need to consider and the unique forward price
f (t) as introduced above will have piecewise constant values on that partition of the
time axis. In order to bring both partitions of time, and T , together we set up the
following matrix:
Definition 4.1. The transition matrix is the m n matrix M = (mij ) for which
mij = 1{tj Tsi tj+1 Tei }
(4)
This means that the matrix M is 1 whenever the time interval from tj to tj+1 is a
subinterval of [Tsi , Tei ] and zero otherwise.
We illustrate with an example:
Example 4.1. Let F be a set of forward contracts satisfying assumption 4.1 that do not
overlap anywhere. Then every start date except for the first is also an end date and
every end date but the last is also a start date. The corresponding matrix is then the
identity, i.e. M = I.
The matrix M will be the mantelpiece of our method. We will apply standard techniques of linear algebra to M in the following.
First though, we will need the following function:
Definition 4.2. Let the function L(t1 , t2 ) denote the number of relevant hours between
time points t1 and t2 . As a short-cut, let L(F i ) be defined as the number of hours in
the delivery period of contract F i , i.e. in [Tsi , Tei ] belonging to the current type (base or
peak etc.). This is: L(t1 , t2 ) = #h(t1 , t2 ) and L(F i ) = L(Tsi , Tei ) = #h(Tei Tsi ).
Example 4.2. Let F Cal15 be an electricity peak contract with hourly delivery in period
[01/01/2015, 31/12/2015]. Then L(F Cal15 ) = 3132 because there are 3132 peak hours in
2015.
Example 4.3. Consider the market scenario in which one yearly contract F Cal15 and all
corresponding quarters F Q1/15 , F Q2/15 , F Q3/15 , F Q4/15 are traded. Then we can ignore
one of those five contracts without losing information for f (t); we will still be able to
synthesise this contract by means of the other four. Furthermore, if the market is free
of arbitrage than also the following must hold:
F Cal15 (t)L(F Cal15 ) =F Q1/15 (t)L(F Q1/15 ) + F Q2/15 (t)L(F Q2/15 )
+ F Q3/15 (t)L(F Q3/15 ) + F Q4/15 (t)L(F Q4/15 )
Otherwise, the difference between the observed price and the one calculated with the
above formula is called the arbitrage possessed by that forward contract. In rather
mature energy markets and for liquidly traded products the arbitrage of redundant
contracts is very small (usually less than 0.01 Euro).
We need a way of identifying redundant forwards as well as memorising the arbitrage
attached to them. To this end we define an auxiliary matrix N :
N =M
and compute its rank
r = rank(N )
Then, we form a new matrix N 0 by removing the first row (this is corresponding to
removing the first contract from the set F ) of matrix N
N 0 = (nij )2im,1jn
Now, if rank(N 0 ) = rank(N ) then the interval spanned by the first row (contract) can
be expressed as a linear combination of other rows and F 1 is a redundant contract. We
then set N = N 0 . Else, we leave N as it was. We then proceed in the same manner
consecutively with the second row of N and so on.
Assuming we found k redundant contracts in M we now have a (m k) n matrix
N . We call N the non-redundant transition matrix. We note that N still possesses an
overlapping structure.
Remark 4.1. As the time grid is finer as T by way of construction the inequality
(m k) n will always hold with equality given if the set of non-redundant forwards
satisfies assumption 4.1 and also does not feature delivery period overlaps.
For now, though, we are interested in transforming prices. To do so, we need to weigh
time intervals by their corresponding length. We form a new matrix W adj as follows:
Definition 4.4. The weight matrix W adj is calculated from N adj by point-wise multiplying each row of N adj by the vector of lengths of the intervals of divided by the number
of hours of that row:
W adj = (Nijadj lij )1in,1jn
where lij =
L(tj ,tj+1 )
.
L(F i )
As both matrices, the transition matrix N adj and the weight matrix W adj , are quadratic
and of full rank, we can now set up the following well-defined equation:
W adj pnoc = pf wd
(5)
Finally, we can now invert the matrix and solve the system:
pnoc = W adj
1
pf wd
(6)
Now, for each time period given by set the resulting vector pnoc provides the unique,
arbitrage-free and non-overlapping price. Rolling out this vector in hourly granularity
in a piece-wise constant fashion gives the forward curve f (t) that can be applied directly
to the shape s(t) along the lines of formula (1).
5 A Market Example
In this section, we consider the German electricity market EEX. Our trading date will
be March 16, 2015. We observe the following ten end-of-day base prices:
Contract
BOW
WK1315
BOM
M415
M515
M615
M815
Q215
Q315
Start date
18/03/2015
23/03/2015
18/03/2015
01/04/2015
01/05/2015
01/06/2015
01/08/2015
01/04/2015
01/07/2015
End date
23/03/2015
30/03/2015
01/04/2015
01/05/2015
01/06/2015
01/07/2015
01/09/2015
01/07/2015
01/10/2015
Price
33.07
33.73
31.54
30.36
29.20
31.44
30.32
29.48
31.63
10
M =
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
Clearly, rows 4, 5, 6 and 8 correspond to the contracts with delivery in April, May,
June and the second quarter of 2015. Those four rows are linearly dependent and our
algorithm deletes row 8. Furthermore, rows 7 an 9 correspond to August and the third
quarter. In this case, we need more information (because columns 7 and 9 are linearly
dependent) and add a synthetic contract (row) giving July a price of 31.00 Euro.
The matrix N adj has lost one row (the redundant swap) and then gained one (the
synthetic July forward). N adj and its inverse are given by
1
0
=
0
0
0
0
N adj
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0 0 0 0 0 0
0
0
1 0 0 0 0 0
0
1 1 1 0 0 0 0
0
0
0 0 1 0 0 0
1
adj
0
0
0 0 0 1 0 0
N
=
0
0 0 0 0 1 0
0
0
0
0 0 0 0 0 0
1
0
0 0 0 0 0 1
0
0
0 0 0 0 0 1
0 0
0 0
0 0
0 0
0 0
0 0
0 1
0 0
1 1
The inverse matrix tells us how the time periods of the set can be synthesised using
the tradable products. Also, traded contracts are now represented by columns, and nonoverlapping periods by rows. For example, looking at row 3 we learn that the period
[30/03/2015, 01/04/2015] can be expressed as the following portfolio:
short one BOW contract
short one week 13 contract
long one BOM contract
11
1
0
0
0 0 0
0
0
0
0
1
0
0 0 0
0
0
0
0
0
0
1 0 0
0
0
0
0
0
0
0
1
0
0
0
0
=
0
0
0
0 0 1
0
0
0
0
0
0
0 0 0
0
1
0
0
0
0
0 0 0 0.3370 0.3370 0.3261
0
0
0
0 0 0
1
0
0
W adj
The sum over each row in the weight matrix needs be one and the numbers denote the
percentage of days of the traded product living in that column, i.e. on that interval. For
example there are five days remaining in the BOW, 14 left in March, thus 5/14 = 0.3571.
Figure 1: Traded products and non-overlapping, non-redundant products
Figure 1 illustrates the example. The x-axis represents time, the y-axis prices. The
length of the different horizontal lines denotes the corresponding length of delivery periods. The figure shows the traded forwards of our example (green lines). Superimposed
in red is the resulting non-overlapping structure of our algorithm. In the front end, a
synthetic forward for Monday and Tuesday of week 14 has been added with a value
calculated from the BOW, the BOM and week 13. In the mid part, the second quarter
was removed as redundant whereas in the end part there are more traded products than
non-overlapping forwards.
12
situations in which minor adjustments need be done to ensure correct working. Mostly,
this has to do with market design or complicated calendar constellations, especially in
very short-term shifting, i.e. front-month time horizons.
13
14
with
bid
+ pask
pask
j 1{(N adj )1
ij = pj 1{(N adj )1
ji =1}
ji =1}
Thus, the new matrix P ask is the transpose of (N adj )1 with positive and negative entries
replaced by bid and ask prices. We can then replace equation (6) by the following matrix
version
P noc,ask = (N adj )1 P ask
and our vector of non-overlapping products pnoc,ask that can be applied to the shape of
the HPFC is then given by the diagonal elements of P noc,ask :
pnoc,ask
= Piinoc,ask
i
Clearly, a bid HPFC can be calculated in a parallel fashion.
8 Conclusion
In this paper we have discussed how to produce an arbitrage-free commodity PFC given
a possibly redundant and overlapping set of swap-like forward contracts. We have called
15
this process shifting and stressed that this is at the core of any energy trading company.
Shifting needs to be performed in various departments and with different sets of prices.
The tools conducting the shift need be robust, fast and very generic.
We have introduced an algorithm that satisfies all these criteria. It can deal with any
number and constellation of forward contracts, with any underlying curve granularity
and with all types of products, may they be base and peak or more exotic day-blocks.
Furthermore, a broad field of problems and features closely related to everyday work
in practice can be solved or represented using our algorithm. These include for example considering coexistent bid and ask prices, compatibility with general Monte-Carlo
frameworks and complicated calendar arithmetics.
Additionally, the algorithm produces transition matrices that enable to move between
two fundamental representations of the energy markets at hand: the world of traded
products on the one hand and the synthetic world of non-overlapping, non-redundant
prices on the other hand. From a modelling perspective the latter is much more practical.
This means that we can solve all tasks such as pricing, hedging, structuring in that virtual
market and then use the transformation matrices to translate our results back to the
energy market that we trade on.
We have mentioned afore that the topic of this paper has not been discussed in detail
in the literature. Therefore, we have filled this gap and aim to attract the academias
attention.
There are some ideas that are worth looking at for further research. For example, there
is the notion of smoothing. In case two very distinct prices are observed for neighbouring
periods the method as described in this paper will produce a jump in the resulting PFC.
When dealing with a storable underlying such as gas, in particular, one might want to
smooth the resulting curve while still keeping the no-arbitrage property.
References
[1] F. Benth, S. Koekebakker, and F. Ollmar. Extracting and applying smooth forward
curves from average-based commodity contracts with seasonal variation. The Journal
of Derivatives, 15(1):5266, 2007.
[2] M. Burger, B. Graeber, and G. Schindlmayr. Managing Energy Risk. John Wiley &
Sons, 2007.
[3] S. E. Fleten, F. Paraschiev, and M. Sch
urle. A spot-forward model for electricity
prices with regime shifts. Preprint submitted to Energy Economics, 2013.
[4] M. Hildmann, G. Andersson, G. Caro, D. Daly, and S. Rossi. What makes a good
hourly price forward curve? Working Paper, 2013.
[5] M. Hildmann, F. Herzog, D. Stokic, J. Cornel, and G. Andersson. Robust calculation
and parameter estimation of the hourly price forward curve. 17th Power Systems
Computation Conference, Stockholm, Sweden, 2011.
16
[6] J. Lucia and E. Schwartz. Electricity prices and power derivatives: Evidence from
the Nordic power exchange. Review of Derivatives Research, 5(1):550, 2002.
17