U.S. stocks rose, led by gains in energy shares to extend a three-week rally before Friday’s payrolls report that may provide a clearer picture on the strength of the economy and path for interest rates.

Energy producers in the Standard & Poor’s 500 Index erased 2016 declines as a rally in the group helped equities shake off earlier weakness for a second day. Banks also gained momentum in the afternoon, rising for the fifth time in six days. Health-care and technology shares struggled, with Microsoft Corp. losing 1.1 percent. Kroger Co. sank 7 percent after the grocer forecast slower growth this year.

The S&P 500 rose 0.4 percent to 1,993.39 at 4 p.m. in New York, wiping out a drop of as much as 0.5 percent to hold at an eight-week high.

Investors are watching economic reports as central-bank meetings approach, with the government’s monthly nonfarm payroll figures looming large tomorrow. Data today showed growth in service industries slowed for a fourth straight month in February. A separate gauge showed factory orders in January rose less than expected, while the number of claims for unemployment benefits remained consistent with a steady labor market.

The S&P 500 has jumped 9 percent from a 22-month low reached in February, though the gains have come amid the weakest volume in 2016, signaling a lack of conviction in the rally. The benchmark has trimmed its 2016 decline to 2.5 percent as banks, consumer and technology companies have bolstered the comeback, and it’s on track for a third straight weekly gain of more than 1.5 percent for the first time since 2009.

Source: Bloomberg