더북(TheBook)
# 최적화에 실패한 경우
        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 = [ ], [ ]


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.