시작하기무료로 시작하기

평균-분산 효율 포트폴리오 찾기

평균-분산 효율 포트폴리오는 포트폴리오의 기대수익률이 목표 수익률과 같다는 제약하에서 포트폴리오 분산을 최소화하는 해로 얻을 수 있습니다. 이를 편리하게 수행하는 R 함수는 R 패키지 tseriesportfolio.optim()입니다. 기본 구현은 포트폴리오 수익률이 동일가중 포트폴리오의 수익률과 같다는 제약하에서 평균-분산 효율 포트폴리오 가중치를 찾습니다. 필요한 유일한 인수는 가중치를 구해야 하는 포트폴리오 구성 자산의 월별 수익률 데이터입니다.

DJIA 종목의 월별 수익률을 담은 변수 returns는 이미 콘솔에 로드되어 있습니다.

이 연습은 강의의 일부입니다

R로 배우는 포트폴리오 분석 입문

강의 보기

연습 안내

  • tseries 라이브러리를 불러오세요.
  • portfolio.optim()의 기본값을 사용해 동일가중 포트폴리오 수익률을 목표로 하는 월별 수익률의 평균-분산 효율 포트폴리오를 생성하고, 결과를 변수 opt에 저장하세요.
  • 최적화된 포트폴리오의 가중치 벡터를 생성하세요. 포트폴리오 가중치는 opt$pw에서 확인할 수 있어요. 이를 pf_weights라고 하세요.
  • 제공된 코드를 사용해 자산 이름을 할당하세요.
  • pf_weights에서 1% 이상인 최적 가중치만 선택해 opt_weights라고 하세요.
  • barplot()을 사용해 opt_weights의 분포를 시각화하세요.
  • 최적화된 포트폴리오의 기대수익률(opt$pm)과 변동성(opt$ps)을 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Load tseries


# Create an optimized portfolio of returns
opt <- portfolio.optim(___)

# Create pf_weights
pf_weights <- ___$pw

# Assign asset names
names(pf_weights) <- colnames(returns)

# Select optimum weights opt_weights
opt_weights <- pf_weights[___ >= 0.01]

# Bar plot of opt_weights


# Print expected portfolio return and volatility
___$pm
___$ps
 
코드 편집 및 실행