개선된 추정치가 더 나은 성과로 이어질까요?
분산-공분산 행렬의 견고한(robust) 추정치를 사용하면 표본 분산-공분산 행렬보다 더 나은 성과를 낼 것이라고 가정해 봅시다. 이론적으로는 더 좋은 추정치가 더 좋은 결과로 이어져야 해요. 3장에서 정의한 moments_robust() 함수와 이전 연습 문제의 포트폴리오 사양을 사용하겠습니다.
이 연습은 강의의 일부입니다
R로 배우는 중급 포트폴리오 분석
연습 안내
moments_robust()함수를 사용해 모멘트를 추정하도록 최적화를 실행하세요. 백테스트는 이전과 동일한 매개변수를 사용하며, 분기별 리밸런싱과 학습 기간 및 롤링 윈도로 5년치 데이터를 사용합니다. 결과를opt_rebal_rb_robust라는 변수에 할당하세요.- 가중치를 차트로 시각화하세요.
- 리스크에 대한 구성요소 백분율 기여도를 차트로 시각화하세요.
Return.portfolio()를 사용해 포트폴리오 수익률을 계산하세요. 수익률을returns_rb_robust라는 변수에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Run the optimization
opt_rebal_rb_robust <- optimize.portfolio.rebalancing(R = ___,
momentFUN = ___,
portfolio = ___,
optimize_method = "random", rp = rp,
trace = TRUE,
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Chart the weights
# Chart the percentage contribution to risk
chart.RiskBudget(___, match.col = "StdDev", risk.type = ___)
# Compute the portfolio returns
returns_rb_robust <- Return.portfolio(R = ___, weights = ___)
colnames(returns_rb_robust) <- "rb_robust"