Advanced model building for trading the S&P 500

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.

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.