Gold prices rose from a three-week trough on Thursday due to a pullback in the U.S. dollar, although higher Treasury yields and prospects of another big rate hike by the Federal Reserve kept investors on edge.

Spot gold rose 0.5% to $1,637.02 per ounce by 1156 GMT, having slipped to its lowest since end-September earlier in the day. U.S. gold futures gained 0.5% to $1,641.90.

The dollar index was down 0.4% against its rivals, making gold less expensive for other currency holders.

"A slightly weaker U.S. dollar and losses in the equity markets are giving a little bit of support to gold as a safe haven," said Peter Fertig, an analyst at Quantitative Commodity Research.

However, rising yields in major bond markets and outlook for further monetary policy tightening by most central banks are weighing on gold prices, Fertig said.

Higher U.S. interest rates increase the opportunity cost of holding the zero-yielding metal.

Benchmark 10-year Treasury yields held near their highest since mid-2008.

Fed Bank of Minneapolis President Neel Kashkari said on Wednesday that U.S. job market demand remained strong and underlying inflation pressures probably had not peaked yet.

Gold is fast approaching key lows and Fed members retaining their hawkish chorus could keep the pressure on prices, said City Index analyst Matt Simpson.

The Fed is widely expected to hike interest rates by 75 basis points at its policy meeting next month after U.S consumer prices increased more than expected in September.

However, demand from India and China is on the higher side and that may provide some support to gold from major selling, said Hareesh V, head of commodity research at Geojit Financial Services in Kochi, India.

Spot silver rose 1.3% to $18.68 per ounce, platinum climbed 0.7% to $890.25, and palladium added 0.3% to $2,005.88.

(Reporting by Arundhati Sarkar and Eileen Soreng in Bengaluru; Editing by Subhranshu Sahu)