Markets traded volatile in a range and ended marginally in the green on Monday. The BSE Sensex ended at 50,651.90, up 111.42 points or 0.22%. The Nifty closed at 15,197.70, up 22.40 points or 0.15%. Among sectors FMCG, metals and consumer durables were losers, while banks, capital goods, power and oil & gas were top gainers.