I get the following message when attempting to run a rolling test using a particularly restrictive universe
Ranking failed on 07/13/2002: Universe has 0 stocks on 07/13/2002
Because of the structure of the universe I am not surprised to find a null set on a particular date, but I do wonder why this causes the entire rolling test to fail. Note that if I run a simulation across this time period, I do not have any problems the sim just doesn’t by any securities on that date (behavior I would expect). Why wouldn’t that behavior be the same for the Rolling Test?
Is there a work around or fix for this problem (it is definitely causing me some headaches with my analysis)?
In the very least why doesn’t the Rolling Test just return an NA for that particular time period, and proceed to run the model for the rest of the iterations in the test period.
Thanks, Marco. I usually do approach it that way, but I was trying a new technique where I keep the universe restrictive, and limit to just the following buy rule
Buy
RankPos <= #Positions
Sell
RankPos > #Positions
The benefit of this approach is extremely low turnover #'s relative to the way I used to do things. There might be other ways to achieve that goal… I’ll think about it.
Would it be possible to change the sim rules such that an Empty Universe on a particular date gives a warning instead of an error? I am not able to find a workaround for the problem discussed above, and an Empty Universe on a particular date doesn’t seem like a good reason for a simulation to error out.
I very much agree with that request and sth I asked for a couple of years ago.
In my view 0 stock in universe => do not buy anything, move on to the next week and so on till there is again sth to buy.
I also find RankPos is frequently better than a simple Rank buy rule.
This would be a powerful feature to avoid buying stock. Simulations/ports can continue with empty universe and hold cash, just like market timing.
We’ll eliminate the error that stops a sim with empty universe. Naturally all positions will be sold unless the ‘insert positions in universe’ is checked. We’ll include it in the big upcoming release which includes new flexible position sizing feature.