I explored two different approaches to forecasting multivariate time series data, using the Value, Momentum, Carry, and Defensive factors as examples. I compared the performance of a Multivariate LSTM model (multiple output neurons) and a Vector Autoregression (VAR) model.
The monthly return data used in this analysis are from the paper How Do Factor Premia Vary Over Time? A Century of Evidence by Ilmanen et al. (2019). It explores the following four factor strategies across liquid asset classes:
- Value
- Momentum
- Carry
- Defensive
I first applied a VAR model for forecasting the factors' returns, following these steps:
- Test for stationarity using the Augmented Dickey-Fuller (ADF) test.
- Fit the VAR model with an optimal lag order, determined by minimizing the BIC.
- Analyze the model output.
- Forecast the factors' returns using the fitted model.
- Evaluate the forecast accuracy using the Mean Absolute Percentage Error (MAPE).
Next, I applied a Multivariate LSTM model for forecasting the factors' returns, following these steps:
- Scale the dataset using the MinMaxScaler.
- Split the dataset into training and testing sets.
- Reshape the input data into a 3D array format for the LSTM model.
- Create an LSTM model with Conv1D, Dropout, and Dense layers.
- Perform hyperparameter tuning with 10-fold cross-validation and RandomizedSearchCV.
- Train the model and forecast the factors' returns using it.
- Evaluate the forecast accuracy using the Mean Absolute Percentage Error (MAPE).
The forecast accuracy for both models was relatively poor. The Multivariate LSTM model performed better for Value and Defensive, while the VAR model performed better for Momentum and Carry. Ultimately, the differences in performance were marginal, leading me to go with Occam's Razor and select the simpler model, i.e., the VAR. The fact that a more complex model, like LSTM, did not significantly improve the results could suggest that the features, i.e. past returns, may not be a reliable predictor of future returns, a notion commonly accepted in the field.
Garbage in, garbage out. You can't math noise into signal.