Wilshire 5000 Full Cap Price Index/Gross National Product

Is there a way to create a market timing model based on this concept?

https://fred.stlouisfed.org/graph/?g=oQt

I’m stumped!

You can use aggregate revenue of all US stocks as a proxy for GNP.

No need for that. Just use ##GNP.

GDP is not a point-in-time indicator.
It follows the GDP series dates, which are four months before the real-time dates when BEA releases the advance estimates of GDP for the relevant period being measured. The GDP series values are listed on the first day of the quarter to which they refer and are therefore four months displaced from real-time.

We have enabled ##GNP and ##RGDP as point-in-time. If you want the point-in-time data you should use PITSeries(##GNP) or PITSeries(##RGDP).

PITSeries(##GNP) or PITSeries(##RGDP) are delayed and later revised.

Luckily, we have powerful tools on Portfolio123 that may be even better than the official GNP/GDP numbers. That’s because GNP is simply the combined revenues of all businesses. Publicly traded companies represent a huge slice of the economy. Aggregating the revenue of all publicly traded companies is a great way to estimate the most recent publicly available GNP. It does not get revised. However, there is a reporting delay. Since most stocks report every quarter, within about 45 days of the quarters’ end, the aggregate revenue for the stock market would be delayed by an average of about 45 days. For more timely estimates of GNP, you can use forward looking analyst estimates of revenues, although coverage is limited.

Forward looking estimates of revenues are even more timely but have missing data. A combination of past revenue and forward estimates should provide one of the most accurate estimates of GNP available anywhere.

Just to clarify: Chaim is correct. PITSeries means that you want to observe the series as it would have been and would have changed. So as you move through time the initial values are properly delayed and you can observe all the restated values. We also offer the “Raw” data, which has all been revised and is not point-in-time. To use the PIT values, use Close(X,PITSeries(##GNP)) and to use the raw values use Close(X,##GNP).