No need for nested loops or nested lapply.
Use expand.grid
to create all your combinations of monCode
and yearRange
then do.call(sprintf,...)
to concatenate them
f <- expand.grid(monCode,yearRange)
outList <- do.call(sprintf, c(f, fmt = 'IB%s%s comdty'))