주기적 리밸런싱을 포함한 백테스트
이제 지난 연습 문제에서 만든 포트폴리오 사양을 사용해 분기별 리밸런싱으로 백테스트를 실행해, 샘플 외(out-of-sample) 성과를 평가해 보겠습니다. 추가로 설정해야 할 백테스트 매개변수는 학습 기간과 롤링 윈도우입니다. 학습 기간은 초기 최적화에 사용할 데이터 포인트 수를 지정합니다. 롤링 윈도우는 윈도우에 포함할 기간 수를 설정합니다. 이 문제는 이차계획법(Quadratic Programming) 솔버로 풀 수 있으므로, 최적화 방법으로 "ROI"를 사용하겠습니다.
이 연습은 강의의 일부입니다
R로 배우는 중급 포트폴리오 분석
연습 안내
- 분기별 리밸런싱으로 최적화를 실행하세요. 학습 기간과 롤링 윈도우는 5년치 데이터를 사용하도록 설정하세요. 결과는
opt_rebal_base라는 변수에 할당하세요. - 최적화 결과를 출력하세요.
- 가중치 차트를 그리세요.
Return.portfolio를 사용해 포트폴리오 수익률을 계산하세요. 계산한 수익률은returns_base라는 변수에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Run the optimization
opt_rebal_base <- optimize.portfolio.rebalancing(R = ___,
portfolio = ___,
optimize_method = "ROI",
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Print the results
# Chart the weights
# Compute the portfolio returns
returns_base <- Return.portfolio(R = ___, weights = ___)
colnames(returns_base) <- "base"