The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
The classical Markowitz’s mean-variance portfolio formulation ignores heavy tails and skewness. High-order portfolios use higher order moments to better characterize the return distribution. Different formulations and fast algorithms are proposed for high-order portfolios based on the mean, variance, skewness, and kurtosis. The package is based on the papers Zhou and Palomar (2021) and Wang, Zhou, Ying, and Palomar (2022).
The package can be installed from CRAN or GitHub:
# install stable version from CRAN
install.packages("highOrderPortfolios")
# install development version from GitHub
::install_github("dppalomar/highOrderPortfolios") devtools
To get help:
library(highOrderPortfolios)
help(package = "highOrderPortfolios")
?design_MVSK_portfolio_via_sample_moments ?design_MVSK_portfolio_via_skew_t
To cite highOrderPortfolios
in publications:
citation("highOrderPortfolios")
library(highOrderPortfolios)
data(X50)
# non-parametric case: estimate sample moments
<- estimate_sample_moments(X50)
X_moments
# parametric case: estimate the multivariate skew t distribution
<- estimate_skew_t(X50)
X_skew_t_params
# choose hyper-parameter moment weights for the MVSK formulation
<- 10
xi <- c(1, xi/2, xi*(xi+1)/6, xi*(xi+1)*(xi+2)/24)
lmd
# design portfolio
<- design_MVSK_portfolio_via_sample_moments(lmd, X_moments)
sol_nonparam <- design_MVSK_portfolio_via_skew_t(lmd, X_skew_t_params)
sol_param
# plot
barplot(cbind("via sample moments" = sol_nonparam$w, "via skew t modeling" = sol_param$w), beside = TRUE,
col = c(rep("darkblue", 50), rep("darkred", 50)),
main = "MSVK portfolio", xlab = "asset indexes", ylab = "portfolio weights")
For more detailed information, please check the vignette: CRAN-vignette and GitHub-vignette.
README file: CRAN-readme and GitHub-readme.
Vignette: CRAN-vignette and GitHub-vignette.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.