SLIDE 1
A factor model for Forward Price Dynamics
Paolo Foschi
University of Bologna
Padova 2013
SLIDE 2 Motivation
Analyse, study and “predict” electricity forward prices
Quotation on forward prices are available from
GME, Gestore Mercati Energetici Bloomberg Trading platforms
- ther providers and traders
Pros:
a lot of data: 5-15 end-of-day prices per day bid-ask interval, last price or both
Challenges:
Noise Far from delivery forwards are not frequently traded Outliers (inputing errors)
SLIDE 3
Bid-Ask vs Last quotations
Bid-Ask interval
Mid price = possible price Reliability/uncertainty proportional to Bid-Ask spread Pro: available much before the first transaction
Last price
it is a true price transactions happen only near to delivery
Example:
2012 2013 70 74 78 82 Jan−Mar 13
SLIDE 4
Example
2012 2013 70 74 78 82 time Jan−Mar 13
SLIDE 5
Example 2
2012 2013 60 65 70 75 80 time Apr−Jun 13
SLIDE 6
Problems
Red=Ask, Green=Bid, Gray=Last
Mar May 78 79 80 81 82 time Jan−Mar 13
SLIDE 7
Along time
Similar to intraday stock exchange data Our approach: price continuously changes but we observe it at a set of given times Kalman filtering allows to recover the unobserved stochastic process, given “few” observations
SLIDE 8 Cross section
Each day different forwards with different deliveries are tradable: Ft,T
- nly aggregate quantities are available (Weekly, Monthly,
Quarterly, Calendar):
2013 2014 70 74 78 T Prices
SLIDE 9
Building a model
Forwards with long delivery periods can be recovered from smaller ones We have chosen Monthly contracts as a base Each price depends on
t: market condition at day t, T: delivery date (i.e. seasonality) T − t: time-to-delivery (i.e. discounting and storage costs)
these factors are not fixed but stochastically changes from day to day. Ft,T = xt + ϕt,T + ψt,T−t, T = T1, T2, . . . , Tn
SLIDE 10 Building a model
Ft,T = xt + ϕt,T + ψt,T−t, T = T1, T2, . . . , Tn xt scalar
Drives parallel shifts
T discrete ⇒ ϕt is a vector
Seasonality effect Our choice: periodic, 12 months 11 factors needed: y1
t , . . . , x11 t
T − t continuous, ψt is a function of T − t.
Back/forwardation, Humped shape, etc... Our choice: ψt,T−t = z1
t e−λ1(T−t) + z2 t e−λ2(T−t) + z3 t e−λ3(T−t)
3 factors needed: z1
t , z2 t , z3 t .
Can reproduce Nelson-Siegel-Svensson factors
SLIDE 11
Building a model: the observations
At each time t, Ft,T is a linear combination of xt, y1
t , . . . , y11 t , z1 t , z2 t , z3 t :
Ft,T = xt + αT · yt + βT−t · zt. We do not observe all the monthly contracts Ft,T We have only few (and aggregate) observations These observations are linear combinations of unobserved monthly prices ⇒ The observations are l.c. of the variables xt, yt and zt. yt,i = at,i · xt yt zt + σt,iεt,i, εt,i ∼ iid σt,i control the reliability of each observation
SLIDE 12
Building a model: the parameters
At each time t, Ft,T is a linear combination of xt, y1
t , . . . , y11 t , z1 t , z2 t , z3 t :
Ft,T = xt + αT · yt + βT−t · zt. The dynamics of the parameters control how the model learn from (or adapt to) the observations xt drives the whole curve: Our choice: ARIMA(2,1,2) yt drives seasonality patterns:
Quarter component: Mean reverting process (local level) Month component: low-vol martingale
zt drives the NSS factors
Mean reverting process (local level)
SLIDE 13
The dynamics (technical)
“quarter” factors: dyq
t = Λ(µt − yt) + CqDqdW q t ,
dµt = Cqd ˜ W q
t
“month” factors dym
t
= CmdW m
t
“NSS” factors dzt = Λ(ηt − zt) + CzDzdW z
t ,
dηt = Czd ˜ W z
t
Cq, Cm and Cz allows to rotate (recombine) the factors in case our choice is not the optimal
SLIDE 14 −5 5 10
Common
−4 4
Qa
−5 5
Q1a
−2 2
Q2a
−5 5
Q3a
−10 5
Q4a
2009 2010 2011 2012 2013
Index
−100 50
b1
SLIDE 15
Example: Identifying outliers
2009 2010 2011 2012 2013 −5 5 10 Index aaa[, 2:4]
SLIDE 16
Example: Identifying outliers (cont.)
Q2 12 Q3 12 Q4 12 Q1 13 Q2 13 Q3 13 Q4 13 2012-03-28 80.03 81.75 80.30 73.12 75.05 2012-03-29 75.83 80.20 81.95 80.10 75.80 78.40 2012-03-30 75.65 75.80 80.15 73.65 2012-04-02 79.95 81.80 79.85 73.30 75.60 77.95 2012-04-03 79.95 81.85 73.17 75.60 78.25
SLIDE 17 Performances
2009 2010 2011 2012 2013 1 2 3 4 5 time Abs.Err
- ne day ahead prediction error
SLIDE 18 Performances
2009 2010 2011 2012 2013 1 2 3 4 5 time Abs.Err
normalized prediction error
SLIDE 19 Performances
Quarter Year 0.5 1.0 1.5
normalized prediction error
Type Err