포트폴리오 시뮬레이션 - 1부
다음 몇 가지 연습 문제에서는 주식 포트폴리오의 기댓수익을 계산하고 그 불확실성을 정량화해 보겠습니다.
여러 종목으로 구성된 포트폴리오에 $10,000를 투자했다고 가정해 볼게요. 이 포트폴리오의 10년간 성과를 평가하려고 합니다. 전체 기대수익률과 변동성(수익률의 표준편차)은 조정할 수 있다고 가정하고, 수익률은 정규분포를 따른다고 가정하세요.
먼저, 원금(초기 투자금), 연수, 기대수익률, 변동성을 입력으로 받아 10년 후 포트폴리오의 총 가치를 반환하는 함수를 작성해 봅시다.
이 연습 문제를 마치면, 포트폴리오 성과를 계산하는 데 호출할 수 있는 함수를 얻게 됩니다.
이 연습은 강의의 일부입니다
Python으로 하는 통계 시뮬레이션
연습 안내
- 함수 정의에서 네 가지 인자를 받으세요: 연수
yrs, 기대수익률avg_return, 변동성sd_of_return, 원금(초기 투자금)principal. - 매년의 수익률
rates을 정규분포 난수로 시뮬레이션하세요. end_return를 입력받은principal로 초기화하세요.for루프에서 매년end_return에 해당 연도의 수익률을 반영해 증가시킵니다.portfolio_return()을 사용해result를 계산하고 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
np.random.seed(123)
rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
# Calculate the return at the end of the period
end_return = ____
for x in rates:
end_return = end_return*(1+____)
return end_return
result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))