1. 학습
  2. /
  3. 강의
  4. /
  5. R로 배우는 포트폴리오 분석 입문

Connected

연습 문제

동인 2: 포트폴리오 가중치 선택

투자자는 포트폴리오 샤프 지수로 측정되는 위험 대비 수익을 최대화하도록 가중치를 최적화할 수 있습니다.

전체 포트폴리오를 두 자산에만 투자하는 특수한 경우, 결정해야 할 가중치는 하나뿐입니다. 두 번째 자산의 가중치는 첫 번째 자산의 가중치를 1에서 뺀 값과 같기 때문입니다.

이번에는 미국 주식과 미국 채권으로 구성된 포트폴리오를 예로 들어 보겠습니다. 무위험 수익률이 0이라고 가정하고, 가능한 많은 가중치를 전수 탐색해 포트폴리오 샤프 지수가 가장 높아지는 가중치를 선택하는 브루트포스 방식으로 진행하겠습니다.

지침

100 XP
  • seq()를 사용해 0에서 시작하여 1에서 끝나고, 0.01 간격으로 증가하는 벡터 grid를 만드세요.
  • grid와 동일한 길이의 빈 벡터 vsharpe를 초기화하세요. 일반적으로 rep() 함수로 NA를 담은 벡터를 만든 뒤, 다음에 작성할 루프에서 이 NA들을 교체합니다.
  • for 루프에서 grid의 가능한 각 가중치에 대한 샤프 지수를 계산합니다. for 루프의 첫 번째 명령은 grid의 i번째 요소를 선택해 객체 weight에 저장하며, 이는 각 반복마다 바뀝니다.
  • 가중치가 변할 때 포트폴리오 수익률이 어떻게 달라지는지 확인해 봅니다. preturns 객체를 만드세요. 값은 weight에 returns_equities를 곱한 값과 (1-weight)에 returns_bonds를 곱한 값을 더한 것입니다.
  • 다음으로, vsharpe의 NA를 preturns의 연율화 샤프 지수(SharpeRatio.annualized())로 교체하세요.
  • 잠재적 가중치(grid)를 x축에, 샤프 지수를 y축에 두고 그래프를 그리는 plot 함수를 완성하세요.