"""균형기대수익률로 최적화"""
# 균형기대수익률로 최적화(투자자의 전망 없이)
opt2 = optimize_frontier( pi+rf, C, rf )
"""투자자 전망과 기대수익률, 전망의 불확실성 계산"""
views = [ ( 'XOM', '>', 'JPM', 0.02 ), ( 'NFLX', '<', 'JNJ', 0.02 ) ]
Q, P = CreateMatrixPQ( tickers, views )
# 위험조정상수
tau = .025
# 투자자 전망의 불확실성 계산
# tau * P * C * transpose( P )
omega = np.dot( np.dot( np.dot( tau, P ), C ), np.transpose( P ) )
"""블랙-리터만 모델 최적화"""
# 투자자 전망을 더한 균형초과수익률 계산
bl1 = inv( np.dot( tau, C ) )
bl2 = np.dot( np.dot( np.transpose( P ), inv( omega ) ), P )
bl3 = np.dot( inv( np.dot( tau, C ) ), pi )
bl4 = np.dot( np.dot( np.transpose( P ), inv( omega ) ), Q )
pi_adj = np.dot( inv( bl1+bl2), ( bl3+bl4 ) )
opt3 = optimize_frontier( pi_adj + rf, C, rf )