Just a quick attempt to a more statistical approach wrt the rotation strategy (Antonacci's Dual Momentum and similar).

Most of the times, with these kind of strategies, the best asset (according to some momentum/trend indicator) is selected on a periodic basis (usally monthly - indipendently from the strenght of the indicator) in order to avoid market whipsaw patterns (noise) and/or excessive trading. 

A better (and simple way) is to observe the indicator each day, but then decide whether to trade or not based on its statistical significance - e.g. using the t-stat for the difference between the mean of two assets (using past average returns as indicators).

The attempt works well for two uncorrelated assets like MDY and EDV (and self.pr_lvl=0.6), even better than Antonacci's algo (higher returns and fewer trades) - but it fails for more assets: just naively increasing the prob level (self.pr_lvl) does not seem to work it. 

Need some extra working before junking it (adaptive vol control, different indicators, ...). Suggestions very welcomed.