US stocks gain over 3% for the week despite oil volatility