공분산 행렬
공분산 행렬은 일반적인 $N$개 자산의 경우에 포트폴리오 분산을 결정하는 데 핵심적입니다. 행 \(i\), 열 $j$의 원소는 $i$번째와 $j$번째 수익률의 공분산에 해당한다는 점을 기억하세요. 또한 두 수익률 시계열의 공분산은 각각의 변동성과 상관계수의 곱이며, 한 자산 수익률의 자기 자신과의 공분산은 그 분산이라는 점도 떠올려 보세요.
이번 연습에서는 이전 연습 문제의 네 가지 자산군(주식, 채권, 부동산, 원자재)의 월별 수익률에 대해 공분산 행렬과 상관 행렬을 계산하고 해석해 보겠습니다. 이러한 행렬을 만들 때 표준 함수 cov()와 cor()를 사용합니다.
작업 공간에는 월별 수익률 returns와, 이전에 만들었던 표준편차 벡터 sds가 준비되어 있습니다.
이 연습은 강의의 일부입니다
R로 배우는 포트폴리오 분석 입문
연습 안내
- 대각원소에 분산이 들어가도록 대각행렬을 만드세요. diag() 함수를 사용하고, 인수로 제곱한
sds^2만 전달하면 됩니다. 이 객체의 이름은diag_cov로 하세요. - 수익률의 공분산 행렬을 계산하세요. 이름은
cov_matrix로 하세요. - 수익률의 상관 행렬을 계산하세요. 이름은
cor_matrix로 하세요. - 사전 로드된 코드를 실행하여, 채권 수익률과 주식 수익률의 공분산이 각 표준편차와 상관계수의 곱과 같은지 확인하세요. 이 코드는 수정하지 마세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create a matrix with variances on the diagonal
# Create a covariance matrix of returns
# Create a correlation matrix of returns
# Verify covariances equal the product of standard deviations and correlation
all.equal(cov_matrix[1,2], cor_matrix[1,2] * sds[1] * sds[2])