Markets recouped losses, climbing over 2% on expectations of government measures to boost demand ahead of the festive season. The BSE Sensex ended at 37,388.66, gaining 835.06 points or 2.28%. The Nifty was at 11,050.25, 244.70 points or 2.26%.