Shares edged higher on Tuesday led by consumer companies, after closing at near two-month lows in the previous session, while subdued global markets kept gains in check.
The NSE Nifty 50 index rose 0.24% to 17,058 as of 0506 GMT, while the S&P BSE Sensex gained 0.3% to 57,316.04. On Monday, both indexes fell more than 1.5%.
"The global markets are not completely out of the woods. Indian markets will not be able to sustain major gains given the macro data in the U.S., monthly derivatives expiry and the Reserve Bank of India's monetary policy decision later this week," said Prashanth Tapse, research analyst, Mehta Equities.
"We are in a very volatile zone given the movement in the dollar index. Unless the index cools off, Indian markets may not be in a positive trend," Tapse said.
Foreign institutional investors sold net 51.01 billion Indian rupees ($625.1 million) domestic equities on Monday as per provisional data available with the National Stock Exchange.
The Nifty FMCG index gained 1% on hopes of higher volume growth and margin recovery as prices of many key raw materials like palm oil have cooled off, analysts said. The index gained nearly 4% last week.
"We are in the festive season and volume growth will be higher compared to last six months. Being a defensive sector, the FMCG looks good," Tapse said.
Among individual shares, Mahindra Logistics rose 2.5% after the company said it will sell its enterprise mobility business to its unit for 361.2 million rupees and buy Rivigo's B2B Express business for 2.25 billion rupees.
Britannia Industries and Hindustan Unilever were top gainers in the Nifty 50 index, rising 1.9% and 1.8%, respectively. Adani Ports was the top loser, falling 2.5%.