주식 DataFrame을 결합하고 수익률 계산하기
현대 포트폴리오 이론(MPT) 포트폴리오를 계산하려면 먼저 일간 및 월간 수익률을 구해야 합니다. 최종적으로는 Sharpe 비율을 기준으로 매달 최적의 포트폴리오를 찾을 거예요. 가장 쉬운 방법은 모든 주가를 하나의 DataFrame에 모은 뒤, 이를 일간과 월간 주기로 리샘플링하는 것입니다. 변동성을 계산하려면 일별 가격 변화를 알아야 하며, 이 변동성을 위험의 척도로 사용합니다.
이 연습은 강의의 일부입니다
Python으로 배우는 금융 분야 Machine Learning
연습 안내
pd.concat()을 사용해lng_df,spy_df,smlv_df를full_dfDataFrame으로 결합하세요.full_df를 Business 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())