The S&P 500 climbed 0.9 per cent and was on track to top its all-time high set on Friday.