MCA {PerformanceAnalytics} | R Documentation

## Functions for doing Moment Component Analysis (MCA) of financial time series

### Description

calculates MCA coskewness and cokurtosis matrices

### Usage

    M3.MCA(R, k = 1, as.mat = TRUE, ...)

    M4.MCA(R, k = 1, as.mat = TRUE, ...)

### Arguments

`R` | an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns
`k` | the number of components to use
`as.mat` | TRUE/FALSE whether to return the full moment matrix or only the vector with the unique elements (the latter is advised for speed), default TRUE
`...` | any other passthru parameters

### Details

The coskewness and cokurtosis matrices are defined as the matrices of dimension p x p^2 and p x p^3 containing the third and fourth order central moments. They are useful for measuring nonlinear dependence between different assets of the portfolio and computing modified VaR and modified ES of a portfolio.

MCA is a generalization of PCA to higher moments. The principal components in MCA are the ones that maximize the coskewness and cokurtosis present when projecting onto these directions. It was introduced by Lim and Morton (2007) and applied to financial returns data by Jondeau and Rockinger (2017)

If a coskewness matrix (argument M3) or cokurtosis matrix (argument M4) is passed in using ..., then MCA is performed on the given comoment matrix instead of the sample coskewness or cokurtosis matrix.

### Author(s)

Dries Cornilly

### References

Lim, Hek-Leng and Morton, Jason. 2007. Principal Cumulant Component Analysis. working paper

Jondeau, Eric and Jurczenko, Emmanuel. 2017. Moment Component Analysis: An Illustration With International Stock Markets. Journal of Business and Economic Statistics

### See Also

`CoMoments`
`ShrinkageMoments`
`StructuredMoments`
`EWMAMoments`

### Examples

    data(edhec)

    # coskewness matrix based on two components
    M3mca <- M3.MCA(edhec, k = 2)$M3mca

    # screeplot MCA
    M3dist <- M4dist <- rep(NA, ncol(edhec))
    M3S <- M3.MM(edhec)  # sample coskewness estimator
    M4S <- M4.MM(edhec)  # sample cokurtosis estimator
    for (k in 1:ncol(edhec)) {
      M3MCA_list <- M3.MCA(edhec, k)
      M4MCA_list <- M4.MCA(edhec, k)

      M3dist[k] <- sqrt(sum((M3S - M3MCA_list$M3mca)^2))
      M4dist[k] <- sqrt(sum((M4S - M4MCA_list$M4mca)^2))
    }
    par(mfrow = c(2, 1))
    plot(1:ncol(edhec), M3dist)
    plot(1:ncol(edhec), M4dist)
    par(mfrow = c(1, 1))

[Package PerformanceAnalytics version 1.5.3 Index]