Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. def equal_risk_contributon(weights, cov_matrix):
  2. marginal_risk = weights.T*np.dot(cov_matrix, weights)
  3. marginal_risk = np.abs(np.sum(marginal_risk)/4-marginal_risk)
  4.  
  5. return np.sum(marginal_risk)*1000
  6.  
  7. def min_risk_diff(mean_returns, cov_matrix):
  8. num_assets = mean_returns.shape[0]
  9. args = (cov_matrix)
  10. constraints = ({'type': 'eq', 'fun': lambda x: np.sum(x) - 1})
  11. bound = (0.0,1.0)
  12. bounds = tuple(bound for asset in range(num_assets))
  13. result = minimize(equal_risk_contributon, num_assets*[1./num_assets,], args=args,
  14. method='SLSQP', bounds=bounds, constraints=constraints)
  15. return result.x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement