In a previous article, we compared the S&P 500 index to an EquitiesLab macro, issandplike. Our goal was to analyze the S&P’s value, by comparing the official index’s performance with a collection of similar stocks. But what does “similar” mean in this case?
According to Standard & Poor’s website, an S&P stock must meet the following requirements.
To emulate the S&P, we create a screener which approximates the S&P 500 by searching for the following:
Astute readers will note that these are not the criteria used by Standard & Poor’s for their index. This is in the interest of compute time, and ease of information access. For instance, rather than going through the odious process of determining a ticker’s IWF, we simply eliminate certain company types. REITs and LPs are not truly corporations and are not typically traded by the public. By excluding these companies, we very nearly match the IWF requirement, for a fraction of the processing power. We also don’t include an explicit market requirement, or a minimum number of shares. Implicitly, however, the ability to select a range makes these requirements superfluous. There is no need to filter by market cap when you’re only looking at the top 500 (for example) stocks, after all.
A quick backtest of the issandplike macro from 0 to 500 confirms that our estimation very closely tracks the S&P.
As has been alluded above, this macro isn’t limited to the S&P 500. Equities Lab includes formulae for the S&P 500, the MidCap 400, and the SmallCap 600. We also include their most common composites–the 900 (large cap+midcap), the 1000 (midcap+smallcap), and the 1500 (all three benchmarks together). If the standard divisions aren’t to your liking, Equities Lab makes selecting your own range a trivial matter. All three of these indices use the same core methodology–only the market caps are different. As a result, the issandplike macro can be used for any range in the market index. We can try this now.
Open Equities Lab, and create a new screener. Import the macro by typing $issandplike into the editor. There will be two blank spaces in the term for the range; we’ll select 343 to 780.
Backtesting reveals that our range tracks the S&P 500, as expected, but not perfectly. We can get it closer by adding a quick tweak–weighing the positions by market cap. This weighting brings the screen more in line with the S&P, but isn’t included in the default macro, as it can generate odd results depending on how it’s used.
As the backtest shows, weighing by market cap gets us a bit closer to the returns of the S&P–annualized returns differ by less than a third of a percent.