From f4c7bbd72fe0d35d6ea42bf7b8d3a0aa9b6871f3 Mon Sep 17 00:00:00 2001 From: Ahmed Nabil <72295771+AI-Ahmed@users.noreply.github.com> Date: Tue, 28 Nov 2023 00:42:48 +0300 Subject: [PATCH] adding the covariance matrix Adding the covariance matrix parameter in the function and argument in the call function. --- chapter17/17_8_6_riskParityOpt.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chapter17/17_8_6_riskParityOpt.py b/chapter17/17_8_6_riskParityOpt.py index 8ac2a7f..456c4f7 100644 --- a/chapter17/17_8_6_riskParityOpt.py +++ b/chapter17/17_8_6_riskParityOpt.py @@ -1,6 +1,6 @@ from scipy.optimize import minimize, Bounds, LinearConstraint -def rc_err(w): +def rc_err(w, cov_mat): n_asset = len(cov_mat) denom = np.sqrt(w.T@cov_mat@w) @@ -20,5 +20,5 @@ def rc_err(w): bounds = Bounds([0.0]*len(cov_mat), [1.0]*len(cov_mat)) sum_constraint = LinearConstraint([1.0]*len(cov_mat), [1.0], [1.0]) w0 = np.array([1.0/len(cov_mat)]*len(cov_mat)) -res = minimize(rc_err, w0, method='trust-constr', constraints=sum_constraint, bounds=bounds) -print(res.x) \ No newline at end of file +res = minimize(rc_err, w0, cov_mat, method='trust-constr', constraints=sum_constraint, bounds=bounds) +print(res.x)