The S&P 500 secured a 0.9% weekly gain during the holiday-shortened trading week, marking its second straight advance and its 11th positive week in the past 12.