The S&P 500 index recovered some ground on Wednesday, to end slightly higher as investors snapped up oversold shares and bond yields rebounded from significant lows that raised fears about a recession.

Increasing worries over a global economic downturn and bets the Federal Reserve will have to pick up its pace of interest rate cuts pushed Treasury yields sharply lower early, with 10-year yields touching their lowest since October 2016.

Ten-year yields began to recover a bit in afternoon trading after a soft auction. 

The recovery in yields helped the equity markets, which have been tracking the movement in 10-year yields.

During the session, the premium on three-month Treasury bill rates over 10-year Treasury yields, a closely watched recession indicator, was at its most elevated levels since March 2007.

Financials were the largest loser among all the S&P 500 sectors, down 1.2%, while the staples and materials indexes ended up more than 1% each.

There was also some attraction to what many perceived as bargains in the equity markets that resulted from the recent selloff. The S&P 500 is down 4.7% since its July 26 record high close.

Interest rates futures suggested traders are building bets the Fed will cut interest rates three more times by year-end.

Central banks in New Zealand, India and Thailand on Wednesday cut their lending rates amid growing fears that the U.S.-China trade war could aggravate a slowdown in the global economy.

Trade concerns re-emerged after Trump last week indicated he would add 10% tariffs on the rest of $300 billion of Chinese imports and called China a currency manipulator.

The energy sector took a hit to the tune of 0.8% after oil prices slid.

On the plus side, CVS Health was up 7.5% after the drugstore chain raised its full-year profit forecast.

Disney fell 4.9%, a day after its quarterly earnings missed consensus forecasts on higher investments in its streaming platform.

Approximately 9.05 billion shares changed hands on the major domestic equity exchanges on Wednesday, as compared to the 7.1 billion share average over the past 20 trading days.