The dollar weakened against Japanese yen and Swiss franc on Friday as investors pared back risk exposure amid record slumping in stocks market, high oil prices and worries about U.S. economic growth.

Japanese yen and Swiss franc rose to three-week highs against the dollar to 105.85 and 1.0166 respectively on Friday. Meanwhile, the euro headed for its second straight week of gains against the greenback and closed to near the day high at 1.5791 as tepid U.S. economic data undermined the case for the Federal Reserve to hike interest rates by August. Sterling also strengthened and close near the day-high at 1.9952 versus the dollar.

The euro dropped to a session low at 167.03 versus the Japanese yen from a record high of 169.47 touched on Thursday and 1.6040 against the Swiss franc after Russia's central bank said it plans to increase the Swiss currency's share in its $558.7 billion gold and foreign exchange reserves.

With oil prices hitting a record near $143 and up more than 47 percent so far this year, the combination of sluggish growth and high prices has battered U.S. stocks, sent bond yields lower and put pressure on the dollar. The Dow Jones industrial average dropped another day and decline 106 points to 11346.51 on Friday, it has retreated more than 20 percent below its October 2007 peak. The Canadian dollar rose to a three-week high against the U.S. dollar amid high crude oil prices and touched 1.0049 (the strongest since June 3) before rebounding in late New York session. Investors reduced wagers on additional rate increases by the ECB this year, futures contracts showed. The implied yield on the December Euribor futures contract dropped 14 basis points, or 0.14 percentage point, this week to 5.16 percent.

Economic data releases next Monday include UK Gfk consumer confidence survey, Japan manufacturing PMI, housing starts and construction orders, eurozone CPI Y/Y estimate, Canada GDP data and U.S. Chicago PMI. Later in the week, data closely watched by traders are ECB rate decision and U.S. non-farm payrolls on Thursday.