Treasuries halted a three-day slump as investors remained cautious before the Federal Reserve meeting in the coming week. The 10-year yield fell three basis points to 2.19%. The S&P 500 ended at session highs after swinging between gains and losses throughout the day. Trading in S&P 500 stocks was 17% below the 30-day average as the gauge capped its biggest weekly gain since July. Oil dropped below $45 a barrel.