Portfolio.PC: Portfolio selection with principal component analysis

View source: R/Portfolio.PC.R

Portfolio.PCR Documentation

Portfolio selection with principal component analysis

Description

An implementation of the PC portfolio weight optimization through parsimonious higher comoments estimation presented in the paper: Lassance and Vrins (2020) - Portfolio selection with parsimonious higher comoments estimation.

Usage

Portfolio.PC(
  X,
  r = NULL,
  rmax = 10,
  fn_sel = c("ER", "GR", "IC3", "ED"),
  Port_obj = c("MVaR", "EU"),
  alpha = 0.01,
  gamma = 10,
  Adjcov = c("DNL", "LI", "NONE"),
  shortselling = T,
  ...
)

Arguments

X

A matrix or data frame with t rows (samples) and n columns (variables).

r

An integer, the number of factors. Default to NULL, several methods exist to select the number of factors.

rmax

An integer, the maximum number of factors. Default to r=10, only need when r=NULL.

fn_sel

Factor selection criterion (only need when r=NULL):"ER" and "GR", Ahn and Horenstein(2013)'s ER and GR estimators; "IC3", Bai and Ng(2002)'s IC3; "ED", Onatski(2010)'s ED criterion.

Port_obj

The portfolio objective function to be used: Modified Value-at-Risk "MVaR" and Expected Utility "EU".

alpha

The confidence level of MVaR (only need when Port_obj="MVaR"), default to alpha = 0.01.

gamma

The risk averse parameter of CRRA utility function (only need when Port_obj="EU"), default to gamma = 10.

Adjcov

The correction method of covariance matrix: "DNL", Lodit and Wolf(2018)'s Direct NonLinear shrinkage estimation; "LI", Lodit and Wolf(2004)'s Linear Identity shrinkage estimation; "NONE", no correction of the covariance matrix.

shortselling

A logical parameter: whether the portfolio is allowed to shortselling, defalut to TRUE.

...

Any other parameters.

Value

A list contains the optimal portfolio weight, the objective function value, the number of factors, the moments of factors and the moments of epsilon.

  • w Optimal portfolio weight.

  • obj The series of objective function value, the last one is the optimal objective value.

  • r The number of factors.

  • mm_factorThe moments of factors.

  • mm_eps The moments of epsilons.

  • mm_portfolio The optimal moments of portfolio.

Examples

data(sp500)
Result = Portfolio.PC(sp500,fn_sel = "IC3",Port_obj = "MVaR",Adjcov = "NONE")

GuanglinHuang/hofa documentation built on Sept. 3, 2023, 7:01 a.m.