겹치는 수익률
일별 로그수익률을 더해 더 긴 구간으로 집계하면, 관측치 수가 줄어듭니다. 데이터 양을 유지하려면 rollapplyr() 함수로 겹치는 수익률을 계산할 수 있습니다. 이렇게 하면 관측치들 사이에 강한 상관관계도 생깁니다.
평균적인 달력 주에는 거래일이 5일입니다. 일별 지수 로그수익률의 5일 이동 합계를 계산하면, 각 달력 주에 끝나는 대략적인 겹치는 주간 수익률을 얻습니다. 마찬가지로 21일 이동 합계는 대략적인 겹치는 월간 수익률을, 63일 이동 합계는 대략적인 겹치는 분기 수익률을 제공합니다.
djx에 있는 다우존스 일별 수익률 데이터로 예를 보겠습니다. 각 이동 합계를 계산하는 데 5개 값이 사용되므로, 결과의 처음 4개 값은 NA가 됩니다. 여기서는 인덱싱으로 이를 제거하겠습니다:
> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
^DJI
2008-01-03 NA
2008-01-04 NA
2008-01-07 NA
2008-01-08 NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869
> djx5 <- djx5[-(1:4)]
이번 연습에서는 작업 공간에 로드된 djx로 다양한 구간의 이동 합계를 계산합니다. 그런 다음 결과 데이터의 왜도와 첨도를 구하고, 앞선 연습과 마찬가지로 Jarque-Bera 검정을 수행합니다. 겹치는 수익률이 정규분포에 더 가까워 보이나요?
이 연습은 강의의 일부입니다
R로 배우는 계량적 위험 관리(Quantitative Risk Management)
연습 안내
djx의 로그수익률에 대해 21일 이동 합계를 계산하고, 처음 20개 값을 제거한 뒤djx21에 할당하세요.djx의 로그수익률에 대해 63일 이동 합계를 계산하고, 처음 62개 값을 제거한 뒤djx63에 할당하세요.merge()와all = FALSE를 사용해djx,djx21,djx63순서로 병합하고, 결과를djx2에 할당하세요.plot.zoo()로 그래프를 그리세요.apply()와 적절한 함수를 사용해djx2의 각 시계열에 대한 왜도와 첨도를 계산하세요.apply()와 적절한 함수를 사용해djx2의 각 시계열에 대해 Jarque-Bera 검정을 수행하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Calculate a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)