Crude prices were higher Friday and stock markets made decent gains after European countries decided against a ban on Russian oil imports over its invasion of Ukraine -- but Germany said it would slash its energy purchases from Moscow.

European stocks, which had been firmly higher earlier in the session, ended the day with only modest gains, but on Wall Street the Dow and S&P 500 climbed out of a midday slump to both gain under one percent at the close.

"It seems the skyrocketing move higher with commodity prices has taken a break and that has allowed investors a chance to pile back into equities," said Edward Moya of OANDA.

"Geopolitical risks remain very elevated and the rally in equities over the past two weeks is impressive."

However, analysts say instability in the prices of commodities such as oil were keeping markets volatile, while investors will remain cautious over the economic impact of the war in Ukraine, now entering its second month.

"We're not really getting a lot of news out of the Russia-Ukraine situation," Tom Martin of Globalt Investments said.

"In two to three weeks, we're going to start getting earnings and... those are going to give us somewhat of a window on this new world we find ourselves in, post the Russian invasion of Ukraine."

The United States and European Union have announced a drive to wean Europe off Russian gas imports and so choke off the billions in revenues that are fueling Moscow's war.

Europe's biggest economy, Germany, said its own Russian oil imports would be halved by June and coal deliveries stopped by the autumn of this year.

"Anxieties about the increasingly entrenched conflict in Ukraine are" holding back share price gains, said Hargreaves Lansdown analyst Susannah Streeter.

Russia launched its assault on Ukraine on February 24, sending shockwaves across global markets that continue to reverberate.

The business climate in Germany worsened in March, the Ifo business confidence index showed, amid fears over soaring energy prices and deepening supply chain woes.

The crisis in eastern Europe has forced investors to reassess their outlook for the global economy owing to an expected surge in already soaring prices, which some commentators now warn could lead to recession.

Bitcoin rose above $45,000, boosted by talk that the Kremlin could accept the world's biggest cryptocurrency in exchange for Russian gas.

US President Joe Biden and allies in NATO and the EU have presented a united front against Russia's invasion of neighbouring Ukraine
US President Joe Biden and allies in NATO and the EU have presented a united front against Russia's invasion of neighbouring Ukraine AFP / Brendan Smialowski

Brent North Sea crude: UP 1.4 percent at $120.65 per barrel

West Texas Intermediate: UP 1.4 percent at $113.90 per barrel

New York - DOW: UP 0.4 percent at 34,861.24 (close)

New York - S&P 500: UP 0.5 percent at 4,543.06 (close)

New York - Nasdaq: DOWN 0.2 percent at 14,169.29 (close)

London - FTSE 100: UP 0.2 percent at 7,483.35 points (close)

Frankfurt - DAX: UP 0.2 percent at 14,305.76 (close)

Paris - CAC 40: DOWN 0.03 percent at 6,553.68 (close)

EURO STOXX 50: UP 0.1 percent at 3,867.73 (close)

Tokyo - Nikkei 225: UP 0.1 percent at 28,149.84 (close)

Hong Kong - Hang Seng Index: DOWN 2.5 percent at 21,404.88 (close)

Shanghai - Composite: DOWN 1.2 percent at 3,212.24 (close)

Euro/dollar: DOWN at $1.0981 from $1.0997 late Thursday