S&P 500 Posts 10% Gain in Best Monthly Rally Since 2020