Description Usage Arguments Value Details Author(s) References Examples
This function calculatest the High frEquency bAsed VolatilitY (HEAVY) model proposed in Shephard and Sheppard (2010).
1 2 3 |
data |
a (T x K) matrix containing the data, with T the number of days. For the traditional HEAVY model: K = 2, the first column contains the squared daily demeaned returns, the second column contains the realized measures. |
p |
a (K x K) matrix containing the lag length for the model innovations. Position (i, j) in the matrix indicates the number of lags in equation i of the model for the innovations in data column j. For the traditional heavy model p is given by matrix( c(0,0,1,1),ncol=2 ) (default). |
q |
a (K x K) matrix containing the lag length for the conditional variances. Position (i, j) in the matrix indicates the number of lags in equation i of the model for conditional variances corresponding to series j. For the traditionalheavy model introduced above q is given by matrix( c(1,0,0,1),ncol=2 ) (default). |
startingvalues |
a vector containing the starting values to be used in the optimizat ion to find the optimal parameters estimates. |
LB |
a vector of length K indicating the lower bounds to be used in the esti- mation. If NULL it is set to a vector of zeros by default. |
UB |
a vector of length K indicating the upper bounds to be used in the estimation. If NULL it is set to a vector of Inf by default. |
backcast |
a vector of length K used to initialize the estimation. If NULL the unconditional estimates are taken. |
compconst |
a boolean variable. In case TRUE, the omega values are estimated in the optimization. In case FALSE, volatility targeting is done and omega is just 1 minus the sum of all relevant alpha's and beta's multiplied by the unconditional variance. |
A list with the following values:
(i) loglikelihood: The log likelihood evaluated at the parameter estimates.
(ii) likelihoods: an xts object of length T containing the log likelihoods per day.
(iii) condvar: a (T x K) xts object containing the conditional variances
(iv) estparams: a vector with the parameter estimates. The order in which the
parameters are reported is as follows: First the estimates for omega then the
estimates for the non-zero alpha's with the most recent lags first in case max(p) > 1,
then the estimates for the non-zero beta's with the most recent lag first in case
max(q) > 1.
(v) convergence: an integer code indicating the successfulness of the optimization. See optim
for more information.
See vignette. NOTE: The implementation of the heavyModel is not completely finished. For the moment only bound constraints on the parameters are imposed in the optimization. Future developments also include outputting standard errors, and a c-implementation of the likelihood function to speed up the QML estimation.
Jonathan Cornelissen and Kris Boudt
Shephard, N. and K. Sheppard (2010). Realising the future: forecasting with high frequency based volatility (heavy) models. Journal of Applied Econometrics 25, 197-231.
1 2 3 4 5 6 7 8 9 10 11 12 |
# Implementation of the heavy model on DJI:
data("realized_library");
returns = realized_library$Dow.Jones.Industrials.Returns;
rk = realized_library$Dow.Jones.Industrials.Realized.Kernel;
returns = returns[!is.na(rk)]; rk = rk[!is.na(rk)]; # Remove NA's
data = cbind( returns^2, rk ); # Make data matrix with returns and realized measures
backcast = matrix( c(var(returns),mean(rk)) ,ncol=1);
startvalues = c(0.004,0.02,0.44,0.41,0.74,0.56); # Initial values
# output = heavyModel( data = as.matrix(data,ncol=2), compconst=FALSE,
# startingvalues = startvalues, backcast=backcast);
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.