시작하기무료로 시작하기

주식 DataFrame을 결합하고 수익률 계산하기

현대 포트폴리오 이론(MPT) 포트폴리오를 계산하려면 먼저 일간 및 월간 수익률을 구해야 합니다. 최종적으로는 Sharpe 비율을 기준으로 매달 최적의 포트폴리오를 찾을 거예요. 가장 쉬운 방법은 모든 주가를 하나의 DataFrame에 모은 뒤, 이를 일간과 월간 주기로 리샘플링하는 것입니다. 변동성을 계산하려면 일별 가격 변화를 알아야 하며, 이 변동성을 위험의 척도로 사용합니다.

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

Python으로 배우는 금융 분야 Machine Learning

강의 보기

연습 안내

  • pd.concat()을 사용해 lng_df, spy_df, smlv_dffull_df DataFrame으로 결합하세요.
  • full_dfBusiness Month Start('BMS') 주기로 리샘플링하세요.
  • .pct_change()full_df의 일간 퍼센트 변화를 구하세요.

실습형 인터랙티브 연습

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

# Join 3 stock dataframes together
full_df = pd.concat(____, axis=1).dropna()

# Resample the full dataframe to monthly timeframe
monthly_df = full_df.resample(____).first()

# Calculate daily returns of stocks
returns_daily = ____

# Calculate monthly returns of the stocks
returns_monthly = monthly_df.pct_change().dropna()
print(returns_monthly.tail())
코드 편집 및 실행