BP has agreed to sell its petrochemicals business to Ineos for $5bn. BP shares rose nearly 3 per cent in London trading.