What is the logic of the eigenvectors of the Johanson cointegration test determining hedge ratios?

Quantitative Finance Asked by lampShadesDrifter on October 9, 2020

Reading Algorithmic Trading: Winning Strategies and Their Rationale, Ernie Chan and there is a short section about the Johanson test for cointegration where it is mentioned that

the eigenvectors resulting from this test can be used as a vector of hedge ratios for the instruments in question to form a stationary

My question is: what is the logic in doing this / how does this make sense (Ie. what is the logic in taking the resulting eigenvector values and using them as the hedge ratios for the portfolio)? What property about using these values then makes the portfolio stationary?

One Answer

Necropost. I know, but this article helped me some time ago.

The geometric meaning

If you have multiple vectors in space, e.g. matrix of prices for several stocks, then eigenvalue is an angle measuring of how much each vector needs to be rotated to align it with other vectors in the matrix. You can get a clearer picture if you check algorithms for Jacobi, Givens, or just a plain rotation. The main idea is that trigonometric cos and sin functions can define an angle between vectors. So, if you iteratively multiply elements on the main diagonal of the matrix by cos(X) and other by sin(X) and keep the value of angle X between iterations, then eventually you'll find a combination of X values that make all vectors in the matrix to be aligned along the main diagonal and all values outside main diagonal will be -> 0, which means that these vectors (stocks) are now heading in the same direction.

Physical meaning

Using eigenvalues as weights in the portfolio means that you equalize the volatility of these stocks to make them move together. The primitive solution is to compare prices of the stocks in the portfolio and multiply them by missing volatility factor, e.g.

SPX is 3000 
SPY is 300 x 10 = 3000 

So, both of them are equally heavy now. The advantage of eigenvalues is that you're using more precise method to find coefficients based on a list of historical prices and their covariance, i.e. level of dependency between them, which takes into account not only the current difference in prices but average volatility, as well.

Correct answer by Anonymous on October 9, 2020

Add your own answers!

Related Questions

Cashflow Risk vs Discount Risk

2  Asked on October 27, 2021


Downloading Historical Data from

1  Asked on October 27, 2021 by jack_t


What is the disadvantage using the edge ratio?

2  Asked on October 26, 2021 by claudia-rosso


QuantLib python ql.schedule getting end of month dates

2  Asked on February 8, 2021 by user51725


An example of Feynman-Kac

0  Asked on February 6, 2021 by moh514


Ask a Question

Get help from others!

© 2022 All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP