# display 함수는 데이터를 출력하며
# 이는 코랩에서만 사용할 수 있다
# 수익률과 시가총액 비중을 출력한다
display( pd.DataFrame( { 'Return': R, 'Weight (based on market cap)': W }, index=tickers).T )
# 공분산을 출력한다
display( pd.DataFrame( C, columns=tickers, index=tickers ) )
"""과거 데이터를 이용한 최적화"""
# 평균-분산 최적화
opt1 = optimize_frontier( R, C, rf )
"""블랙-리터만 역최적화"""
# 포트폴리오 수익률 평균 및 분산
mean = sum( R * W )
var = np.dot( np.dot( W, C ), W )
# 위험회피계수
lmbda = ( mean – rf ) / var
# 균형초과수익률
pi = np.dot( np.dot( lmbda, C ), W )