Here are a couple of the flaws I see:
- Your measures of correlation/cointegration are likely to depend on the period chosen for the analysis. These can be quite variable, and your hedge portfolio may not perform as well as you expect out of sample. Given that, your hedge portfolio is likely to place an emphasis on the stocks that appear closest to the alcoholic beverage firm in sample.
- Your method of selection is limiting the subset of stocks used to build the hedge to the subset of EuroStoxx stocks that are most like the alcoholic beverage firm. This may not be the best universe to build the overall hedge for the firm since you may wish to incorporate other companies in the hedge universe that most closely model the difference between the alcoholic beverage firm and a close firm. Hence, your overall hedge portfolio may not be the best.
For me, I would say that there are two problems here - what is the best metric for measuring the performance of the hedge relative to the stock, and how to pick the 5 candidates for the final portfolio. Both of those have a range of options.
Typically, most people would start by looking to minimize the variance of the relative returns of the stock and the hedge. In other words, they are looking to minimise $var(r_h - r_s)$. If that variance is small, then we can expect that the hedge portfolio will closely track the stock. This is akin to your proposal to minimize the correlation. If we know the covariance matrix of the EuroStoxx constituents and the alcoholic beverage firm, $\Sigma$, then we can express the portfolio variance as $(x-t)’\Sigma(x-t)$, where $x$ is the hedging portfolio, and $t$ is a portfolio consisting of a unit holding in the target alcoholic beverage company. This is classical Markowitz Mean-Variance Optimisation.
There is a huge amount of literature out there about adjusting covariance matrices for better performance. For example, people use factor models (as @mark leeds suggests), or apply shrinkage estimates to the covariance matrix (see, e.g., papers by Ledoit).
If we settle on the variance as the performance measure, it would allow us to use MIQP to build a hedge portfolio that selects the best portfolio of 5 stocks to minimise the variance of the hedge portfolio wrt the alcoholic beverage firm. Set up the quadratic optimisation with a constraint that no position is larger than 40%. You may not be able to find a MIQP Python library out there, and it may be necessary to look at heuristics to pick the subset. For instance, you could build up a hedging portfolio by finding the best single hedge in the EuroStoxx, then you find the best hedge for the remaining relative returns. Repeat this process until the hedge portfolio contains 5 stocks. This subset of 5 stocks is not likely to be statistically different from the true, optimal subset.