Risk Parity / Equal-risk contribution optimization

I am trying to implement the risk parity or ERC portfolio.
How can I implement the cyclical coordinate descent algorithm to solve the optimization as outlined by Roncalli in:
thanks!

Answers (1)

Yosef Bisk
Yosef Bisk on 28 Sep 2017
Edited: Yosef Bisk on 28 Sep 2017
W := Nx1 vector of starting weights
Sigma := NxN matrix of co-variances
These two lines should do it.
f = @(W) var(W.*(Sigma*W))*10^14; %Note: The 10^14 is there to increase accuracy
ERC_weights = fmincon(f,W,[],[],ones(1,length(W)),1)

Categories

Find more on Portfolio Optimization and Asset Allocation in Help Center and File Exchange

Asked:

EM
on 13 Apr 2016

Edited:

on 28 Sep 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!