始める無料で始める

株価DataFrameを結合してリターンを計算する

現代ポートフォリオ理論(MPT)のポートフォリオを計算する第一歩として、日次リターンと月次リターンを求めましょう。最終的には、シャープレシオに基づいて各月の最適ポートフォリオを求めます。そのためにまず、すべての株価を1つのDataFrameにまとめ、日次・月次の時間軸にリサンプリングします。リスクの指標として使うボラティリティを計算するには、日次の価格変化が必要です。

この演習はコースの一部です

Python による金融のための Machine Learning

コースを見る

演習の手順

  • pd.concat() を使って lng_dfspy_dfsmlv_df を結合し、full_df DataFrameを作成しましょう。
  • full_dfビジネス月初'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())
コードを編集して実行