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 |
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)