EWMA の計算
次に、理想的なポートフォリオを予測するための特徴量を作成していきましょう。ここでは、価格の動きをシンプルに特徴量として使用します。まず日次の指数加重移動平均(EWMA)を計算し、それを月次の時間軸にリサンプリングします。さらに、月次移動平均を1ヶ月先にシフトすることで、将来のポートフォリオを予測するための特徴量として活用できるようにします。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
spanを 30 に設定して、日次の指数加重移動平均(ewma_daily)を計算しましょう。- 営業月初め(BMS)の頻度と月の最初の日(
.first())を使用して、日次の EWMA を月次にリサンプリングしましょう。 - 前月の EWMA を次月の理想的なポートフォリオを予測する特徴量として使えるよう、
ewma_monthlyを1ヶ月先にシフトしましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate exponentially-weighted moving average of daily returns
ewma_daily = returns_daily.ewm(span=____).mean()
# Resample daily returns to first business day of the month with the first day for that month
ewma_monthly = ewma_daily.resample(____).____
# Shift ewma for the month by 1 month forward so we can use it as a feature for future predictions
ewma_monthly = ewma_monthly.____.dropna()
print(ewma_monthly.iloc[-1])