予測の取得と初期評価
ランダムフォレストモデル(rfr)の学習が完了したので、テストセットに対する予測を取得しましょう。これにより、モデルの性能を評価できます。基本的な確認として、インデックスファンド SPY を単純に購入した場合と同程度、またはそれ以上の成果が出ているかを見ていきます。
通常の sklearn の .predict(features) メソッドを使って予測を取得し、月次リターンにポートフォリオの予測値を掛け合わせます。各月に 3 行のデータがあるため、np.sum() で合計します。その後、予測から得られる月次リターンと SPY の月次リターンをともにプロットして比較しましょう。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
rfrランダムフォレストモデルの.predict()メソッドを使い、train_featuresとtest_featuresそれぞれに対して予測を行いましょう。returns_monthlyのテストセット部分にtest_predictionsを掛け合わせ、テストセット予測のリターンを計算しましょう。- テストセットにおける
'SPY'のreturns_monthly(train_sizeからデータ末尾まで)をプロットしましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()