A Kalman filter can be used in a trading strategy that is known as “Pairs Trading” or “Statistical Arbitrage Trading”. Pairs trading aims to capitalize on the mean-reverting tendencies of a specific portfolio. The foundational assumption of this strategy is that the spread of co-integrated instruments is inherently mean-reverting. Therefore, significant deviations from the mean are viewed as potential opportunities for arbitrage.

A Kalman filter can be used to dynamically estimate the hedge ratio. Compared to other methods such as a least square with a fixed window size, the Kalman filter does not require this parameter. However, values for the system and measurement noise must be specified.

It is assumed that a stock or any other assets behaves according to a random walk:

\[ x(k) = x(k-1) + z(k)\]

With the above assumption we can follow that two assets \( x^1 \) and \( x^2 \) can be combined to a portfolio:

\[ z(k) = x^1(k) - \gamma(k) x^2(k) = z^1(k) - \gamma(k) z^2(k)\]

The latter expression shows that this portfolio would be stationary.

In the simpelst version it is assumed that \( \gamma \) is constant over time. For this case \( \gamma \) can be found with linear regression. In practise this simplification does not hold because it is time-varying. Therefore, \( \gamma \) can be estimated with a Kalman filter.

\[ \gamma(k) = \gamma(k-1) + z(k)\]

\[ \frac{x^1(k)}{x^2(k)} = \gamma(k-1) + v(k)\]

A trading strategy

The idea is to buy asset \( x^1 \) and sell (short) asset \( x^2 \) if \( z(k) < \hat{z}(k) \)

Execute trades based on the signals generated by the Kalman filter. Continuously update the estimates as new price data becomes available, ensuring that the model adapts to changing market conditions.


Pairs trading with the Kalman filter is a powerful strategy that enhances traditional methods by providing dynamic and adaptive modeling of the price spread between two correlated stocks. By leveraging the Kalman filter, traders can achieve more accurate and timely signals, ultimately leading to better trading performance.

Implementing this strategy requires a solid understanding of both the Kalman filter and financial markets, but the potential rewards make it a worthwhile endeavor for quantitative traders looking to exploit statistical arbitrage opportunities.


[1] Shumway, Robert and David S. Stoffer. “AN APPROACH TO TIME SERIES SMOOTHING AND FORECASTING USING THE EM ALGORITHM.” Journal of Time Series Analysis 3 (1982): 253-264.

[2] MT4: https://sites.google.com/site/marketformula/mt4-indicators/pairs-trading-mt4-indicator

[3] Triangular Arbitrage: https://sites.google.com/site/marketformula/articles/triangular-arbitrage-101?authuser=0

[4] Synthetic hedge: https://www.forexfactory.com/thread/262827-synthetic-hedges-cointegration-mean-reversion-and-similar-stuff

[5] Z. Zhao and D. P. Palomar, “Mean-Reverting Portfolio With Budget Constraint,” in IEEE Transactions on Signal Processing, vol. 66, no. 9, pp. 2342-2357, 1 May1, 2018, doi: 10.1109/TSP.2018.2799193. https://arxiv.org/pdf/1701.05016.pdf

[6] Vidyamurthy G. Pairs Trading : Quantitative Methods and Analysis. Hoboken N.J: J. Wiley; 2004.

[7] Tim Leung and Xin Li, Optimal Mean Reversion Trading: Mathematical Analysis and Practical Applications. WSPC. 2015

[8] Spectral factorization: https://www.youtube.com/watch?v=HXeT5WexXPs Poor88

[9] Ornstein-Uhlenbeck process in pairs trading: https://medium.com/@financialnoob/pairs-trading-with-ornstein-uhlenbeck-process-part-1-cf7f9b532f5d

[10] https://medium.com/analytics-vidhya/understanding-and-implementing-kalman-filter-in-python-for-pairs-trading-9b8986d79b2d

[11] Kalman Filter Trading Applications: https://www.youtube.com/watch?v=hmKwjuZLpqg