Aperçu
Riskfolio-Lib fournit l'optimisation de portefeuille au-delà de la variance moyenne : parité des risques, CVaR, CDaR, pire cas, optimisation robuste, NCO (Network Clustering), et méthodes hiérarchiques. Inclut les modèles factoriels, Black-Litterman, et le tracé intégré pour les frontières efficaces.
Installation
uv pip install riskfolio-lib
Optimisation Variance-Moyenne
import riskfolio as rp
import yfinance as yf
prices = yf.download(["AAPL", "MSFT", "GOOGL", "AMZN", "NVDA"], start="2022-01-01")["Close"]
returns = prices.pct_change().dropna()
port = rp.Portfolio(returns=returns)
port.assets_stats(method_mu="hist", method_cov="hist")
# Max Sharpe
w = port.optimization(model="Classic", rm="MV", obj="Sharpe", hist=True)
print("Optimal weights:", w.to_dict())
# Risk parity
w_rp = port.optimization(model="Classic", rm="MV", obj="MinRisk", hist=True)