Learn R Programming

fAssets (version 3002.80)

assetsFit: Fitting of Multivariate Asset Sets

Description

Fits the parameters to a multivariate normal, skew normal, or (skew) Student-t distribution.

Usage

assetsFit(x, method = c("st", "snorm", "norm"), title = NULL, 
    description = NULL, fixed.df = NA, ...)

Arguments

x
a numeric matrix of returns or any other rectangular object like a data.frame or a multivariate time series object which can be transformed by the function as.matrix to an object of class matrix.
method
a character string, which type of distribution should be fitted? method="st" denotes a multivariate skew-Student-t distribution, method="snorm" a multivariate skew-Normal distribution, and method="no
title
a character string, assigning a title to an "fASSETS" object.
description
a character string, assigning a brief description to an "fASSETS" object.
fixed.df
either NA, the default, or a numeric value assigning the number of degrees of freedom to the model. In the case that fixed.df=NA the value of df will be included in the optimization process,
...
optional arguments to be passed.

Value

  • assetsFit() returns a S4 object class of class "fASSETS", with the following slots:
  • @callthe matched function call.
  • @datathe input data in form of a data.frame.
  • @descriptionallows for a brief project description.
  • @fitthe results as a list returned from the underlying fitting function.
  • @methodthe selected method to fit the distribution, one of "norm", "snorm", "st".
  • @modelthe model parameters describing the fitted parameters in form of a list, model=list(mu, Omega, alpha, df.
  • @titlea title string.
  • The @fit slot is a list with the following compontents: (Note, not all are documented here).
  • @fit$dpa list containing the direct parameters beta, Omega, alpha. Here, beta is a matrix of regression coefficients with dim(beta)=c(nrow(X), ncol(y)), Omega is a covariance matrix of order dim, alpha is a vector of shape parameters of length dim.
  • @fit$sea list containing the components beta, alpha, info. Here, beta and alpha are the standard errors for the corresponding point estimates; info is the observed information matrix for the working parameter, as explained below.
  • fit@optimthe list returned by the optimizer optim; see the documentation of this function for explanation of its components.
  • Note that the @fit$model slot can be used as input to the function assetsSim for simulating a similar portfolio of assets compared with the original portfolio data, usually market assets.

Details

The function assetsFit for the parameter estimation uses code based on functions from the contributed packages "mtvnorm" and "sn" for fitting data to a multivariate Normal, skew-Normal, or skew-Student-t distribution.

References

Azzalini A. (1985); A Class of Distributions Which Includes the Normal Ones, Scandinavian Journal of Statistics 12, 171--178.

Azzalini A. (1986); Further Results on a Class of Distributions Which Includes the Normal Ones, Statistica 46, 199--208.

Azzalini A., Dalla Valle A. (1996); The Multivariate Skew-normal Distribution, Biometrika 83, 715--726.

Azzalini A., Capitanio A. (1999); Statistical Applications of the Multivariate Skew-normal Distribution, Journal Roy. Statist. Soc. B61, 579--602.

Azzalini A., Capitanio A. (2003); Distributions Generated by Perturbation of Symmetry with Emphasis on a Multivariate Skew-t Distribution, Journal Roy. Statist. Soc. B65, 367--389. Genz A., Bretz F. (1999); Numerical Computation of Multivariate t-Probabilities with Application to Power Calculation of Multiple Contrasts, Journal of Statistical Computation and Simulation 63, 361--378.

Genz A. (1992); Numerical Computation of Multivariate Normal Probabilities, Journal of Computational and Graphical Statistics 1, 141--149. Genz A. (1993); Comparison of Methods for the Computation of Multivariate Normal Probabilities, Computing Science and Statistics 25, 400--405. Hothorn T., Bretz F., Genz A. (2001); On Multivariate t and Gauss Probabilities in R, R News 1/2, 27--29. Wuertz, D., Chalabi, Y., Chen W., Ellis A. (2009); Portfolio Optimization with R/Rmetrics, Rmetrics eBook, Rmetrics Association and Finance Online, Zurich.

Examples

Run this code
## LPP -
   # Percentual Returns:
   LPP = 100 * as.timeSeries(data(LPP2005REC))[, 1:6]
   colnames(LPP)
   
## assetsFit -
   # Fit a Skew-Student-t Distribution:
   fit = assetsFit(LPP)
   print(fit)
   # Show Model Slot:
   print(fit@model)
   
## assetsSim -
   # Simulate set with same statistical properties:
   set.seed(1953)
   lppSim = assetsSim(n = nrow(LPP), dim = ncol(LPP), model = fit@model)
   colnames(lppSim) <- colnames(LPP)
   rownames(lppSim) <- rownames(LPP)
   head(lppSim)

Run the code above in your browser using DataLab