We propose a new method to test the superior predictive ability (SPA) of a benchmark model against a large group of alternative models. The proposed test is useful for reducing potential data snooping bias. Unlike previous methods, we model the covariance matrix by factor models and develop a generalized likelihood ratio (GLR) test statistic for the above testing problem. The GLR test is also extended to a stepwise GLR (step-GLR) test in the spirit of the step-RC test of Romano and Wolf (Econometrica 73(4):1237-1282, 2005) and step-SPA test of Hsu et al. (J Empir Financ 17(3):471-484, 2010). The step-GLR test can identify the most contributed predictive models to the rejection of the null hypothesis. A Monte Carlo simulation study shows that the GLR test is much more powerful and less conservative than the SPA test of Hansen (J Bus Econ Stat 23(4):365-380, 2005). We also present an application to illustrate the use of the GLR test and make a comparison between our GLR and Hansen s SPA tests.