Top 10 stocks rated 'Buy' with 10-47% returns amid market weakness