Early gains in European stocks and share purchases by foreign funds also kept the market tempo upbeat for the third day in a row. Foreign institutional investors bought a net Rs 318.05 crore of shares yesterday, according to provisional data from the stock exchanges.
The 30-share index resumed higher than yesterday's close of 19,804.03 and moved between 19,775.29 and 20,013.33 for most of the day before ending at 19,962.16, a gain of 158.13 points or 0.8 per cent. This is the highest closing since 19,997.45 on September 11.
The NSE Nifty firmed up by 49.25 points, or 0.84 per cent, to 5,899.45. The SX40 index on the MCX Stock Exchange ended at 11,801.58, up 78.94 points.
"Intraday volatility was high and investors were showing optimism ahead of the US Federal Reserve meeting," said Nidhi Saraswat, senior research analyst at Bonanza Portfolio Ltd. "Global markets were also showing positive trend ahead of the US meet, which boosted market sentiment."
The outcome of the two-day Fed meeting will be known after 2 pm EST in the US (about 11:30 pm Indian time). Some experts say the expected tapering of the Fed's monthly USD 85 billion bond-buying programme could be limited and has been factored in.
"The general street expectation is of modest tapering of around USD 5 billion to USD 10 billion. Anything more than expected would result in strengthening of the dollar and we could see profit booking in Indian equities," said Nagji K Rita, Chairman & MD at Inventure Growth and Securities.
Asian stocks closed mixed. Key indices in China, Japan and Singapore closed higher, while indices in Hong Kong, South Korea and Taiwan finished lower.
The losers on the index included BHEL, which dropped 4.76 pc, followed by Hero MotoCorp 2.84 pc and Sesa Goa 1.58 pc. Among the sectoral indices, S&P BSE-Realty rose 2.03 pc, followed by S&P BSE-Bankex 1.56 pc, S&P BSE-FMCG 1.37 pc, S&P BSE-Oil & Gas 0.87 pc and S&P BSE-Healthcare 0.81 pc.
The market breadth turned positive as 1,221 stocks closed with gains and 1,112 finished with losses. Total turnover was slightly higher at Rs 1,464.45 crore from Rs 1,452.79 crore yesterday.