Indian shares rose for a fourth consecutive session on Wednesday, tracking global cues as upbeat U.S. growth news brought some cheer, but indexes were headed for their biggest monthly falls since February in what has been a volatile month.
India's sudden action to abolish 500 and 1,000 rupee notes on Nov. 8 has sparked a cash crunch that analysts fear will hit economic growth. The country is due to post July-September gross domestic product data later in the day.
At the same time, the election of Donald Trump as the U.S. President has sparked flows from emerging markets to the United States. Data on Tuesday showed the U.S. economy grew faster than initially thought in the third quarter, notching its best performance in two years.
Foreign investors have sold a net $2.46 billion in Indian shares so far this month, their biggest monthly sales since August 2015, according to data compiled by NewsRise Financial.
But worries about demonetisation are starting to subside. HSBC cut its target for Sensex to 30,500 from 32,400 by the end of 2017, but said it remained "overweight" on Indian stocks.
"We believe the cash situation will return to something approaching pre-demonetisation levels over the next four-six weeks," HSBC said in a note.
"Once the cash crunch is over, we should see growth in financial inclusion, digital payments and banking liquidity as parts of the shadow economy move into the mainstream, boosting growth."
Nifty was up 0.42 percent at 8,176.05 as of 0616 GMT, boosted by financials. But it was down 5.21 percent for November, its biggest monthly fall since February.
Sensex was 0.36 percent higher at 26,489.27, but is poised to end the month lower.
Nifty gained as much as 1.1 percent with ICICI Bank Ltd rising 2.15 percent and Yes Bank Ltd up 1.43 percent.
Tyre stocks rose as Shanghai rubber futures slumped. Apollo Tyres Ltd gained 2.9 percent and CEAT Ltd rose 4 percent.
Meanwhile, shares of IDFC Bank Ltd fell after a unit of Malaysia's Khazanah raised about 5.4 billion rupees ($78.69 million) by selling 80.4 million shares in the Indian company.
($1 = 68.5900 Indian rupees)