# 리스트 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 ) )