design_MVSK_portfolio_via_skew_t {highOrderPortfolios}R Documentation

Design MVSK portfolio without shorting based on the parameters of generalized hyperbolic skew-t distribution

Description

Design MVSK portfolio without shorting based on the parameters of generalized hyperbolic skew-t distribution:

  minimize     - lambda1*phi1(w) + lambda2*phi2(w)
               - lambda3*phi3(w) + lambda4*phi4(w)
  subject to   w>=0, sum(w) == 1.

Usage

design_MVSK_portfolio_via_skew_t(
  lambda,
  X_skew_t_params,
  w_init = rep(1/length(X_skew_t_params$mu), length(X_skew_t_params$mu)),
  method = c("L-MVSK", "DC", "Q-MVSK", "SQUAREM", "RFPA", "PGD"),
  gamma = 1,
  zeta = 1e-08,
  tau_w = 0,
  beta = 0.5,
  tau = 1e+05,
  initial_eta = 5,
  maxiter = 1000,
  ftol = 1e-06,
  wtol = 1e-06,
  stopval = -Inf
)

Arguments

lambda

Numerical vector of length 4 indicating the weights of first four moments.

X_skew_t_params

List of fitted parameters, including location vector, skewness vector, scatter matrix, and the degree of freedom, see estimate_skew_t().

w_init

Numerical vector indicating the initial value of portfolio weights.

method

String indicating the algorithm method, must be one of: "L-MVSK", "DC", "Q-MVSK", "SQUAREM", "RFPA", "PGD".

gamma

Number (0 < gamma <= 1) indicating the initial value of gamma for the Q-MVSK method.

zeta

Number (0 < zeta < 1) indicating the diminishing parameter of gamma for the Q-MVSK method.

tau_w

Number (>= 0) guaranteeing the strong convexity of approximating function.

beta

Number (0 < beta < 1) decreasing the step size of the projected gradient methods.

tau

Number (tau > 0) hyper-parameters for the fixed-point acceleration.

initial_eta

Initial eta for projected gradient methods

maxiter

Positive integer setting the maximum iteration.

ftol

Positive number setting the convergence criterion of function objective.

wtol

Positive number setting the convergence criterion of portfolio weights.

stopval

Number setting the stop value of objective.

Value

A list containing the following elements:

w

Optimal portfolio vector.

cpu_time_vs_iterations

Time usage over iterations.

objfun_vs_iterations

Objective function over iterations.

iterations

Iterations index.

convergence

Boolean flag to indicate whether or not the optimization converged.

moments

Moments of portfolio return at optimal portfolio weights.

Author(s)

Xiwen Wang, Rui Zhou and Daniel P. Palomar

References

X. Wang, R. Zhou, J. Ying, and D. P. Palomar, "Efficient and Scalable High-Order Portfolios Design via Parametric Skew-t Distribution," Available in arXiv, 2022. <https://arxiv.org/pdf/2206.02412.pdf>.

Examples

library(highOrderPortfolios)
data(X50)

# estimate skew t distribution
X_skew_t_params <- estimate_skew_t(X50)

# decide moment weights
xi <- 10
lambda <- c(1, 4, 10, 20)

# portfolio optimization
sol <- design_MVSK_portfolio_via_skew_t(lambda, X_skew_t_params, method = "RFPA", tau = 10)


[Package highOrderPortfolios version 0.1.1 Index]