Indian markets on Friday touched a record high, with the Bombay Stock Exchange Sensex closing at a new peak at 31,028 points and the National Stock Exchange Nifty ending at 9,595.

Observers said a continuous inflow of foreign funds and stable buying by retail investors, together with positive cues including a normal monsoon forecast, significant quarterly gains and the Goods and Services Tax council’s approval of rates contributed to the upbeat trade, LiveMint reported.

“On Thursday, major shorts were covered and longs have been rolled, so there is follow-up buying in today’s session,” derivative analyst Prabhudas Lilladher Pvt Limited, Miraj Vora told Reuters. Major gainers during the day’s trading on the Sensex included Tata Steel, Adani Ports, Reliance Industries, Asian Paints, Power Grid, Bharti Airtel, L&T, Infosys, HDFC Ltd, M&M, Hero MotoCorp, ICICI Bank, ITC Ltd, ONGC, Maruti Suzuki, Wipro and Coal India.

“Most of the movement on the indices since Thursday is due to broad index-level buying in the markets because of the Futures & Options expiry,” Tirthankar Patnaik, chief strategist and head of research, India at Mizuho Bank, told Reuters.

HDFC gained over 1% after it was declared to the only Indian company to be named in the top 10 consumer financial services companies in the world. Maruti Suzuki, which had reported its March quarterly results last month, has been trading higher ever since. So far in 2017, the stocks of Maruti Suzuki have gone up 30%.

However, Videocon Industries went down close to 10% as investors continued to dump the stock for the third consecutive session. The company was declared as a non-performing asset by Dena Bank and Central Bank of India. Indian Oil Corp also slipped as much as 5.2%, while Bharat Petroleum went down 3.3%. “There is some profit-booking in downstream oil companies,” Patnaik said.

Pharma company Cipla also dropped to an eleventh-month low by falling 3% after posting a quarterly loss.