Quantitative Risk Management in Python
Jamsheed Shorish
Computational Economist
Recall: $f(x)$ = probability density function of portfolio loss
PyPortfolioOpt: select minimization of CVaR as new objective
EfficientCVaR
object with asset returns returns
.min_cvar()
method
ec = pypfopt.efficient_frontier.EfficientCVaR(None, returns)
optimal_weights = ec.min_cvar()
ef = EfficientFrontier(None, e_cov)
min_vol_weights = ef.min_volatility()
print(min_vol_weights)
{'Citibank': 0.0,
'Morgan Stanley': 5.0784330940519306e-18,
'Goldman Sachs': 0.6280157234640608,
'J.P. Morgan': 0.3719842765359393}
ec = pypfopt.efficient_frontier.EfficientCVaR(None, returns) min_cvar_weights = ec.min_cvar()
print(min_cvar_weights)
{'Citibank': 0.0,
'Morgan Stanley': 0.0,
'Goldman Sachs': 0.669324359403484,
'J.P. Morgan': 0.3306756405965026}
Quantitative Risk Management in Python