stata代写-MANG 6297 ATS
时间:2022-05-15
MANG 6297 ATS Lecture Week
9
Dr Soumyatanu Mukherjee
3In the previous lecture, we
studied…
… the relation between uncertainty and
conditional variance
… autoregressive conditional heteroscedasticity
of order q (ARCH(q)) models
… positivity and stationarity conditions of an
ARCH(q) model
… forecasting with an ARCH(q) model
… testing whether ARCH(q) is present in the
data
… estimating and diagnosing an ARCH(q) model
... shortcomings of ARCH(q) models
… estimating a GARCH(1,1) model
4Outline
Part A. GARCH(1,1) estimation and diagnostics
Part A. GARCH(1,1) forecasting
Part B. Conditional variance and the
GARCH(p,q) model
Part B. GARCH(p,q) model: positivity and
stationarity
Part B. GARCH(p,q) estimation and diagnostics
Part B. GARCH(p,q) forecasting
Part C. GARCH(p,q) model: extensions
Part D. Multivariate GARCH(p.q) model
5Part A. GARCH(1,1) estimation and
diagnostics
6Reminder: GARCH(1,1) model
estimation
The maximum likelihood estimation (MLE) method is
required to estimate non-linear models. Normality of the
random disturbance term is essential for this method.
To this end, we can use the following representation = �
, where is assumed independent and identically
distributed with mean zero and standard deviation 1, and
= 0 + 1 � −12 + 1 � −12 (Eq.1)
Assuming normality, we estimate the following model
The conditional mean model is given by (Eq.2), assuming
that = −1, = 0.
= 0 + 1 � −1 + � (Eq.2)
Suppose the conditional variance model is given by
2 = 0 + 1 � −12 + 1 � −12 (Eq.3)
7
_cons .7343483 .0530822 13.83 0.000 .6303092 .8383874
L1. .8243318 .0093386 88.27 0.000 .8060285 .8426351
garch
L1. .1420716 .0095526 14.87 0.000 .1233488 .1607944
arch
ARCH
_cons .1068301 .0718288 1.49 0.137 -.0339517 .247612
L1. .029181 .0225763 1.29 0.196 -.0150678 .0734298
R_Bitcoin
R_Bitcoin
R_Bitcoin Coef. Std. Err. z P>|z| [95% Conf. Interval]
OPG
Log likelihood = -6724.613 Prob > chi2 = 0.1962
Distribution: Gaussian Wald chi2(1) = 1.67
Sample: 01may2013 - 05feb2020 Number of obs = 2,472
ARCH family regression
Reminder: GARCH(1,1) estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1)
8 The estimated model is summarised in the previous
slide. The coefficient estimates of the conditional
variance model are: 0 = 0.7343483,1 = 0.1420716, and
1 = 0.8243318
We now test if the constant term in the conditional
variance model is positive. The null hypothesis is 0 =0, and the alternative hypothesis is 0 > 0. In Stata, the
corresponding command is . test [ARCH]_cons= 0
This a Wald test, and the test statistic is distributed
with a Chi-Squared distribution with 1 degree of
freedom. The test outcome is
( 1) [ARCH]_cons= 0
chi2(1) = 191.38
Prob > chi2 = 0.0000
GARCH(1,1) post-estimation:
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1)
9 The Stata outcome indicates that the test statistic is 191.38,
and the p-value is 0.0000. However, the Wald test is a two-
sided test. To perform a one-sided test, we need to proceed
in several steps
First, the square root of the chi-squared distribution with 1
degree of freedom is the standard normal distribution.
Therefore, we can obtain the z-statistic by calculating the
square root of the Wald test statistic
Second, to find out whether the z-statistic is positive or
negative, we need to determine whether the coefficient
estimate is positive or negative. To this end, we can use the
sign() function of Stata and define a local variable as follows
. local sign_cons = sign([ARCH]_cons)
GARCH(1,1) post-estimation:
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1)
10
Third, since the null is “smaller or equal than” (the
alternative is “greater than”), the critical/rejection region is
in the right tail. The next line of Stata command will read as:
. display "H_0: coef<=0 p-value = "1-
normal(`sign_cons'*sqrt(r(chi2)))
The test outcome is H_0: coef<=0 p-value = 0
Since the p-value associated to the test statistic is 0, we
reject the null; the constant term of the conditional variance
model is positive
We can also test the null hypothesis 1 = 0 (against 1 < 0)
and the null 1 = 0 (against 1 < 0). We find that the null
hypothesis cannot be rejected
Taken together, we can conclude that the conditional
variance is positive definite
GARCH(1,1) post-estimation:
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1)
11
It is possible to show that the conditional variance is
stationary, since 1 + 1 < 1
However, caution needs to be exercised, since under
the null hypothesis, the conditional variance follows an
integrated process. Therefore, the test statistic may be
distributed with a distribution different from a Chi-
Square
The corresponding Stata command is
. test [ARCH]L.arch + [ARCH]L.garch == 1
The outcome is
( 1) [ARCH]L.arch + [ARCH]L.garch = 1
chi2( 1) = 46.27
Prob > chi2 = 0.0000
However, we now need to calculate the p-value for a
one-sided z-test (see next slide)
GARCH(1,1) post-estimation:
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1)
12
We now determine the sign of the test statistic:
. local sign_stationary = sign(-1 + [ARCH]L.arch +
[ARCH]L.garch)
Since the alternative is “smaller than”, the critical region
is in the lower tail. The p-value of a one-sided z-statistic
is calculated as follows
. display "H_0: coef>=0 p-value = "
normal(`sign_stationary'*sqrt(r(chi2)))
The outcome is H_0: coef>=0 p-value = H_0: coef>=0
p-value = 5.157e-12. We reject the null; the coefficients’
sum is smaller than 1
We now calculate the long-run variance forecast as
follows:
= 2 = 01− 1+1 = 0.73434831−0.9664034 = 0.73434830.0335966 =21.8578
GARCH(1,1) post-estimation:
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1)
13
GARCH(1,1) model: diagnostics
An important question is
whether the GARCH(1,1) is
correctly specified. We can
further diagnose if there is
(no) remaining autoregressive
conditional heteroscedasticity
Graphical inspection of the
standardised residual �
shows little evidence of
volatility clustering.
Stata commands used to
generate the standardised
residual from the GARCH(1):
. predict res, residuals
. predict sigma2, variance
. generate sigma =
sqrt(sigma2)
. generate v = res/sigma
. tsline v, lcolor(blue) xlabel(,
angle(vertical))
-1
0
-5
0
5
10
v
01
ja
n2
01
3
01
ja
n2
01
4
01
ja
n2
01
5
01
ja
n2
01
6
01
ja
n2
01
7
01
ja
n2
01
8
01
ja
n2
01
9
01
ja
n2
02
0
date1
14
GARCH(1,1) model: non-normality
of the random disturbance term
The sample counterpart is given by � = �, referred to as the
standardised residual
Whether � is normal can be tested by means of any
conventional normality test, such as the Jarque-Bera test
Underlying the Jarque-Bera test is the null hypothesis that the
coefficient of skewness is 0 and the coefficient of kurtosis is 3,
which characterise a normal distribution
What happens if the error distribution is non-normal?
Coefficient estimates will still be consistent and unbiased, but
the standard errors may be biased and inconsistent
If the null of normality is rejected, a different variance-
covariance matrix estimator that is robust to non-normality
needs to be used. This procedure is known as quasi-maximum
likelihood, proposed by Bollerslev and Wooldridge (1992)
15
GARCH(1,1) model: non-normality
of the random disturbance term
Consider the standardised
residual �
Jarque-Bera test normality:
. jb v
The test outcome is
Jarque-Bera normality test:
5744 Chi(2) 0
Jarque-Bera test for Ho:
normality:
Since the p-value associated
with the test statistic is
smaller than the significance
level 0.05 we reject that � is
normally distributed
To model thick tails, you can
assume e.g. a t-student
distribution for the random
disturbance term
0
.2
.4
.6
.8
D
en
si
ty
-10 -5 0 5 10
v
. hist v
16
Part B. Conditional variance and GARCH(p,q)
17
Conditional variance and
GARCH(p,q) model
GARCH(1,1) can be extended to the case where the variance of
the random disturbance term depends on lags of conditional
variance and on lags of squared random disturbance:
2 = 0 + 1 � −12 + ⋯+ � −2 + 1 � −12 +⋯+ � −2 (Eq.4)
This is referred to as a G(, ) model. Putting together
the conditional mean and conditional variance equations
yields
= 0 + 1 � + 2 � +
0 + 1 � −12 + ⋯+ � −2 + 1 � −12 +⋯+ � −2
� (Eq.5)
It is possible to show that it can be expressed as an ∞ ,
provided that the stationarity condition is satisfied.
18
GARCH(p,q) model: positivity
and stationarity
A (, ) must satisfy positivity and stationarity
conditions
First, the conditional variance can only be positive
In the case of an (, ) model, the positivity
condition implies 0 > 0, … , ≥ 0, and 1 ≥ 0, … , ≥ 0
Second, in the case of a (, ) model, the
stationarity condition implies that 1 + ⋯+ + 1 + ⋯+
< 1
If the stationarity condition is not satisfied, then the
conditional variance will continue growing large and
eventually will ‘explode’
If the stationarity condition is satisfied, then the
(, ) model can be expressed as an ∞
19
GARCH(p,q) model: forecasting
If a (, ) satisfies the stationarity and positivity
conditions, we can use it for forecasting
Short-term forecasting. For short-term forecast (‘few’
periods ahead), you can use the estimated (, )
model as it is
Long-term forecasting. For long-term forecasts, my
advice is to use the unconditional variance, provided that
the positivity and stationarity conditions are satisfied
20
GARCH(p,q) model: forecasting
For instance, a (, )model, taking unconditional
expectation of (Eq.4) we obtain 2
2
2
= 0 + 1 � −12
2
+ ⋯+ � −2
2
+ 1 �
−
2
2
+ ⋯+ � −2
2
(Eq.6)
Or
2 = 0 + 1 � 2 +⋯+ � 2 +1 � 2 +⋯+ � 2.
Operating yields the following long-term variance
forecast
2 = 2 = 01− 1+⋯++1+⋯+ (Eq.7)
21
GARCH(2,2) estimation with STATA
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
_cons 1.034249 .1172928 8.82 0.000 .804359 1.264138
L2. .5337188 .0903488 5.91 0.000 .3566385 .7107992
L1. .2094258 .1112223 1.88 0.060 -.0085658 .4274174
garch
L2. .0265611 .0250205 1.06 0.288 -.0224781 .0756004
L1. .183585 .0163813 11.21 0.000 .1514783 .2156917
arch
ARCH
_cons .1032548 .071262 1.45 0.147 -.0364161 .2429257
L1. .0282531 .0247881 1.14 0.254 -.0203306 .0768369
R_Bitcoin
R_Bitcoin
R_Bitcoin Coef. Std. Err. z P>|z| [95% Conf. Interval]
OPG
Log likelihood = -6720.473 Prob > chi2 = 0.2544
Distribution: Gaussian Wald chi2(1) = 1.30
Sample: 01may2013 - 05feb2020 Number of obs = 2,472
ARCH family regression
22
Estimated Equations 2 and 4 are summarised on the
previous slide. The coefficient estimates of the
conditional variance model are: 0 = 1.034249,1 =0.183585,2 = 0.0265611,1 = 0.2094258,2 = 0.5337188
Let’s test if the constant term in the conditional
variance model is positive. The null hypothesis is 0 =0, and the alternative hypothesis is 0 > 0. In Stata, the
corresponding command is . test [ARCH]_cons= 0
The test statistic is distributed with a Chi-Square
distribution with 1 degree of freedom. The test
outcome is
( 1) [ARCH]_cons= 0
chi2( 1) = 77.75
Prob > chi2 = 0.0000
GARCH(2,2) post-estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
23
The Stata outcome indicates that the test statistic is
77.75, and the p-value is 0.0000. But please note that
the Wald test is a two-sided test. To perform a one-
sided test, we need to proceed in several steps
1. The square root of the Chi-Square distribution with 1
degree of freedom is the standard normal distribution.
We can obtain the z-statistic by calculating the square
root of the Wald test statistic
2. To find out whether the z-statistic is positive or
negative, we can use the sign() function of Stata and
define a local variable as follows
. local sign_cons22 = sign([ARCH]_cons)
GARCH(2,2) post-estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
24
3. Since the null is “smaller or equal than” (the
alternative is “greater than”), the critical/rejection
region is in the right tail. The next line of Stata
command will read as:
. display "H_0: coef<=0 p-value = "1-
normal(`sign_cons22'*sqrt(r(chi2)))
The test outcome is H_0: coef<=0 p-value = 0
Since the p-value associated to the test statistic is 0, we
reject the null; the constant term is positive
The restriction under null hypothesis 1 = 0 (against
the alternative 1 < 0) cannot be rejected. Likewise, the
null hypotheses 2 = 0 (against 2 < 0), 1 = 0 (against
1 < 0), and 2 = 0 (against 2 < 0) cannot be rejected
Therefore, the positivity conditions are satisfied
GARCH(2,2) post-estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
25
It is possible to show that the conditional variance is
stationary, since 1 + 2 + 1 + 2 < 1
The corresponding Stata command is
. test [ARCH]L1.arch + [ARCH]L2.arch + [ARCH]L1.garch
+ [ARCH]L2.garch == 1
The outcome is
( 1) [ARCH]L.arch + [ARCH]L2.arch + [ARCH]L.garch +
[ARCH]L2.garch = 1
chi2( 1) = 28.45
Prob > chi2 = 0.0000
However, we now need to calculate the p-value for a
one-sided z-test (see next slide)
GARCH(2,2) post-estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
26
We now determine the sign of the test statistic:
. local sign_stationary22= sign(-1 + [ARCH]L1.arch +
[ARCH]L2.arch + [ARCH]L1.garch + [ARCH]L2.garch )
Since the alternative is “smaller than”, the critical region
is in the lower tail. The p-value of a one-sided z-statistic
is calculated as follows
. display "H_0: coef>=0 p-value = "
normal(`sign_stationary22'*sqrt(r(chi2)))
The outcome is H_0: coef>=0 p-value = H_0: coef>=0
p-value = 4.816e-08. Thus, we can reject the null
coefficients’ sum is smaller than 1
We calculate the long-run variance forecast as follows:
= 2 = 01− 1+2+1+2 = 1.0342491−0.953291 = 22.14225
GARCH(2,2) post-estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
27
Let’s now find out which of the models, GARCH(1,1) or
GARCH(2,2) provides a better fit to the data
This reduces to the following testable restriction under
the null 0:2 = 0,2 = 0 against 0:2 ≠ 0 2 ≠ 0.
The Stata command is
. test [ARCH]L2.arch [ARCH]L2.garch
The outcome is
( 1) [ARCH]L2.arch = 0
( 2) [ARCH]L2.garch = 0
chi2( 2) = 101.51
Prob > chi2 = 0.0000
We can reject the null that the GARCH(1,1) is the
preferred conditional volatility model
GARCH(2,2) post-estimation
. arch R_Bitcoin L.R_Bitcoin, arch(1/2) garch(1/2)
28
Part C. GARCH(p,q) extensions
29
GARCH(p,q) extensions:
Threshold GARCH
One of the shortcomings of (, ) models is that
they enforce a symmetric response of conditional
variance to positive and negative shocks
This is because the conditional variance in equations like
(Eq.3) is a function of the magnitudes of the lagged
residuals and not their signs!
However, a negative shock to financial time series (e.g.,
equity returns) is likely to cause volatility to rise by more
than a positive shock of the same magnitude
In the case of equity returns, such asymmetries are
typically attributed to leverage effects: a decline in the
value of a firm’s equity causes the firm’s debt-to-equity
ratio to rise. As a result, shareholders will perceive their
future cashflow stream as relatively more risky.
30
GARCH(p,q) extensions: Threshold
GARCH(p,q)
One significant contribution to the literature was made by
Glosten, Jaganathan and Runkle (1993), referred to as the GJR-
GARCH or Threshold GARCH (TGARCH) model
For instance, (1,1) is an extension of (1,1) with
an additional term added to account for potential
asymmetries:
2 = 0 + 1 � −12 + 1 � −12 + 1 � −1 � −12 (Eq.8)
Where −1 = 1 if −1 < 0 and −1 = 0 otherwise. Normally, we
would expect 1 > 0 if a negative shock causes volatility to rise
by more than a positive shock of the same magnitude
The positivity condition of the (1,1) model implies
0 > 0, 1 + 1 ≥ 0 and 1 ≥ 0
Question: Is the leverage hypothesis supported by the Bitcoin
data? See next slide!
31
_cons .7358533 .0531933 13.83 0.000 .6315962 .8401103
L1. .8241015 .0093553 88.09 0.000 .8057654 .8424377
garch
L1. -.0032001 .0119368 -0.27 0.789 -.0265958 .0201955
tarch
L1. .1438003 .0116172 12.38 0.000 .121031 .1665697
arch
ARCH
_cons .1047855 .075128 1.39 0.163 -.0424627 .2520336
L1. .0294053 .0230022 1.28 0.201 -.0156781 .0744887
R_Bitcoin
R_Bitcoin
R_Bitcoin Coef. Std. Err. z P>|z| [95% Conf. Interval]
OPG
Log likelihood = -6724.599 Prob > chi2 = 0.2011
Distribution: Gaussian Wald chi2(1) = 1.63
Sample: 01may2013 - 05feb2020 Number of obs = 2,472
ARCH family regression
TGARCH(1,1) estimation with Stata:
. arch R_Bitcoin L.R_Bitcoin, arch(1) garch(1) tarch(1)
32
The estimated TGARCH(1,1) model shows that the term
−1 � −1
2 has a negative and insignificant effect
The null hypothesis is that 1 = 0 and the alternative
hypothesis is 1 > 0
The test statistic is -0.27, and the critical value at the
significance level of 0.05 for a one-tailed test is 1.6449.
Thus, we cannot reject the null hypothesis
The data do not seem to support the hypothesis that a
negative shock causes volatility to rise by more than a
positive shock of the same magnitude
The positivity condition continues to hold. Specifically,
we conclude that 0 > 0, 1 + 1 ≥ 0 and 1 ≥ 0 are
supported
GARCH(p,q) extensions: Threshold
GARCH(p,q)
33
GARCH(p,q) extensions:
Exponential GARCH(p,q)
Another significant contribution is Nelson (1991), who
proposed an exponential GARCH (EGARCH) model. This
model has at least two advantages
First, unlike in the GARCH or TGARCH models, where the
conditional variance is in LEVELS, in the EGARCH model,
the conditional variance is in LOGS. Thus, the conditional
variance is always positive definite
Second, the EGARCH specification entails two types (SIGN
and SIZE) asymmetries
34
GARCH(p,q) extensions:
Exponential GARCH(p,q)
The (1,1) can be written as:
2 = 0 + 1 −1−1 + Γ1 −1−1 − 2 + 1 −12 (Eq.9)
We would expect 1 < 0 if a negative shock causes
volatility to rise by more than a positive shock of the
same magnitude (SIGN effect)
We would expect Γ1 > 0; a large shock raises volatility by
more than a small shock, of either sign (SIZE effect)
35
EGARCH(1,1) estimation with Stata:
. arch R_Bitcoin L.R_Bitcoin, earch(1) egarch(1)
_cons .2156932 .0127206 16.96 0.000 .1907614 .240625
L1. .9316115 .0043148 215.91 0.000 .9231547 .9400683
egarch
L1. .2898027 .0147423 19.66 0.000 .2609083 .318697
earch_a
L1. -.0150838 .0073094 -2.06 0.039 -.0294099 -.0007577
earch
ARCH
_cons .1236189 .0597552 2.07 0.039 .0065009 .2407368
L1. .0057541 .0211541 0.27 0.786 -.0357071 .0472154
R_Bitcoin
R_Bitcoin
R_Bitcoin Coef. Std. Err. z P>|z| [95% Conf. Interval]
OPG
Log likelihood = -6715.201 Prob > chi2 = 0.7856
Distribution: Gaussian Wald chi2(1) = 0.07
Sample: 01may2013 - 05feb2020 Number of obs = 2,472
ARCH family regression
36
The estimated EGARCH(1,1) model shows that 1 =
− 0.0150; thus a negative shock raises volatility more
than a positive shock of the same magnitude
The null hypothesis is that 1 = 0 and the alternative
hypothesis is 1 < 0
The test statistic is -2.06, and the critical value at the
significance level of 0.05 for a one-tailed test is -
1.6449, assuming a Normal distribution
Thus, we can reject the null hypothesis
GARCH(p,q) extensions:
Exponential GARCH(p,q)
37
The estimated EGARCH(1,1) also shows that Γ1 = 0.2898
Therefore, a large shock raises volatility more than a
small shock, of either sign
The null hypothesis is that Γ1 = 0 and the alternative
hypothesis is Γ1 > 0
The test statistic is 19.66, and the critical value at the
significance level of 0.05 for a one-tailed test is 1.6449
Thus, we can reject the null hypothesis
GARCH(p,q) extensions:
Exponential GARCH(p,q)
38
GARCH(p,q) extensions:
GARCH(p,q) in mean
Investors expect higher risk to be compensated by a higher
return. So why not let the return of a security be partly
determined by its risk?
Engle, Lilien and Robins (1987) incorporated in the conditional
mean model the conditional variance or standard deviation:
= 0 + 1 � + 2 � + Λ � −12 + (Eq.10)
The conditional variance is governed by a (, ) model.
(Eq.10) predicts that investors should be rewarded for taking
additional risk by obtaining a higher return, where Λ can be
interpreted as a risk premium
Researchers disagree on whether the conditional variance or
standard deviation should be measured in period or − 1.
Investors in period do not observe
2, but rather −1
2 !
39
GARCH(1,1) in mean estimation:
. arch R_Bitcoin L.R_Bitcoin, arch(1)
garch(1) archmlags(1)
_cons .7364064 .053328 13.81 0.000 .6318855 .8409273
L1. .8240175 .0093574 88.06 0.000 .8056773 .8423577
garch
L1. .142386 .0095883 14.85 0.000 .1235934 .1611787
arch
ARCH
L1. .0050429 .0071452 0.71 0.480 -.0089615 .0190472
sigma2
ARCHM
_cons .050053 .1109853 0.45 0.652 -.1674742 .2675803
L1. .0286766 .0226707 1.26 0.206 -.0157572 .0731103
R_Bitcoin
R_Bitcoin
R_Bitcoin Coef. Std. Err. z P>|z| [95% Conf. Interval]
OPG
Log likelihood = -6724.325 Prob > chi2 = 0.3385
Distribution: Gaussian Wald chi2(2) = 2.17
Sample: 01may2013 - 05feb2020 Number of obs = 2,472
ARCH family regression
40
The estimated GARCH(1,1) in mean model shows that
the conditional variance exerts a positive but
insignificant effect on the return on Bitcoin
This can be verified by testing the null hypothesis Λ = 0
against the alternative Λ > 0. The z-statistic is 0.71, and
the critical value at the significance level of 0.05 for a
one-tailed test is 1.6449
Since the test statistic falls within the non-rejection
region we cannot reject the null
Therefore, the estimated model does not support the
view that investors should be rewarded for taking
additional risk by obtaining a higher return
GARCH(p,q) extensions:
GARCH(p,q) in mean
41
Part D. Multivariate GARCH(p,q)
42
A limitation of univariate volatility models is that the
estimated conditional variance of each variable is
entirely independent of other variables
This is potentially an important limitation for two
reasons
First, if there are volatility spillovers between markets or
assets, the univariate model will be misspecified
Second, covariances between random disturbance terms
may be of interest
Multivariate GARCH models can be used for estimation
of
Conditional betas
Dynamic hedge ratios
Portfolio variances
Multivariate GARCH(p,q) model
43
Multivariate GARCH (MGARCH) models are similar to
their univariate counterparts with one notable
difference: they allow us to specify how the covariances
between random disturbances evolve over time
MGARCH models can be used to forecast conditional
covariances and correlations
Therefore, MGARCH models are inherently more
complex to specify and estimate
Common MGARCH models: BEKK, CCC, DCC, VECH
Multivariate GARCH(p,q) model
44
More formally, the conditional mean model can be
outlined as
= � + (Eq.11)
Suppose the conditional variance model is embedded in
the vector of random disturbance terms
= 1/2 (Eq.12)
Where is an × 1 vector of dependent variables,
and are × 1 vectors of unanticipated changes
(innovations or shocks) to the dependent variables, is
an k × 1 vector of explanatory variables, is an ×
matrix of coefficients of the conditional mean model,
is a × conditional variance and covariance matrix
Multivariate GARCH(p,q) model
45
VECH-MGARCH Model
In the VECH-MGARCH model, the conditional covariances
would each depend on the lags of the squares of both
random disturbance terms and their cross product.
VECH is an operator that vectorises the lower triangular part
of a matrix. The VECH-GARCH model can be outlined as
= + � −1′−1 + � −1 , (Eq.13)
where |−1~ 0, and
−1′−1 = 1,−12,−1 1,−1 2,−1 =
1,−12 1,−12,−1
1,−12,−1 2,−12 = 1,−121,−12,−12,−12 (Eq.14)
46
VECH-MGARCH Model
In the previous slide, is given by
= 1,2 12,12, 2,2 = 1,212,2,2 (Eq.15)
= 12
3
, = 11 12 1321 22 23
31 32 33
, = 11 12 1321 22 23
31 32 33
(Eq.16)
47
VECH-MGARCH Model
If we write down individual equations, we obtain
1,2 = 1 + 111,−12 + 122,−12 + 131,−12,−1 + 111,−12 +
122,−12 + 1312,−1 (Eq.17)
12, = 2 + 211,−12 + 222,−12 + 231,−12,−1 + 211,−12 +
222,−12 + 2312,−1 (Eq.18)
2,2 = 3 + 311,−12 + 322,−12 + 331,−12,−1 + 311,−12 +
322,−12 + 3312,−1 (Eq.19)
There are 7 coefficients in each of the three equations, so we
would need to estimate 21 coefficients in total (in the
conditional variance model)
This can be computationally expensive
As we increase the number of variables in the MGARCH
model, the number of parameters increases exponentially!
48
Diagonal VECH-MGARCH Model
It is advisable to simplify the model to the diagonal
VECH-MGARCH model
In the two-variable case, we obtain
1,2 = 1 + 111,−12 + 111,−12 (Eq.20)
12, = 2 + 221,−12,−1 + 2212,−1 (Eq.21)
2,2 = 3 + 332,−12 + 332,−12 (Eq.22)
Now we only need to estimate 9 coefficients (in the
conditional variance model)
In practice, neither the VECH-MGARCH nor the diagonal-
VECH-MGARCH can ensure that the variance and
covariance matrix is positive definite
49
Diagonal VECH-MGARCH Model –
Example
We estimate a diagonal VECH-MGARCH(1,1) for the
returns on crude oil spot and futures contracts. The
data period runs from January 1986 to February 2021.
In order to overcome computational challenges, we
further assume that 11 = 22 = 33 = 0 . The resulting
model is the diagonal VECH-MARCH(1) as follows
In the two-variable case, we obtain
1,2 = 1 + 111,−12 (Eq.23)
12, = 2 + 221,−12,−1 (Eq.24)
2,2 = 3 + 332,−12 (Eq.25)
Now we only need to estimate 6 coefficients (in the
conditional variance model)
50
Diagonal VECH-MARCH – Example
. mgarch dvech ( retsoil=) (retfoil =), arch(1)
2_2 .3909924 .0647058 6.04 0.000 .2641714 .5178134
2_1 .3981297 .0659282 6.04 0.000 .2689129 .5273465
1_1 .4070052 .0673045 6.05 0.000 .2750908 .5389196
L.ARCH
2_2 57.83748 4.982534 11.61 0.000 48.07189 67.60307
2_1 58.04718 5.012597 11.58 0.000 48.22267 67.87169
1_1 58.32455 5.047954 11.55 0.000 48.43074 68.21836
/Sigma0
_cons .7751369 .3659083 2.12 0.034 .0579698 1.492304
retfoil
_cons .7840183 .3667485 2.14 0.033 .0652044 1.502832
retsoil
Coef. Std. Err. z P>|z| [95% Conf. Interval]
Log likelihood = -1754.329 Prob > chi2 = .
Distribution: Gaussian Wald chi2(.) = .
Sample: 1986m2 - 2021m2 Number of obs = 421
Diagonal vech MGARCH model
Coefficients c1,
c2 and c3
Coefficients a11,
a22 and a33
51
Instead of covariances, another approach is to model
correlations
Constant conditional correlation (CCC) MGARCH
(Bollerslev, 1990):
= 1/21/2 (Eq.26)
Where the
1/2 is a diagonal matrix with conditional
standard deviations in the principal diagonal, and is
the matrix of constant conditional correlations
In the CCC-MGARCH model, the correlations between
random disturbances are assumed constant
Thus, the conditional covariances are tied to the
variances
CCC-MGARCH
52
The conditional variances in the CCC-MGARCH model
resemble univariate GARCH specifications. However, the
conditional variance equations in the CCC-MGARCH
model are estimated jointly
In the two-variable case, we can write
1,2 = 1 + 111,−12 + 111,−12 (Eq.27)
2,2 = 2 + 222,−12 + 222,−12 (Eq.28)
12, = 121,2, (Eq.29)
Where 12 is the coefficient of correlation between 1,
and 2,
CCC-MGARCH
53
CCC-MARCH – Example
. mgarch ccc (retsoil=) (retfoil =), arch(1)
1,2= 1 + 111,−12
2,2= 2 + 222,−12
corr(retsoil,retfoil) .9982423 .0001732 5763.39 0.000 .9979028 .9985818
_cons 55.77595 4.494499 12.41 0.000 46.96689 64.58501
L1. .2910887 .0454155 6.41 0.000 .2020759 .3801015
arch
ARCH_retfoil
_cons 1.187091 .3818554 3.11 0.002 .4386681 1.935514
retfoil
_cons 56.19926 4.619813 12.16 0.000 47.14459 65.25393
L1. .3064223 .0494329 6.20 0.000 .2095355 .4033091
arch
ARCH_retsoil
_cons 1.202073 .3843212 3.13 0.002 .4488174 1.955329
retsoil
Coef. Std. Err. z P>|z| [95% Conf. Interval]
Log likelihood = -1815.855 Prob > chi2 = .
Distribution: Gaussian Wald chi2(.) = .
Sample: 1986m2 - 2021m2 Number of obs = 421
Constant conditional correlation MGARCH model
12
54
The dynamics is even simpler than the diagonal VECH-
MGARCH. It is computationally less demanding
However, the constant correlation assumption may not
be justified on empirical grounds
The Dynamic Conditional Correlation MGARCH (DCC-
MGARCH) allows to estimate a time variation in the
correlations.
Dynamic conditional correlation (DCC) MGARCH (Engle,
2002):
= 1/21/2 (Eq.30)
Where is the matrix of dynamic conditional quasi-
correlations, which follow a GARCH process
DCC-MGARCH
55
lambda2 .0013078 .0154061 0.08 0.932 -.0288877 .0315032
lambda1 .1627475 .0403623 4.03 0.000 .0836388 .2418562
/Adjustment
retfoil) .9987496 .0001599 6246.41 0.000 .9984362 .999063
corr(retsoil,
_cons 54.53331 4.978025 10.95 0.000 44.77656 64.29006
L1. .5518722 .0853563 6.47 0.000 .3845768 .7191675
arch
ARCH_retfoil
_cons 1.360766 .3597325 3.78 0.000 .6557033 2.065829
retfoil
_cons 54.57975 5.043194 10.82 0.000 44.69527 64.46423
L1. .5710397 .0892865 6.40 0.000 .3960414 .746038
arch
ARCH_retsoil
_cons 1.367174 .3610179 3.79 0.000 .6595917 2.074756
retsoil
Coef. Std. Err. z P>|z| [95% Conf. Interval]
Log likelihood = -1797.799 Prob > chi2 = .
Distribution: Gaussian Wald chi2(.) = .
Sample: 1986m2 - 2021m2 Number of obs = 421
Dynamic conditional correlation MGARCH model
1,2= 1 + 111,−12
2,2= 2 + 222,−12
DCC-MARCH – Example
. mgarch dcc (retsoil=) (retfoil =), arch(1)
Coefficients of
DCC equation