Mathematically, what is going on here?
If two price series are cointegrated, you can run the linear regression to calculate the hedge ratio.
The linear regression is in the form: $$y = \beta X + \epsilon$$
where, $y$ is the dependent variable, $X$ is the independent variables, and $\beta$ is the slope that we want to estimate and $\epsilon$ is the error term.
In Python, the OLS function from the statsmodels package is used to calculate the hedge Ratio:
statsmodels.api.OLS (dependent_variable(y), independent_variable(X))