1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 금융 분야 Machine Learning

Connected

연습 문제

최적 Sharpe 비율 구하기

각 날짜별로 Machine Learning의 타깃으로 사용할 "이상적인" 포트폴리오를 찾아야 해요. 이를 위해 portfolio_returns의 각 날짜를 순회하고, 이어서 portfolio_returns[date]에 있는 우리가 생성한 포트폴리오들을 순회할 거예요. 그런 다음 무위험 수익률을 0이라고 가정하고, 수익률을 변동성으로 나눈 Sharpe 비율을 계산합니다.

현재 날짜(portfolio_returns[date])의 수익률을 순회할 때 enumerate()를 사용해 인덱스 i도 함께 추적해요. 그런 다음 현재 날짜와 현재 인덱스를 사용해 각 포트폴리오의 변동성을 portfolio_volatility[date][i]로 가져옵니다. 마지막으로 np.argmax()를 사용해 각 날짜에서 Sharpe 비율이 가장 큰 항목의 인덱스를 구해요. 곧 이 인덱스를 사용해 이상적인 포트폴리오 가중치를 가져올 거예요.

지침

100 XP
  • 반복문에서 각 date에 대해 enumerate()를 사용해 portfolio_returns를 나열하세요.
  • 반복문의 현재 date에 대해, 수익률(ret)을 현재 날짜와 현재 i에 해당하는 portfolio_volatility로 나눈 값을 sharpe_ratio 딕셔너리 항목에 추가하세요.
  • 현재 date의 max_sharpe_idxs 값을 np.argmax()로 최대 Sharpe 비율의 인덱스로 설정하세요.