How do I reconcile these results?

Please see this post Use AI predictor in ranking system - #4 by marco. Sorry there's been new features that have not been announced yet.

For long backtesting with AI factors you need to use the new function AIFactorValidation(). It uses saved predictions made during validation and it's very fast. Predictors should only be used to predict in the present. We allowed up to 1 year for more flexibility.

ALSO

Rank < 2 is problematic with Quick Rank since stocks that have too many NA's in the features (30%) will get the lowest ranks, but in AI Factors they are discarded. So the results will not match.

To match exactly you need to:

  • Create a new universe
  • Set the starting universe the same as the AI Factor
  • Add a rule in your universe to kick out stocks that had no predictions in the validation like this: AIFactorValidation("AI factor name", "model name") != NA

Another option is to not use Quick Rank and create a ranking system and set the Ranking Method to "Percentile NAs Neutral". This will produce better matching results (but not exact). We'll make some changes to Quick Rank that will give exact results to the AI Factor.

Thanks