Stationarity, cointegration and GARCH model of financialtime series
[if !supportLists]1.????[endif]Introduction:
Security dailyreturns is hard to be predicted, but the study of returns has been across thetime series exploration. This paper examines ARMA model, which was firstlydescribed in 1951 (Peter Whittle, Hypothesis testing in time series analysis) (Wikipedia,2020) [1] and GARCH model family on daily returns of FTSE100 index. Section 2 describesthe data and variables to be estimated by the time series models. Section 3 summarizesoutput statistics of the models. Section 4 discusses a conclusion.
[if !supportLists]2.????[endif]Inputdata and variables description
The research oftime series models will be based on two datasets. The first data is FSTE100index historical daily returns and 5-min realized variance from 2000-01-04 to 2017-12-29,which was provided on Moodle. The second one is the crude oil spot and future dailyreturns from 2017-12-11 to 2020-11-30. The crude oil spot price data isavailable on EIA (energy information administration) websites [2] and thefuture prices are downloaded from yahoo-finance with the ticker of “CL=F”,which is the Crude Oil Jan.2021 future contracts.
Firstly, we will discussabout the notion of stationarity. A stochastic process[if !vml]
[endif]
is stationary if forany fixed[if !vml]
[endif]doesnot change as a function of[if !vml]
[endif]. In particular, moments and jointmoments are?constant. (Alex, 2020) [3] To be more specific, somestatistical properties of a time series should not change with time. Generalexamples of the properties include the mean E(xt), variance Var(xt) and covariance Cov(xt, xt+k)which should be constant. On the other hand,non-stationary time series indicates the mean, variance or covariance changeswith time.
In practice,there are several methods to examine if a time series is stationary. One of themost popular methods is the Dickey-Fuller test, which is named after thestatisticians David Dickey and Wayne Fuller, who developed the test in 1979. (Wikipedia,2020)[4] The table below shows the Dickey-Fuller test of FTSE100 returns. Based onthe fact that the p-value of 3.39E-22 is significantly smaller than all threelevels (%1, 5%,10%) critical values, the returns is stationary.
ADF-test for FTSE100 returnvalue
Test Statistic Value-11.9986
p-value3.39E-22
Lags Used32
Number of Observations Used4504
Critical Value (1%)-3.4318
Critical Value (5%)-2.86218
Critical Value (10%)-2.56711
Table 1: ADF testof FTSE100 returns
The table belowshows the ADF test for Crude Oil price returns. Since the test statisticalvalue is smaller than the critical values and the p-value is significantlysmall, the returns of the future and spot price are also stationary.
ADF-test for crude oil pricefuture pricespot price
Test Statistic Value-9.48642-8.50151
p-value3.75E-161.23E-13
Lags Used1013
Number of Observations Used726723
Critical Value (1%)-3.43939-3.43943
Critical Value (5%)-2.86553-2.86555
Critical Value (10%)-2.56889-2.5689
Table 2: ADF testof oil splot and future prices
Besides thestationarity, another important feature of time series which is commonly testedis cointegration. Cointegration?is a?statistical?property of acollection?(X1,?X2,?...,?Xk)?of?timeseries?variables. If all of the series are integrated of order d?.anda?linear combination?of this collection is integrated of order lessthan d, then the collection is said to be co-integrated. Formally, if (X, Y,
Z) are each integrated of order?d, and there existcoefficients?a,b,c?such that?aX+?bY?+?cZisintegrated of order less than d, thenX,?Y, andZarecointegrated. (Wikipedia, 2020)?[5] A cointegration test is used toestablish if there is a correlation between severaltime seriesinthe long term. The concept was first introduced by Nobel laureates Robert Engleand Clive Granger, in 1987, after British economist Paul Newbold and Grangerpublished the spurious regression concept. One of the most important testmethods is the Engle-Granger approach. The test includes two steps starting bycreating residuals based on the static regression and then testing theresiduals for the presence of unit roots. It uses the Augmented Dickey-FullerTest (ADF) or other tests to test for stationarity units in time series. If thetime series is cointegrated, the Engle-Granger method will show thestationarity of the residuals. (CFI, 2020) [6]
[if !supportLists]3.????[endif]Modeloutput statistics
The first modelwe try to fit the FTSE100 dataset is ARMA (p, q) model:?
[if !vml]
[endif]
Where: φ = the autoregressive modelparameters; θ = the moving average model parameters; c = a constant; ε = errorterms (white noise) (Stephanie,2020) [7]
One of the directmethods to determine the p and q parameters is to look at the ACF and PACFplot. As the table1 in Appendix, the ACF and PACF values are both notsignificant from one la, indicating that the returns are not significantlycorrelated with the historical previous data. Therefore, we will try the ARMA (1,1)model. The table3 below shows the ARMA results.
ARIMA Model Results
Dep. Variable:???????????????? Return?? No. Observations:???????????????? 4037
Model:???????????????????? ARMA(1, 1)?? Log Likelihood?????????????? 12170.071
Method:?????????????????????? css-mle?? S.D. of innovations????????????? 0.012
Date:??????????????? Wed, 16 Dec 2020?? AIC???????????????? ????????-24332.142
Time:??????????????????????? 21:04:36?? BIC???????????????????????? -24306.929
Sample:???????????????????????????? 0?? HQIC??????????????????????? -24323.209
================================================================================
?????????????????? coef??? std err????????? z????? P>|z|????? [0.025????? 0.975]
--------------------------------------------------------------------------------
const?????????? -0.0001????? 0.000???? -0.942????? 0.346????? -0.000?????? 0.000
ar.L1.Return???? 0.6660????? 0.089????? 7.498????? 0.000?????? 0.492?????? 0.840
ma.L1.Return??? -0.7296????? 0.081???? -8.968????? 0.000????? -0.889????? -0.570
Roots
????????????????? Real????????? Imaginary?????????? Modulus???????? Frequency
AR.1? ??????????1.5016?????????? +0.0000j??????????? 1.5016??????????? 0.0000
MA.1??????????? 1.3706?????????? +0.0000j??????????? 1.3706??????????? 0.0000
Table3: result of ARIMA (1,1) model of FTSE 100 returns
The ARMA model
performs not well for the high AIC, BIC, and HQIC values.
Next, to forecastthe daily volatility, we will try three models: GARCH, GJR, and
[if !supportLists](i)????????????[endif]GARCH
For the threeGARCH family models, we will try to use other parameters to improve the modelperformance. As Table2 and Graph1&2 shows, the PACF and ACF for squaredreturns are much different from the original returns. We would choose p=5 andq=5.
The table 4 belowshows the GARCH(5,5)
Constant Mean - GARCH Model? Results
Dep. Variable:???????????????? Return?? R-squared:????????????????????? -0.001
Mean Model:???????????? Constant Mean?? Adj. R-squared:???????????????? -0.001
Vol Model:????????????????????? GARCH?? Log-Likelihood:??????????????? 12963.5
Distribution:????????????????? Normal?? AIC:?????????? ???????????????-25903.1
Method:??????????? Maximum Likelihood?? BIC:????????????????????????? -25827.5
??????????????????????????????????????? No.? Observations:???????????????? 4032
Date:??????????????? Thu, Dec 17 2020?? Df Residuals:????????????????? ???4020
Time:??????????????????????? 20:49:21?? Df Model:?????????????????????????? 12
Mean Model
?????????????? ??coef???
? std err????????? t????? P>|t|?????? 95.0% Conf. Int.
mu???????? 2.1783e-04? 1.570e-04????? 1.387????? 0.165 [-8.992e-05,5.256e-04]
Volatility Model
???????????????? coef??? std err????????? t????? P>|t|????? 95.0% Conf. Int.
omega????? 2.8366e-06? 2.907e-11?
? 9.758e+04????? 0.000? [2.837e-06,2.837e-06]
alpha[1]?????? 0.0400?
? 5.661e-02????? 0.707????? 0.480?
? [-7.095e-02,? 0.151]
alpha[2]?????? 0.0400?
? 7.307e-02????? 0.547????? 0.584???? [ -0.103,? 0.183]
alpha[3]?????? 0.0400?
? 1.816e-02????? 2.202? 2.765e-02 [4.399e-03,7.560e-02]
alpha[4]?????? 0.0400?
? 6.250e-02????? 0.640????? 0.522?
? [-8.250e-02,? 0.162]
alpha[5]?????? 0.0400?
? 6.308e-02????? 0.634????? 0.526?
? [-8.363e-02,? 0.164]
beta[1]??????? 0.1560????? 1.924?
? 8.107e-02????? 0.935???? [ -3.615,? 3.927]
beta[2]??????? 0.1560????? 2.338?
? 6.674e-02????? 0.947???? [ -4.426,? 4.738]
beta[3]????? ??0.1560?????
? 0.415????? 0.376????? 0.707???? [ -0.658,? 0.970]
beta[4]??????? 0.1560????? 1.390????? 0.112????? 0.911???? [ -2.568,? 2.880]
beta[5]??????? 0.1560????? 1.190????? 0.131????? 0.896???? [ -2.176,? 2.488]
Table4: result of GARCH(5,5) model of FTSE 100 returns
According to the result, the GARCH Model is:
?t=σt*ut
σt2 = 2.8366*10
?6 + 0.04 ?t+ 0.156* (σt
– i)2
With the GARCHmodel, the Graph3 shows the predicted volatility, and the Table 4 shows thepredicted volatility errors. The model performs not well.
(ii) GJR
The volatilitydynamics in a GJR-GARCH model are given by
[if !vml]
[endif](Kevin, 2019) [8]
The table belowshows the result of the model statistics.?
Constant Mean - GJR-GARCH Model Results
Dep. Variable:???????????????? Return?? R-squared:????????????????????? -0.000
Mean Model:???????????? Constant Mean?? Adj. R-squared:???????????????? -0.000
Vol Model:????????????????? GJR-GARCH?? Log-Likelihood:??????????????? 13032.9
Distribution:??????? ??????????Normal?? AIC:????????????????????????? -26039.9
Method:??????????? Maximum Likelihood?? BIC:????????????????????????? -25957.9
??????????????????????????????????????? No.? Observations:???????????????? 4032
Date:??????????????? Thu, Dec 17 2020?? Df Residuals:???????????????????? 4019
Time:??????????????????????? 21:29:53?? Df Model:?????????????????????????? 13
Mean Model
????????????????? coef??? std err????????? t????? P>|t|??????? 95.0% Conf. Int.
mu???????? -5.8570e-05? 6.666e-06???? -8.786?
? 1.552e-18 [-7.164e-05,-4.550e-05]
Volatility Model
???????????????? coef??? std err????????? t????? P>|t|?????? 95.0% Conf. Int.
omega????? 2.8365e-06? 3.189e-12?
? 8.896e+05????? 0.000? [2.837e-06,2.837e-06]
alpha[1]?????? 0.0200?
? 6.722e-02????? 0.298????? 0.766????? [ -0.112,? 0.152]
alpha[2]?????? 0.0200?
? 3.521e-02????? 0.568????? 0.570 [-4.900e-02,8.900e-02]
alpha[3]?????? 0.0200?
? 3.674e-02????? 0.544????? 0.586 [-5.202e-02,9.202e-02]
alpha[4]?????? 0.0200?
? 4.537e-02????? 0.441????? 0.659??
? [-6.893e-02,? 0.109]
alpha[5]?????? 0.0200?
? 5.392e-02????? 0.371????? 0.711??
? [-8.569e-02,? 0.126]
gamma[1]?????? 0.2000?
? 5.196e-02????? 3.849? 1.185e-04???
? [9.816e-02,? 0.302]
beta[1]??????? 0.1560????? 0.195????? 0.801????? 0.423??
? ???[ -0.226,? 0.538]
beta[2]??????? 0.1560????? 0.195????? 0.801????? 0.423????? [ -0.226,? 0.538]
beta[3]??????? 0.1560????? 0.328????? 0.476????? 0.634????? [ -0.486,? 0.798]
beta[4]??????? 0.1560????? 0.354????? 0.441????? 0.659????? [ -0.538,? 0.850]
beta[5]??????? 0.1560????? 0.476????? 0.328????? 0.743????? [ -0.777,? 1.089]
Table5: result of GJR(5,1,5) model of FTSE 100 returns
The graph4 showsthe predicted volatility errors of GJR model. The predictions perform mediocre.
(iii) EGARCH:
The third modelwe test is the EGARCH model. The graph below shows the predicted volatility ofEGARCH model. Table 6 below shows the model summary of EGARCH.
Constant Mean - EGARCH Model Results
Dep. Variable:???????????????? Return?? R-squared:??????????????????? ???-0.001
Mean Model:???????????? Constant Mean?? Adj. R-squared:???????????????? -0.001
Vol Model:?????????????????? EGARCH?? Log-Likelihood:??????????????? 12990.8
Distribution:????????????????? Normal?? ?AIC:???????????????????????? -25957.6
Method:??????????? Maximum Likelihood?? BIC:??????????????????????? -25882.0
??????????????????????????????????????? No.? Observations:?????????????? 4032
Date:??????????????? Thu, Dec 17 2020?? Df Residuals:???????????????????? 4020
Time:??????????????????????? 21:41:05?? Df Model:???????????????????????? 12
Mean Model
??????? ?????????coef???
? std err????????? t????? P>|t|?????? 95.0% Conf. Int.
mu???????? 2.4847e-04? 1.299e-04????? 1.912?
? 5.587e-02 [-6.226e-06,5.032e-04]
Volatility Model
???????????????? coef??? std err????????? t????? P>|t|???? 95.0% Conf. Int.
omega???? ????-0.5769????? 0.247???? -2.340?
? 1.927e-02 [ -1.060,-9.376e-02]
alpha[1]?????? 0.2074?
? 4.113e-02????? 5.041? 4.632e-07???
? [? 0.127,? 0.288]
alpha[2]?????? 0.2340?
? 9.985e-02????? 2.343? 1.911e-02?
? [3.828e-02,? 0.430]
alpha[3]?????? 0.3065?
? 7.969e-02?? ???3.846?
? 1.200e-04??? [? 0.150,?
? 0.463]
alpha[4]?????? 0.0726????? 0.101????? 0.722????? 0.470???
? [ -0.124,? 0.270]
alpha[5]?????? 0.0930?
? 8.504e-02????? 1.094????? 0.274 [-7.364e-02,? 0.260]
beta[1]??? 3.0627e-14????? 0.307?
? 9.964e-14????? 1.000??? [ -0.602,?
? 0.602]
beta[2]??????? 0.0000????? 0.184????? 0.000????? 1.000???
? [ -0.361,? 0.361]
beta[3]??????? 0.3623????? 0.348????? 1.042????? 0.297???
? [ -0.319,? 1.044]
beta[4]??? 1.1093e-13????? 0.370?
? 3.002e-13????? 1.000??? [ -0.724,?
? 0.724]
beta[5]??????? 0.5733????? 0.405????? 1.414????? 0.157???
? [ -0.221,? 1.368]
Table6: result of EGARCH(5,5) model of FTSE 100 returns
To estimate themodel performance, we use three metrics: MSE, MAE and MAPE. Where the MSE isthe mean squared error, MAE is the mean error, and MAPE is the mean absoluteerror.
GARCHGJREGARCH
MSE8.349e-080.0001098.32e-05
MAE0.008630.010450.00865
MAPE256964.48305868251324.53
[if !supportLists]4.????[endif]Conclusion:
Based on theoutput statistics, we can see that the three metrics of the predictedvolatility of GARCH model is smaller than the other two models and the metricsof the GJR is biggest. Hence, we can conclude that the GARCH model performsbest and the GJR model performs worst.
Citation:
[1]Autoregressive–moving-average model. (2020, December 02). Retrieved December
09, 2020, from https://en.wikipedia.org/wiki/Autoregressive%E2%80%93moving-average_model
[2](n.d.). Retrieved December
10, 2020, from https://www.eia.gov/dnav/pet/hist/RWTCD.htm
[3] Alex, A. (2020, May 20). Stationarity
and Non-stationary Time Series with Applications in R. Retrieved December 09,
[4] Dickey–Fuller test. (2020, December
01). Retrieved December 10, 2020, from https://en.wikipedia.org/wiki/Dickey%E2%80%93Fuller_test
[5] Cointegration. (2020, December 05).
Retrieved December 10, 2020, from https://en.wikipedia.org/wiki/Cointegration
[6] Cointegration - Overview, History,
Methods of Testing. (2020, May 01). Retrieved December 10, 2020, from https://corporatefinanceinstitute.com/resources/knowledge/other/cointegration/
[7] Stephanie. (2020, June 08). ARMA
model. Retrieved December 10, 2020, from https://www.statisticshowto.com/arma-model/
[8] Kevin Sheppard. (2019, September 04).
Example: GJR-GARCH Estimation. Retrieved December 10, 2020, from https://www.kevinsheppard.com/teaching/python/notes/notebooks/example-gjr-garch/