Support vector machine (SVM) models are closely related to neural network models. In short, they construct an n-dimensional space that separates data into different classifications. This analysis isn’t for the uninitiated, but for those who have done their homework, it can be used to develop an S&P 500 model that outperforms the market (see “Breaking new ground with neural nets,” February 2013, for SVM general concept).
Our first step is simple: Determine what, exactly, we are modeling. For us, that’s the S&P 500 cash index. Next, we consider the time frame — not as straightforward as you may think. Although an intermediate-term trader might gravitate toward daily bars and a day-trader might assume 15-minute bars are appropriate, noise is a factor. Because of this, longer-term periods have an advantage. (They also make fundamental inputs viable; employment data is relevant on a weekly basis, but hardly significant over a few minutes.) We’ll use weekly data for this reason.
Of course we must identify our target, which obviously is relevant to our independent variables. For our target, we won’t attempt to predict the actual price level. Instead, we’ll identify a metric that reflects forward momentum of the S&P 500.
Determining which independent variables are predictive is tricky. For our model, our variables include weekly earnings of the stocks in the S&P 500 (from Pinnacle Data Corp.), simulated M3 money supply (from Shadow Stats), unemployment and other key measures. Here’s a rundown:
- S&P 500 close
- S&P 500 earnings
- S&P 500 dividends
- Dow Jones bond index
- Long bond rates
- Three-month commercial paper rates
- The consumer price index (CPI)
- Measures of money supply (M1, M2 and M3)
- S&P 500 commitment of traders data
- The yield curve
- Difference between CPI and producer price index
- Gross domestic product
There is nothing magic or particularly secret about these numbers. All have been discussed routinely in both academic and professional settings. Indeed, by using CPI, PPI, M1, 10- vs. 2-year Treasury rates and gross domestic product — and linearly interpolating the data to a monthly basis — we can model S&P 500 price levels accurately.