Volatility transmission is a very
important feature of the financial markets. Harris and Pisedtasalasai (“Return and Volatility
Spillovers Between Large and Small Stocks in the UK”,
2005) outline
the following points:” (1) transmission mechanisms tell us something about
market efficiency. In an efficient market, and in the absence of time-varying risk
premia, it should not be possible to forecast the returns of one stock using
the lagged returns of another stock. The finding that there are spillover
effects in returns implies the existence of an exploitable trading strategy
and, if trading strategy profits exceed transaction costs, potentially
represents evidence against market efficiency. (2) transmission mechanisms may
be useful for portfolio management, where knowledge of return spillover effects
may be useful for asset allocation or stock selection. (3) information about
volatility spillover effects may be useful for applications in finance that
rely on estimates of conditional volatility, such as option pricing, portfolio optimization,
value at risk and hedging.”
Stepping on this research basis
we can try to answer the following questions:
Does
volatility spillover effects exist between the CBOE VIX index and Brent oil
price?
Which
one (VIX or oil price) is the main volatility transmitter?
The model applied to answer these
questions is Multivariate GARCH model – and in particular BEKK-GARCH. BEKK-GARCH Model (named after Baba, Engle,
Kraft and Kroner) is an extension of the bivariate GARCH model and is able to
capture volatility transmission among different financial assets, as well as
the persistence of volatility within each of the assets analysed.
A little bit of
methodology to explain the idea:
The
vector autoregressive stochastic process of the returns can be presented in the
following form (Karunanayake et al., 2009):
where
vech (H) is an operator that stacks the columns of the lower triangular
part of its argument square matrix, H is the covariance matrix
of the residuals.
C
is the upper triangular matrix of constants.
A and B in the equation
are both symmetric matrices. The non-diagonal elements of matrix A (i.e. ARCH
effects) measure the effect of innovation (shocks) in market i on
market j, while the diagonal
elements measure own innovation effect (shocks) of market i. The non-diagonal elements of matrix B (i.e. GARCH effects) measure
the persistence of conditional volatility spillover between markers
(cross-volatility spillover), while diagonal elements measure own volatility
persistence.
And the implementation in R:
library(Quandl)
library(PerformanceAnalytics)
library(MTS)
vix<-Quandl("YAHOO/INDEX_VIX",
collapse="daily", start_date="2006-01-01",
type="zoo")
vix<-vix[,
"Adjusted Close"] #take only the adjusted close values
vix.ret<-CalculateReturns(vix,
method="log")
vix.ret<-vix.ret[-1,]
#removes the first raw since it is NA
brent<-Quandl("EIA/PET_RBRTE_D",
start_date="2006-01-01", type="zoo")
brent.ret<-CalculateReturns(brent,
method="log")
brent.ret<-brent.ret[-1,]
#removes the first raw since it is NA
#merge VIX and BRENT
returns and exclude NA cases:
data<-cbind(vix.ret,
brent.ret)
data<-na.omit(data)
cor(x)[1,2]
}
cov(x)[1,2]
}
by.column=FALSE, align="right")
roll.cor = rollapply(as.zoo(data), FUN=cor.fun, width=20,
by.column=FALSE, align="right")
par(mfrow=c(2,1))
plot(roll.cov, main="20-day rolling covariances",
ylab="covariance", lwd=2, col="blue")
grid()
abline(h=cov(data)[1,2], lwd=2, col="red")
plot(roll.cor, main="20-day rolling correlations",
ylab="correlation", lwd=2, col="blue")
grid()
abline(h=cor(data)[1,2], lwd=2, col="red")
par(mfrow=c(1,1))
#Now make BEKK11 from
MTS-package:
m1=BEKK11(data)
#takes some time to calculate it
And we get the following result:
Coefficient(s):
Estimate Std. Error
t value Pr(>|t|)
mu1.vix.ret -6.65408e-05
3.06049e-03 -0.02174
0.98265383
mu2.brent.ret
-2.13211e-05 1.61574e-03 -0.01320 0.98947151
A011 7.33477e-02 1.29265e-03
56.74214 < 2.22e-16 ***
A021 -3.92517e-03 1.06010e-03
-3.70265 0.00021336 ***
A022 2.16678e-02 4.40651e-04
49.17241 < 2.22e-16 ***
A11 1.00000e-01 3.31692e-02
3.01485 0.00257110 **
A21 2.00000e-02 1.54254e-02
1.29656 0.19478119
A12 2.00000e-02 7.67921e-02
0.26044 0.79452162
A22 1.00000e-01 4.28668e-02
2.33281 0.01965831 *
B11 8.00000e-01 1.05377e-02
75.91781 < 2.22e-16 ***
B21 1.00000e-01 4.06332e-03
24.61044 < 2.22e-16 ***
B12 1.00000e-01 1.53339e-02
6.52152 6.9601e-11 ***
B22 8.00000e-01 6.95043e-03 115.10074 < 2.22e-16 ***
---
Signif.
codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05
‘.’ 0.1 ‘ ’ 1
And
it is important here to distinguish the diagonal and non-diagonal elements of
the matrices A and B. Diagonal elements are A11, A22 and B11 and B22 and represent respectively the influence of
own volatility shocks and the influence from past squared volatilities. The off-diagonal
elements (A12, A21 and B12, B21) represent the cross-market effects of shocks
and volatility spillover among the markets. While all B-coefficients are
statistically significant, indicating that there is both own volatility and
volatility spillover effects between VIX and Brent oil price, the off-diagonal A
elements are not statistically significant, indicating that no significant
cross-market effect of shocks exist. The diagonal elements of A are
statistically significant.
Both
off-diagonal elements of B are 0.1 indicating that 1% increase in VIX index
transmit 10% volatility to Brent oil price and 1% increase in Bren oil price
transmit 10% volatility to VIX. Nevertheless, B21 has lower p-value than B12,
indicating that the transmission from VIX to Brent is stronger.
How to calculate the Optimal Hedge Ratios, this data? With BEKK11.
ReplyDelete