I think you can do some kind of intermarket backward testing, in order to define market stages.
I suggest you use neural networks to evaluate current x past market stages using intermarket indexes in stocks, bonds, currencies, commodities, economic indicators, etc... You can start with simple...