# 리스트 stock_b와 prob에서 각각 데이터를 변수 s와 p로 받아 반복한다
    # 확률과 편차제곱을 곱해 var_b에 저장한다
    for s, p in zip( stock_b, prob ):
        var_b = var_b + p*( s - ex_b )**2

    참고

    위 반복문은 다음과 같이 인라인 for 루프로 바꿔 사용할 수 있다.

    var_b = sum( p*( s - ex_b )**2 for s, p in zip( stock_b, prob ) )
    # 결과를 출력한다
    print( '주식 A의 분산은 {:.2%}'.format( var_a ) )
    print( '주식 B의 분산은 {:.2%}'.format( var_b ) )
    
    # 포트폴리오의 분산을 계산한다
    # 공분산, 분산, 표준편차를 계산한다
    cov = sum( p* ( a-ex_a ) * ( b-ex_b ) for a, b, p in zip( stock_a, stock_b, prob ) )
    var_p = wgt_a**2 * var_a + wgt_b**2 * var_b + 2 * wgt_a * wgt_b * cov
    std_p = math.sqrt( var_p )
    print(  '포트폴리오의 분산은 {:.2%}'.format( var_p ) )
    print(  '포트폴리오의 표준편차는 {:.2%}'.format( std_p ) )
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.