Buy these five stocks ahead of earnings before it's too late, Bank of America says