What macroeconomic factors have driven the recent price rally?