간단한 포트폴리오 최적화 문제 풀기
이 첫 번째 연습 문제에서는 PortfolioAnalytics를 사용해 간단한 포트폴리오 최적화 문제를 해결하는 방법을 배워요. 포트폴리오 명세 객체를 만들고, 제약식과 목표를 추가하고, 최적화 문제를 푸는 과정을 익히게 됩니다. 이번 포트폴리오 문제는 전체 투자와 롱 온리 제약을 적용한 최소분산 포트폴리오를 구성하는 것입니다. 목표는 포트폴리오 분산을 최소화하는 것이에요. 제약은 두 가지입니다. 전체 투자 제약은 가중치 합이 1이 되어야 함을 의미하고, 롱 온리 제약은 모든 가중치가 0 이상이어야 함을 의미합니다(즉, 공매도는 허용되지 않아요).
이 연습은 강의의 일부입니다
R로 배우는 중급 포트폴리오 분석
연습 안내
index_returns데이터셋의 자산 이름으로 포트폴리오 명세 객체를 만들고, 객체 이름을port_spec으로 하세요.port_spec객체에 가중치 합이 1이 되도록 전체 투자 제약을 추가하세요.port_spec객체에 각 자산의 가중치가 0과 1 사이가 되도록 롱 온리 제약을 추가하세요.port_spec객체에 포트폴리오 표준편차를 최소화하는 목표를 추가하세요.optimize_method = "ROI"로 포트폴리오 최적화 문제를 풀고, 최적화 결과를opt라는 객체에 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create the portfolio specification
port_spec <- portfolio.spec(colnames(___))
# Add a full investment constraint such that the weights sum to 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add a long only constraint such that the weight of an asset is between 0 and 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add an objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = "___", name = "___")
# Solve the optimization problem
opt <- optimize.portfolio(___, portfolio = ___, optimize_method = "___")