Stocks finish strong after morning drama