multi-step-ahead prediction of volatility proxies · multi-step-ahead prediction of volatility...
TRANSCRIPT
Multi-step-ahead prediction of
volatility proxies
Jacopo De Stefani, Ir. - [email protected]. Gianluca Bontempi - [email protected] Caelen, PhD - [email protected] Hattab, PhD - [email protected]
Benelearn 2017
Eindhoven University of Technology, Eindhoven, Nethelands
Friday 9th June, 2017
Problem overview
25
30
35
40
45
First series CAC40 [2012−01−02/2013−11−04]
Last 47.255
Volume (100,000s):
345,721
0
10
20
30
40
50
Moving Average Convergence Divergence (12,26,9):
MACD: 1.335
Signal: 1.258
−3
−2
−1
0
1
2
3
Jan 022012
Mar 012012
May 022012
Jul 022012
Sep 032012
Nov 012012
Jan 022013
Mar 012013
May 022013
Jul 012013
Sep 022013
Nov 012013
What is volatility?
De�nition
Volatility is a statistical measure of the dispersion of returns for agiven security or market index.
0 20 40 60 80 1008
9
10
11
12High volatility Low volatility
t [days]
Pt
A closer look on data
0 0.2 0.4 0.6 0.8 1 1.2 1.4
9.8
10
10.2
P o0
P h0
P l0
P c0
P o1
P h1
P l1
P c1
Pre-opening
1− f f 1− f
Calendar Day 0 Calendar Day 1
t [days]
Pt
Volatility proxy
P otP htP ltP ct
σJt
Time series forecasting - Taieb [2014]
De�nition
Given a univariate time series {y1, · · · , yT } comprising Tobservations, forecast the next H observations {yT+1, · · · , yT+H}where H is the forecast horizon.
Hypotheses:
I Autoregressive model yt = f(yt−1, · · · , yt−d) + εt with lagorder d
I ε is a stochastic iid model with µε = 0 and σ2ε = σ2
Multistep ahead forecasting for volatilityState-of-the-art
m(σ)
· · · σJt−1][σJt−d
· · ·[σJt σJt+H ]
1 Input1 Output
Proposed method
m(σ)
· · ·· · ·· · ·
σXMt−1 ]
· · · ]σJt−1]
[σXMt−d
[· · ·[σJt−d
· · ·[σJt σJt+H ]
M + 1 inputs1 output
Future work
m(σ)
· · ·· · ·· · ·
σXMt−1 ]
· · · ]σJt−1]
[σXMt−d
[· · ·[σJt−d
· · ·· · ·· · ·
[σJt[· · ·[σXMt
σJt+H ]
· · · ]σXMt+H ]
M + 1 inputsM + 1 outputs
Multistep ahead forecasting for volatilityState-of-the-art
m(σ)
· · · σJt−1][σJt−d
· · ·[σJt σJt+H ]
1 Input1 Output
Proposed method
m(σ)
· · ·· · ·· · ·
σXMt−1 ]
· · · ]σJt−1]
[σXMt−d
[· · ·[σJt−d
· · ·[σJt σJt+H ]
M + 1 inputs1 output
Future work
m(σ)
· · ·· · ·· · ·
σXMt−1 ]
· · · ]σJt−1]
[σXMt−d
[· · ·[σJt−d
· · ·· · ·· · ·
[σJt[· · ·[σXMt
σJt+H ]
· · · ]σXMt+H ]
M + 1 inputsM + 1 outputs
Multistep ahead forecasting for volatilityState-of-the-art
m(σ)
· · · σJt−1][σJt−d
· · ·[σJt σJt+H ]
1 Input1 Output
Proposed method
m(σ)
· · ·· · ·· · ·
σXMt−1 ]
· · · ]σJt−1]
[σXMt−d
[· · ·[σJt−d
· · ·[σJt σJt+H ]
M + 1 inputs1 output
Future work
m(σ)
· · ·· · ·· · ·
σXMt−1 ]
· · · ]σJt−1]
[σXMt−d
[· · ·[σJt−d
· · ·· · ·· · ·
[σJt[· · ·[σXMt
σJt+H ]
· · · ]σXMt+H ]
M + 1 inputsM + 1 outputs
Models for volatility
Volatility models
Pastvolatility
Average-based
HA
MAES
EWMA
STES
SimpleRegression
SR-AR
SR-TAR
SR-ARMA
RandomWalk
ARCH
Symmetric
ARCH(q)
GARCH(p,q)
Asymmetric
EGARCH(p,q)
GJR-GARCH(p,q)
QGARCH(p,q)
ST-GARCH(p,q)
RS-GARCH(p,q)Extended
Component-GARCH(p,q)
RGARCH(p,q)
MachineLearning
NN
k-NN SVR
GB
Models for volatility
Volatility models
Pastvolatility
Average-based
HA
MAES
EWMA
STES
SimpleRegression
SR-AR
SR-TAR
SR-ARMA
RandomWalk
ARCH
Symmetric
ARCH(q)
GARCH(p,q)
Asymmetric
EGARCH(p,q)
GJR-GARCH(p,q)
QGARCH(p,q)
ST-GARCH(p,q)
RS-GARCH(p,q)Extended
Component-GARCH(p,q)
RGARCH(p,q)
MachineLearning
NN
k-NN SVR
GB
Models for volatility
Volatility models
Pastvolatility
Average-based
HA
MAES
EWMA
STES
SimpleRegression
SR-AR
SR-TAR
SR-ARMA
RandomWalk
ARCH
Symmetric
ARCH(q)
GARCH(p,q)
Asymmetric
EGARCH(p,q)
GJR-GARCH(p,q)
QGARCH(p,q)
ST-GARCH(p,q)
RS-GARCH(p,q)Extended
Component-GARCH(p,q)
RGARCH(p,q)
MachineLearning
NN
k-NN SVR
GB
Past Research
Models for volatility
Volatility models
Pastvolatility
Average-based
HA
MAES
EWMA
STES
SimpleRegression
SR-AR
SR-TAR
SR-ARMA
RandomWalk
ARCH
Symmetric
ARCH(q)
GARCH(p,q)
Asymmetric
EGARCH(p,q)
GJR-GARCH(p,q)
QGARCH(p,q)
ST-GARCH(p,q)
RS-GARCH(p,q)Extended
Component-GARCH(p,q)
RGARCH(p,q)
MachineLearning
NN
k-NN SVR
GB
Past Research
Current Research
Proposed model
m(σ)
· · ·· · ·
σXt−1]
σJt−1]
[σXt−d
[σJt−d
· · ·[σJt σJt+H ]
2 TS Input1 TS Output
Volatility proxies σX , σJ :
I σi family - Garman and Klass[1980]
I GARCH (1,1) model - Hansenand Lunde [2005]
I Sample standard deviation
System overview
Missing values imputation
Proxy generation
Correlation analysisModel identi�cation
Model choice
Evaluation choice
Forecaster
Raw
OHLC data
Imputed
OHLC data
σit, σ
SDt , σG
t
{ANN,
KNN}
{RO,
RW}
m∗, θ∗
User choice
User choice
Data
preprocessing
System overview
Missing values imputation
Proxy generation
Correlation analysisModel identi�cation
Model choice
Evaluation choice
Forecaster
Raw
OHLC data
Imputed
OHLC data
σit, σ
SDt , σG
t
{ANN,
KNN}
{RO,
RW}
m∗, θ∗
User choice
User choice
Data
preprocessing
System overview
Missing values imputation
Proxy generation
Correlation analysisModel identi�cation
Model choice
Evaluation choice
Forecaster
Raw
OHLC data
Imputed
OHLC data
σit, σ
SDt , σG
t
{ANN,
KNN}
{RO,
RW}
m∗, θ∗
User choice
User choice
Data
preprocessing
Correlation analysis - CAC40 Time seriesMeta-analysis (cf. Field [2001]) across 40 time
series (CAC40)
?
?
?
?
?
?
?
?
?
?
?
?
?
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Volu
me
σ 1 σ 6 σ 4 σ 5 σ 2 σ 3 r t σ 0 σ SD
25
0
σ SD
10
0
σ SD
50
σ G
Volume
σ1
σ6
σ4
σ5
σ2
σ3
rt
σ0
σSD
250
σSD
100
σSD
50
σG
I Hierarchicalclusteringusing Ward Jr[1963]
I Time range:05-01-2009 to22-10-2014
I 1489 OHLCsamples perTS
I All thecorrelationsarestatisticallysigni�cant
NARX forecaster - ResultsNaive normalized MASE
σX ANN kNN ANNX kNNX GARCH(1,1)
σ6 0.07 0.08 0.06 0.11 1.34V olume 0.07 0.08 0.07 0.14 1.34σSD,5 0.07 0.08 0.07 0.09 1.34σSD,15 0.07 0.08 0.06 0.10 1.34σSD,21 0.07 0.08 0.06 0.10 1.34
Single CAC40 stock
I σJt = σG
t
I 10-step ahead
I 10-fold CV
I 05-01-2009⇒22-10-2014
Naive normalized MASE
σX ANN kNN ANNX kNNX GARCH(1,1)
σ6 0.58 0.49 0.53 0.56 1.15V olume 0.58 0.49 0.57 0.66 1.15σSD,5 0.58 0.49 0.58 0.58 1.15σSD,15 0.58 0.49 0.65 0.65 1.15σSD,21 0.58 0.49 0.56 0.65 1.15
S&P500 Index
I σJt = σG
t
I 10-step ahead
I 10-fold CV
I 01-04-2012 to30-07-2013 asin Dash andDash [2016]
Conclusions
I B Preliminary results
I CorrelationI Correlation clustering among proxies belonging to the same
family, i.e. σit and σ
SD,nt .
I ForecastingI Both machine learning methods outperform the benchmark
methods (naive and GARCH).I ANN can take advantage of the additional information
provided by the exogenous proxy better than k-NN
I Combination of proxies coming from di�erent families couldimprove forecast accuracy
I We are currently assessing the performances of the models fordi�erent forecasting horizons h and model orders d.
I Inclusion of a greater number of input TS as a future researchdirection.
Thank you for your attention! Any questions/comments?
Find the paper at:
Bibliography I
References
Tim Bollerslev. Generalized autoregressive conditionalheteroskedasticity. Journal of econometrics, 31(3):307�327,1986.
Rajashree Dash and PK Dash. An evolutionary hybrid fuzzycomputationally e�cient egarch model for volatility prediction.Applied Soft Computing, 45:40�60, 2016.
Andy P Field. Meta-analysis of correlation coe�cients: a montecarlo comparison of �xed-and random-e�ects methods.Psychological methods, 6(2):161, 2001.
Bibliography II
Mark B Garman and Michael J Klass. On the estimation of securityprice volatilities from historical data. Journal of business, pages67�78, 1980.
Peter R Hansen and Asger Lunde. A forecast comparison ofvolatility models: does anything beat a garch (1, 1)? Journal of
applied econometrics, 20(7):873�889, 2005.
Rob J Hyndman and Anne B Koehler. Another look at measures offorecast accuracy. International journal of forecasting, 22(4):679�688, 2006.
Souhaib Ben Taieb. Machine learning strategies for
multi-step-ahead time series forecasting. PhD thesis, Ph. D.Thesis, 2014.
Joe H Ward Jr. Hierarchical grouping to optimize an objectivefunction. Journal of the American statistical association, 58(301):236�244, 1963.
Appendix
Correlation analysis - Methodology
[σi(1), σSD(1), σG(1)
]
[σi(j), σSD(j), σG(j)
]
[σi(N), σSD(N), σG(N)
]
corr(·)
corr(·)
corr(·)
Meta-analysistoolkit
corr(σAGG)
corr(σ(1))
corr(σ(j))
corr(σ(N))
I 40 Time series (CAC40)I Time range: 05-01-2009 to 22-10-2014 ⇒ 1489 OHLC
samples per TS
NARX forecaster - Methodology
σJpOriginalDGP
Disturbances
d
Modelm∗(θ∗, σJ
p , σXp )
Structural
identi�cation
Parametric
identi�cation{ANN,KNN}
{RO, RW}
σXp
eσJf
σJf
m∗(·, σJp , σXp ) θ∗
Model identi�cation
Volatility proxies (1) - Garman and Klass [1980]
I Closing prices
σ0(t) =
[ln
(P
(c)t+1
P(c)t
)]2= r2t (1)
I Opening/Closing prices
σ1(t) =1
2f·
[ln
(P
(o)t+1
P(c)t
)]2︸ ︷︷ ︸
Nightly volatility
+1
2(1− f)·
[ln
(P
(c)t
P(o)t
)]2︸ ︷︷ ︸
Intraday volatility
(2)
I OHLC prices
σ2(t) =1
2 ln 4·
[ln
(P
(h)t
P(l)t
)]2(3)
σ3(t) =a
f·
[ln
(P
(o)t+1
P(c)t
)]2︸ ︷︷ ︸
Nightly volatility
+1− a1− f · σ2(t)︸ ︷︷ ︸Intraday volatility
(4)
Volatility proxies (2) - Garman and Klass [1980]
I OHLC prices
u = ln
(P
(h)t
P(o)t
)d = ln
(P
(l)t
P(o)t
)c = ln
(P
(c)t
P(o)t
)(5)
σ4(t) = 0.511(u− d)2 − 0.019[c(u+ d)− 2ud]− 0.383c2 (6)
σ5(t) = 0.511(u− d)2 − (2 ln 2− 1)c2 (7)
σ6(t) =a
f· log
(P
(o)t+1
P(c)t
)2
︸ ︷︷ ︸Nightly volatility
+1− a1− f · σ4(t)︸ ︷︷ ︸Intraday volatility
(8)
Volatility proxies (3)
I GARCH (1,1) model - Hansen and Lunde [2005]
σGt =
√√√√ω +
p∑j=1
βj(σGt−j)
2 +
q∑i=1
αiε2t−i
where εt−i ∼ N (0, 1), with the coe�cients ω, αi, βj �tted according to
Bollerslev [1986].
I Sample standard deviation
σSD,nt =
√√√√ 1
n− 1
n−1∑i=0
(rt−i − r)2
where
rt = ln
(P
(c)t
P(c)t−1
)rn =
1
n
t∑j=t−n
rj
Hyndman and Koehler [2006] - Errormeasures
Error measures
Scaleindependant
MAPE
MdAPE
RMSPE
RMdSPE
sMAPE
sMdAPE
Scaledependant
MSE
RMSE
MAE
MdAE
RelativeErrors
MRAE
MdRAE
GMRAE
MASE
RelativeMeasures
RelX
Percent-Better
Hyndman and Koehler [2006] - Scaledependant
Scale dependant
MSE
RMSE
MAE
MdAE et = yt − ytI MSE : 1
n
∑nt=0(yt − yt)2
I RMSE :√1n
∑nt=0(yt − yt)2
I MAE : 1n
∑nt=0 |yt − yt|
I MdAE :Mdt∈{1···n}(|yt − yt|)
Hyndman and Koehler [2006] - Scaleindependant
Scale independant
MAPE
MdAPE
RMSPE
RMdSPE
sMAPE
sMdAPE
I MAPE :1n
∑nt=0 | 100 ·
yt−ytyt|
I MdAPE :Mdt∈{1···n}(| 100 · yt−ytyt
|)
I RMSPE :√1n
∑nt=0(100 ·
yt−ytyt
)2
I RMdSPE :√Mdt∈{1···n}((100 · yt−ytyt
)2)
I sMAPE :1n
∑nt=0 200 ·
|yt−yt|yt+yt
I sMdAPE :Mdt∈{1···n}(200 ·
|yt−yt|yt+yt
)
Hyndman and Koehler [2006] - Relativeerrors
Relative Errors
MRAE
MdRAE
GMRAE
MASE
rt =ete∗t
I MRAE : 1n
∑nt=0 | rt |
I MdRAE : Mdt∈{1···n}(| rt |)
I GMRAE :n
√1n
∏t = 0n | rt |
I MASE :1T
∑Tt=1
(|et|
1T−1
∑Ti=2|Yi−Yi−1|
)
Hyndman and Koehler [2006] - Relativemeasures
Relative Measures
RelX
Percent-Better
I RelX : XXbench
I Percent Better :PB(X) =100 · 1n
∑forecasts I(X < Xb)
where
I X: Error measure of theanalyzed method
I Xb: Error measure of thebenchmark