Gold prices surged to their highest since October 2012 on Tuesday, driven by a weakness in the US dollar and widespread monetary stimulus packages by central banks as a jump in
coronavirus cases dents the economic outlook.
Spot gold climbed 0.6 per cent to $1,765.56 per ounce at 10:59 a.m. ET (1459 GMT), having hit $1,768.96, its highest since October, 2012. US gold futures were up 0.9 per cent to $1,783.10 per ounce.
"The tsunami of stimulus coming in from everywhere is not only inflationary but also painting a weaker picture for the economy and making gold look attractive," said Edward Meir, analyst at ED&F Man Capital Markets.
Gold has gained nearly 16 per cent this year supported by global stimulus measures since the non-yielding metal is considered a hedge against inflation and currency debasement.
The dollar was down 0.6 per cent at 96.46 against a basket of currencies, making gold cheaper for non-US currency holders.
More than 9.14 million people have been reported to be infected by the coronavirus globally and 473,031 have died, a Reuters tally showed on Tuesday.
"We expect that a continued suppression of real rates will continue to drive capital to seek shelter in gold's warm embrace," TD Securities wrote in a note.
"Real rates are printing new lows, driven by long-term inflation expectations which continue to rise as market participants grow more confident about the economic recovery."
Gold's gains came despite a rise in equities driven by encouraging economic data and after US President Donald Trump tweeted the US-China trade pact was "fully intact".
Holdings in SPDR Gold Trust , the world's largest gold-backed exchange-traded fund, rose 0.58 per cent to 1,166.04 tonnes on Monday, a level last seen in April 2013.
Elsewhere, palladium slipped 1.2 per cent to $1,914.14 per ounce, platinum was down 0.2 per cent at $820.66 per ounce and
silver rose 0.4 per cent to $17.90 per ounce.