ccor {LFUrmutils} | R Documentation |
Computes conditional correlations based on multivariate volatility models. Currently only implemented for objects of class MultiEWMA
.
ccor(object, ...) ## S3 method for class 'MultiEWMA' ccor(object, diagonal = TRUE, duplicates = TRUE, ...)
object |
Object of class |
diagonal |
Whether diagonal elements should be kept or not. |
duplicates |
Whether duplicate off-diagonal elements should be kept or not. |
... |
Arguments passed to methods. |
Depending on the application, diagonal elements may be deleted, since they are always equal to one. Likewise, duplicated off-diagonal elements may be deleted due to the symmetry of the variance-covariance matrix. However, keep in mind that both diagonal elements as well as duplicated off-diagonal elements may be necessary to compute the variance-covariance matrix.
rho |
A |
Note that the function is currently only implemented for objects of class MultiEWMA
. Implementation for other multivariate volatility models may be added in future releases.
Bernhard Eder
Danielsson (2011). Financial Risk Forecasting. Wiley. Chichester. Jorion (2007). Value at Risk, 3rd. McGraw-Hill. New York. Ruppert and Matteson (2015). Statistics and Data Analysis for Financial Engineering, 2nd. Springer. New York.
MultiEWMA
, varcov
, vola
, ccor
.
library("zoo") # Load returns data("CRSPday_zoo") y <- CRSPday_zoo # Compute multivariate EWMA model (RiskMetrics) EWMA <- MultiEWMA(y, center = TRUE) # Compute conditional correlations EWMAcor <- ccor(EWMA, duplicates = TRUE, diagonal = TRUE) head(EWMAcor) # Compute conditional variance-covariance matrix # Compute relevant volatilities EWMAvola <- vola(EWMA, duplicates = TRUE, offdiagonal = FALSE) # Initialize output object TT <- dim(EWMAcor)[1] c <- sqrt(dim(EWMAcor)[2]) VarCov <- matrix(NA, dim(EWMAcor)[1], dim(EWMAcor)[2]) # Compute conditional variance-covariance matrix for(i in 1:TT){ VarCov[i, ] <- c(diag(as.numeric(EWMAvola[i, ])) %*% matrix(as.numeric(EWMAcor[i, ]), c, c, byrow = TRUE) %*% diag(as.numeric(EWMAvola[i, ])) ) } # Format output VarCov <- zoo(VarCov, order.by = index(EWMAvola)) # Compare conditional variance-covariance matrices head(VarCov) head(EWMA$Variances)