The S&P 500 edged lower for the day as bank earnings season kicked off, but finished the week with a broad-based 2.4% gain.