# 최적화에 실패한 경우
            raise BaseException( res.message )
    
    # 최적화 결과를 돌려준다
        return res.x
    
    # 무위험수익률, 수익률, 공분산으로 효율적 투자선 계산
    def solveFrontier( R, C, rf ):
    
    # 파이썬은 함수 안에 함수를 정의할 수 있다
    # 최적 비중 계산을 위해 다음과 같이 목적함수를 정의한다
        def obj( W, R, C, r ):
    
    # 주어진 수익률에서 분산을 최소화하는 비중 계산
            mean = sum( R * W )
            var = np.dot( np.dot( W, C ), W )
    
    # 최적화 제약조건 페널티
            penalty = 100 * abs( mean – r )
            return var + penalty
    
    # 효율적 투자선을 구성하는 평균-분산을 돌려줄
    # 리스트를 미리 준비한다
        frontier_mean, frontier_var = [ ], [ ]
    
    
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.