Stocks across the world were mostly softer yesterday as weak corporate earnings prompted profit-taking, but losses were limited by an oil price rally following surprisingly low US inventories.