# 샤프비율을 효용함수로 한다
util = ( mean – rf ) / np.sqrt( var )
# 효용함수 극대화는 효용함수 역함수를 최소화하는 것이다
return 1 / util
# 투자자산 개수
n = len( R )
# 동일 비중으로 최적화 시작
W = np.ones([n]) / n
# 비중 범위는 0~100% 사이(공매도나 차입조건이 없음)
bnds = [ ( 0., 1. ) for i in range( n ) ]
# 제약조건은 비중합 = 100%
cons = ( { 'type': 'eq', 'fun': lambda W: sum( W ) - 1. } )
# 최적화
res = minimize( obj, W, ( R, C, rf ), method='SLSQP', constraints=cons, bounds=bnds )
# 최적화의 성공 여부를 확인한다
if not res.success: