BP is to sell its stake in Russian oil company Rosneft, just days after UK politicians urged the UK supermajor to exit its investment in the wake of Moscow's invasion of Ukraine.

BP said on Sunday it will exit its 19.75% shareholding in Rosneft that it has held since 2013. It follows what BP chairman Helge Lund called Russia's "act of aggression".

But it remains unclear how much of its investment BP will recoup, analysts said.

BP said it will incur two charges valued at a combined $25 billion when it reports its first-quarter results in May.