{"slug":"pairs-trading-and-cointegration","qid":"hedge_ratio_by_year","label":"Hedge ratio refitted each calendar year, two sector pairs","post_title":"Pairs Trading and Cointegration Explained","post_url":"/blog/pairs-trading-and-cointegration#q-hedge_ratio_by_year","columns":["year","pep_on_ko_beta","lowes_on_hd_beta"],"rows":[{"year":2019,"pep_on_ko_beta":2.338,"lowes_on_hd_beta":0.278},{"year":2020,"pep_on_ko_beta":1.169,"lowes_on_hd_beta":0.87},{"year":2021,"pep_on_ko_beta":3.345,"lowes_on_hd_beta":0.628},{"year":2022,"pep_on_ko_beta":1.015,"lowes_on_hd_beta":0.588},{"year":2023,"pep_on_ko_beta":2.986,"lowes_on_hd_beta":0.521},{"year":2024,"pep_on_ko_beta":0.546,"lowes_on_hd_beta":0.635},{"year":2025,"pep_on_ko_beta":-0.543,"lowes_on_hd_beta":0.539}],"shape":"ranking","sql":"WITH daily AS (\n    SELECT\n        date,\n        anyIf(toFloat64(close), ticker = 'PEP') AS pep,\n        anyIf(toFloat64(close), ticker = 'KO')  AS ko,\n        anyIf(toFloat64(close), ticker = 'LOW') AS lowes,\n        anyIf(toFloat64(close), ticker = 'HD')  AS hd\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('KO', 'PEP', 'HD', 'LOW')\n      AND date BETWEEN '2019-01-01' AND '2025-12-31'\n    GROUP BY date\n    HAVING ko > 0 AND pep > 0 AND hd > 0 AND lowes > 0\n)\nSELECT\n    toYear(date)                                  AS year,\n    round(covarSamp(pep, ko) / varSamp(ko), 3)    AS pep_on_ko_beta,\n    round(covarSamp(lowes, hd) / varSamp(hd), 3)  AS lowes_on_hd_beta\nFROM daily\nGROUP BY year\nORDER BY year","computed_at":"2026-08-13T16:30:37.773598+00:00","elapsed":0.003246877}