Dear all, I produced a part of code which does what needed but by estimations I would need to wait for that for 300 hours!!! Maybe someone can give a me a glance advice or something. Thanks a lot! I need to define maximum adjusted R-squares from regression model: returns as dependent variable( here simulated to be normal) and 3 factors out of say 14 independent (simulated here). I need to run lm model for all possible combinations of factors and this way find the max adj R-squared. This should be done 100 times. Below I provide my code for that. It takes around 3 minutes to calculate, while I need to repeat the whole procedure for 6000 stocks! library(Combinations) # 14 factors with returns normally distributed factors.r <- matrix(data = rnorm(200), nrow = 200, ncol = 14) # simulated normal returns (nrows equals to #of simulations, ncol length of history) simul <- matrix(data = rnorm(200), nrow = 100, ncol = 200) # possible combinations of 3 out of 14 factors # 364 different combinations fact <- combinations(14, 3) # Elements of matrix are whole vectors of factors' returns each row corresponds to the combination of factors from matrix "factors" AAA <- matrix(as.list(factors.r[, t(fact)]), nrow = 364, ncol = 3) # Function to calculate R-squared for the linear regression model AdjRsqrFunc <- function(x, a){ summary(lm(a ~ x[[1]] + x[[2]] + x[[3]]))$adj.r.squared } max.seq <- NA # I need to check all the combinations of factors and find the model which brings the highest adjusted R-squared # for every simulation out of 100 for (i in 1:100){ xyz <- apply(AAA, 1, AdjRsqrFunc, a = simul[i, ]) max.seq <- c(maxrsq.seq, max(xyz)) } [[alternative HTML version deleted]]