India's key share index rose to a four-month closing high on Friday on a fall in the inflation rate and in anticipation of a good October earnings season.
Bonds, however, ended off highs as inflation was still above expectations, while the rupee gave up the day's gains on a widening trade deficit.
India's annual wholesale price inflation rate fell to 7.81 percent in the year to September 4 from a 3-1/2-year high of 8.33 percent a week before. The central bank and the finance ministry have vowed to take more action, if needed, to check inflation.
The 30-share Mumbai Stock Exchange Sensex rose 1.52 percent to 5,561.15 points, its highest close since May 7.
The index gained 3.6 percent on the week, its fourth straight week of gains, but is still down 4.8 percent so far this year.
"We are seeing a shift from mid-caps to frontline stocks ahead of earnings, as investors are expecting strong results," said Devang Dhruv, an analyst at Khandwala Securities.
"There will be some corrections going forward, but the index should rise to the 5,850-level in the next few weeks."
Friday's rally was led largely by banks and auto, steel and consumer goods makers.
Index heavyweight Reliance Industries Ltd., the biggest private-sector refiner, rose 3.7 percent to 509.25 rupees on weaker global crude prices and firm polymer prices.
Banks rallied after the central bank said on Thursday it would consider letting them raise capital by issuing preference shares. This is seen boosting state-run banks in particular.
State Bank of India, the biggest commercial bank, rose 3.3 percent to 480.50 rupees and Vijaya Bank rose 3.1 percent to 47 rupees.
Bonds, however, gave up early gains as the fall in the inflation rate was below expectations of 7.6 percent, and as liquidity was reduced by quarterly tax payments to the government.
The yield on the benchmark 10-year bond closed almost unmoved at 6.1266 percent.