design_MVSK_portfolio_via_sample_moments {highOrderPortfolios}R Documentation

Design high-order portfolio based on weighted linear combination of first four moments

Description

Design high-order portfolio based on weighted linear combination of first four moments (i.e., mean, variance, skewness, and kurtosis):

  minimize     - lmd1*(w'*mu) + lmd2*(w'*Sigma*w) 
               - lmd3*(w'*Phi*w*w) + lmd4*(w'*Psi*w*w*w)
  subject to   ||w||_1 <= leverage, sum(w) == 1.

Usage

design_MVSK_portfolio_via_sample_moments(
  lmd = rep(1, 4),
  X_moments,
  w_init = rep(1/length(X_moments$mu), length(X_moments$mu)),
  leverage = 1,
  method = c("Q-MVSK", "MM", "DC"),
  tau_w = 0,
  gamma = 1,
  zeta = 1e-08,
  maxiter = 100,
  ftol = 1e-05,
  wtol = 1e-04,
  stopval = -Inf
)

Arguments

lmd

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

X_moments

List of moment parameters, see estimate_sample_moments().

w_init

Numerical vector indicating the initial value of portfolio weights.

leverage

Number (>= 1) indicating the leverage of portfolio.

method

String indicating the algorithm method, must be one of: "Q-MVSK", "MM", "DC".

tau_w

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

gamma

Number (0 < gamma <= 1) indicating the initial value of gamma.

zeta

Number (0 < zeta < 1) indicating the diminishing paramater of gamma.

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)

Rui Zhou and Daniel P. Palomar

References

R. Zhou and D. P. Palomar, "Solving High-Order Portfolios via Successive Convex Approximation Algorithms," in IEEE Transactions on Signal Processing, vol. 69, pp. 892-904, 2021. <doi:10.1109/TSP.2021.3051369>.

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.02412v1.pdf>.

Examples

library(highOrderPortfolios)
data(X50)

# estimate moments
X_moments <- estimate_sample_moments(X50[, 1:10])

# decide moment weights
xi <- 10
lmd <- c(1, xi/2, xi*(xi+1)/6, xi*(xi+1)*(xi+2)/24)

# portfolio optimization
sol <- design_MVSK_portfolio_via_sample_moments(lmd, X_moments)


[Package highOrderPortfolios version 0.1.1 Index]