def rkw_portfolio(excess_returns, risk_aversion): mu, sigma = ps.shrinkage_moments(excess_returns, return_covariance=True) return 1.0 / risk_aversion * la.solve(sigma, mu)
def shrinkage_portfolio(excess_returns, mean_weight): mu, sigma = ps.shrinkage_moments(excess_returns, return_covariance=True) return mean_weight * 0.5 * la.solve(sigma, mu)