{"slug":"what-is-commodity-trading","qid":"family_years","label":"family_years","post_title":"what-is-commodity-trading","post_url":"/blog/lang/pcm/what-is-commodity-trading#q-family_years","columns":["year","crude_uso_return_pct","gold_gld_return_pct"],"rows":[{"year":"2021","crude_uso_return_pct":67.9,"gold_gld_return_pct":-6.2},{"year":"2022","crude_uso_return_pct":27.9,"gold_gld_return_pct":0.8},{"year":"2023","crude_uso_return_pct":-1.5,"gold_gld_return_pct":11.8},{"year":"2024","crude_uso_return_pct":14.9,"gold_gld_return_pct":27},{"year":"2025","crude_uso_return_pct":-10.1,"gold_gld_return_pct":61.5},{"year":"2026","crude_uso_return_pct":122,"gold_gld_return_pct":-1.7}],"shape":"ranking","sql":"SELECT\n    year,\n    round(maxIf(ret_pct, ticker = 'USO'), 1) AS crude_uso_return_pct,\n    round(maxIf(ret_pct, ticker = 'GLD'), 1) AS gold_gld_return_pct\nFROM\n(\n    SELECT\n        toString(toYear(date)) AS year,\n        ticker,\n        (argMax(toFloat64(close), date) / argMin(toFloat64(close), date) - 1) * 100 AS ret_pct\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('USO', 'GLD')\n      AND date >= '2021-01-01'\n      AND date <  today() - 1\n    GROUP BY year, ticker\n)\nGROUP BY year\nHAVING count() = 2\nORDER BY year","computed_at":"2026-09-26T15:34:45.558190+00:00","elapsed":0.181874872}