Indian markets traded slightly lower on Tuesday, as investors cautiously awaited the September-quarter Gross Domestic Product data that is due on Thursday. The BSE Sensex closed 105.85 points, or 0.31%, lower at 33,618.59. The Nifty50 fell 29.30 points, or 0.28%, to close at 10,370.25.

The top gainers on the Sensex were Bharat Heavy Electricals Limited, Maruti Suzuki and Coal India while the top losers were NTPC, Bharti Airtel and Infosys.

Zee Entertainment, India Bulls Housing and Finance and Maruti Suzuki were the top gainers on Nifty50 while Bharti Airtel, Aurobindo Pharmaceuticals and NTPC were the top losers.

Shares of the Mumbai-based pharmaceutical company Glenmark fell steadily through the day after the United States’ Food and Drug Administration reported seven quality lapses at the firm’s unit in Himachal Pradesh. The company’s stocks ended 3.28% lower.

Markets may continue to be volatile amid hopes of a recovery in the Gross Domestic Product for this quarter. “Markets are steadily moving up and there will be pull-backs on odd days,” Sudhakar Pattabiraman, head of research operations at MarketSmith, told Reuters.

Asian shares also fell, as Chinese stocks tumbled for a second straight session. MSCI’s broadest index of Asia-Pacific shares outside Japan slipped 0.3%.

The rupee traded at 64.40 a dollar after opening at 64.49 a dollar. It touched a high of 64.36, a level last seen on September 20.