Skip to content

ARMA-GARCH Mixture Copula Mean-CVaR portfolio optimization project.

Notifications You must be signed in to change notification settings

GustavoAlovisi/cvar_portfolio_optim

Repository files navigation

Worst Case Mixture-Copula Mean-CVaR Portfolio Optimization: An Implementation for Brazilian Indexes

This repository implements the code used for my B.Sc. in Economics completion paper. The purpose of the work is to implement a CVaR minimization portfolio optimization, where marginals (stocks) are modelled as a ARMA(p,q)-GARCH(1,1) process and the multivariate dist is modelled using a mixture of Clayton-t-Gumbel Copula.

  • Module 1 is used for ARMA-GARCH fitting on provided log-returns.
  • Module 2 transforms our ARMA-GARCH data into (0,1) CDF data, using ECDF or parametric CDF.
  • Module 3 uses (0,1) transformed data to estimate a linear combination of Clayton, t and Gumbel copula parameters, as well as a gaussian one. This is a nonlinear SQP optimization.
  • Module 4 simulate log-returns using ARMA-GARCH fit and copula parameters, and optimizes a mean-CVaR portfolio.
  • Module 5 calculates out-of-sample performance of optimized weights and several plots and risk/returns benchmarks.
  • Main simply loads log-returns data and calls for module's functions.

More information can be found at the complete paper in Sabi UFRGS or at a concise PPT presentation. The code in this repo is an updated version of the code presented in my paper. Because resulting files are big, each module loads and saves information in local files.

About

ARMA-GARCH Mixture Copula Mean-CVaR portfolio optimization project.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages