Bachelor Thesis
Bachelor Thesis
Bachelor Thesis
Abstract
The purpose of this paper is to determine if pairs trading is still a profitable trading strategy,
in line with current literature, it still is. How it answers the question is multifaceted, we do so by
investigating different models under various parameters and implementing different strategies
under a cointegrated framework. The data used in this study are all tradable securities on
the NYSE, NASDAQ, ARCA and AMEX. The results in the study show that using moving
windows to regularly update trading signals and using a GARCH(1,1) model to adjust trading
bands with a conditional volatility produces the highest winning ratio of winning pairs and best
overall performance. The study is limited as trading costs are not accounted for and also more
investigative studies could have been carried out on other estimated parameters and particular
trading strategies could have been extended.
1
Contents
1 Introduction 3
2 Theory 4
2.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 ARMA models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Unit root and Stationarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Cointegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Cointegration in context of pairs trading . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Correlation and Cointegration . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 GARCH models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Methodology 12
3.1 Pairs Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Trading Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Backtest Results 15
4.1 Performance Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Basic Model results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.1 Backtest results on Time Horizon . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.2 Backtest results on changing the Bands . . . . . . . . . . . . . . . . . . . . . 19
4.2.3 Backtest results on changing Moving Windows . . . . . . . . . . . . . . . . . 22
4.3 Kalman Filter Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.1 Kalman Filter backtest results on Time Horizon . . . . . . . . . . . . . . . . 24
4.3.2 Kalman Filter backtest results on changing Bands . . . . . . . . . . . . . . . 26
4.3.3 Kalman Filter backtest results on changing Moving Windows . . . . . . . . . 29
4.4 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Further Analysis 31
5.1 Log returns vs mse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Log returns vs estimated Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7 Conclusion 40
7.1 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8 Appendix 45
8.1 List of pairs traded including which ones pertain to Stationarity . . . . . . . . . . . 45
8.2 Winning Stationary Pairs for the Year of 2015 under the Basic Model . . . . . . . . 52
8.3 Winning Stationary Pairs for the Year of 2018 under the Basic Model . . . . . . . . 53
2
1 Introduction
Wall Street in the 21st century is said to be dominated by mathematicians, physicists and computer
scientists employed by hedge funds or through propriety trading. These Wall Street wizards use data
driven algorithms and have made the intuitions of the so-called ’Kings of Wall Street’ irrelevant.
As The Wall Street Journal puts it, "Prognosticators imagined a time when data-driven traders
who live by algorithms rather than instincts would become the kings of Wall Street. That day has
arrived." (Gregory & Bradley, 2019).
The success of many trading algorithms depend on the quality of the predictions of stock price
movements. Predictions of stock prices are generally less accurate than a portfolio of stocks. A clas-
sical strategy that tries to make the most of the predictability of a portfolio of stocks or securities
is pairs trading, where a linear combination of two assets is traded. At the heart of this strategy is
how these two assets co-move (Alvaro et al., 2015).
Although more complicated models can be applied to pairs trading strategies, it is fundamentally
quite simple. The series obtained through a linear combination of two assets, is called the spread. If
there is a large enough deviation from its supposed mean, a miss-pricing is identified, then a profit
can be made when the spread reverts back to its mean, under the efficient market hypothesis.
Pairs trading can be put into a class of strategies called statistical arbitrage. A true statisti-
cal arbitrage strategy produces returns in excess of the risk-free rate with zero risk. However, pairs
trading strategies are not entirely true statistical arbitrage in the sense that they rely on the joint
predictability of the assets and hence are not risk free.
In the literature, it is said that pairs trading strategies were first implemented by Nunzio Tartaglia
at Morgan Stanly in the mid 1980’s, who assembled a team of mathematicians, computer scientists
and physicists that achieved great success by 1987. However, the team started to produce large
losses, and so, the team dissolved in 1989 and the members of the team went their own ways or
joined different funds, and the knowledge of pairs trading spread into the market (Vidyamurthy,
2004).
Given the inherent proprietary nature of this trading strategy, it became a popular research topic
the 90’s and early 00’s, where it gradually faded. Huck & Afawubo (2015), states that there has
been a sudden burst of interest in recent years, including several books. The academic literature
can be divided into two main approaches, although Huck & Afawubo (2015) and Krauss (2017)
might argue differently. The first approach, was the minimum sum squared distance (SSD), being
one of first approaches to be implemented. Followed by, the cointegration. For this study, we will
use the cointegration approach and will not dwell on the other possible approaches. In tandem
with recent literature, in this study we also pose the question if pairs trading is a still profitable
strategy. Moreover, this study differs from other literature, in several aspects. First, we study the
performance of pairs trading under different models, the normal cointegrated approach, but repeat
it using a Kalman filter. Second these models are studied under various parameters as a sensitivity
analysis. Third, we study if certain estimated parameters can provide any insight on performance.
Finally, we also study the performance when adjusting trading signals to conditional volatility using
a GARCH model, similar to Miah et al. (2016).
3
The rest of the this study is organised as follows. Section 2 provides a theoretical background
with key concepts that will be used for trading, section 3 describes the methodology and the various
parameters that will be used. Section 4 provides the results for the various parameters under
the two models that are implemented. Section 5 hopes to find any insight between estimated
parameters, from the linear relationship between pairs of course, and performance. Section 6 is
where we implements conditional volatility to trading signals. Finally, section 7 concludes our
study.
2 Theory
The theoretical key concept of this thesis is cointegration, the works of Shumway & Stoffer (2017)
and Zivot & Wang (2007) are used for theoretical discussion on time series and key ideas from
Vidyamurthy (2004) will be used for pairs trading and on spread dynamics. We start this section
with an introduction to times series and gradually build up to the theoretical models that will be
implemented for our trading strategies.
2.1 Preliminaries
2.1.1 Time Series
Time series can be defined a set of random variables that are indexed in the order of time from where
they are first obtained, as xt , t = 0, 1, 2, .... In general, a collection of random variables indexed by
some t, t ∈ Z, is usually know as a stochastic process. The realizations of the stochastic process
are usually the observed or measured values. i.e. the observations of a stock price. The simplest
example of a time series is a white noise, it is an indexed collection where the realizations are
obtained from an independent and identical distribution, xt = t ∼ WN (0, σw 2
).
Figure 1: Example of white noise and a random walk (and with drift)
4
2.1.2 ARMA models
However, in most cases it would not be enough to describe a stochastic process as a simple white
noise process, and so other models are needed. For instance, autoregression and moving aver-
ages. Also known as AR(p) and MA(q) models, where p and q are the number of lags or previous
observational values used:
AR(p):
p
X
xt = θ1 xt−1 + θ2 xt−2 + ... + θp xt−p + t = θi xt−i + t (1)
i=1
AR(1) - Random walk: It would be safe to say that stock prices act like a random walk, see
figure 1. That is, the cumulative sum of a white noise process:
xt = µ + θ1 xt−1 + t (3)
A necessary condition is that θ = 1 and setting x0 = µ, let µ be some constant, such that a
random walk (see figure 1) with drift is:
t−1
X t−1
X
xt = µ+ t−i + 0 , t ∼ WN (0, σ ) (4)
i=1 i=1
The other popular time series model is the MA(q), where a time series can be expressed as q
number of previous white observations:
MA(q)
Combining these models, an ARMA representation of a time series model can be expressed as:
cov(xt , xt−s ) γs
ρs = p = (8)
var(xt )var(xt−s ) γ0
Where γ0 = var(xt ). It can be observed that through substitution an AR(1) process can be expressed
5
as an MA(∞) process. Moreover, suppose we can go back infinitely back in time, then we can express
an AR(p) as MA(∞), and, MA(q) can be expressed as an AR(∞), (Zivot & Wang, 2007).
Moreover, Zivot & Wang (2007) state that an ARMA(p, q) can take the form:
We introduce the lag operator as L, where Lxt = xt−1 and L2 xt = L.xt−1 = xt−2 . Then, we
define φ(L) = 1 − φ1 L − ... − φp Lp and θ(L) = 1 + θ1 L + ... + θq Lq . Then (9) may be expressed as:
φ(L)(xt − µ) = t (12)
where φ(L) = 1 − φ1 L − ... − φp Lp . Then, we define - as in Zivot & Wang (2007) (3.9) - the
characteristic polynomial:
In particular:
Thus any points in s and t the distribution is the same. That is, its moments do not change over
time. However, these are very strong assumption and do not apply in most real life cases. Thus we
consider the weaker definition of (1.7) in Shumway & Stoffer (2017), weakly stationary:
• The time series of xt is a finite variance process.
• The mean remains constant over time - E(xt ) = µt = µ.
• The autocovariance function in (7) depends only on the difference of s and t, |s - t|.
• Henceforth, weakly stationary will be referred as stationary.
6
Coming back to the characteristic equation (13) of the AR(p) process. It is said that (13) is
stationary when all the roots of φ(z) lie outside the unit circle. In practice for stationarity it is
necessary that |φ1 + ... + φp | < 1.
We repeat the same concepts for an AR(1) process. Suppose we have the following mean-adjusted
form:
xt − µ = φ(xt−1 − µ) + t (16)
φ(z) = 1 − φz (17)
it has a root for z = φ1 . Stationarity is satisfied if the absolute value of the root of the charac-
teristic equation is greater than one. | φ1 | > 1 or |φ| < 1.
Thus so far a stationary time series, I(0), fluctuates around its mean with a finite variance that
does not depend upon time. These fluctuations around the mean is also known as mean-reverting;
tendency to return to its mean. Where its auto correlations die out fairly rapidly. A nonstationary,
I(1), series wanders widely with no finite mean or variance. Where I(d), represents the order
of integration such that you would have to difference the time series d times in order to make it
stationary, see figure 2 - in most real applications we deal with either d = 0 or d = 1, rarely d = 2.
We have seen that stationarity is satisfied provided that the root of a time series lies outside the
unit circle. Thus, we have the following hypothesis to determine if there is an unit root or not i.e.
to determine whether a time series is stationary or not.
There are several tests developed to determine an unit root such as the (Augmented) Dickey
Fuller test, Phillips-Perron test, KPSS test or the Johansen test.
2.2 Cointegration
Cointegration was first introduced by Engle and Granger in 1987, for which they later received a
Nobel Prize in economics in 2003. It describes a statistical relationship between non-stationary time
series that are of order I(d), where a linear combination of these times series would create a single
stationary time series.
Let, Yt = (y1,t , ..., yn,t )0 denote a (n x 1) vector of I(1) time series. Then Yt is said to be coin-
tegrated if there exists an (n x 1) vector β = (β1 , ..., βn ) such that:
It can be argued that for a cointegrated time series, it has a long-run equilibrium and that the
relations between the time series can not drift too far apart, as the underlying economic forces will
7
Figure 2: left: IVV ETF following a random walk, right: The same ETF differenced.
unwind deviations back to the long-run equilibrium. Where, µ is the long-run equilibrium and t
represents the cointegration error, which denotes any short term deviations at time t, it is important
to note that t is a white noise process, we see that because, suppose we solve for t , then:
t = β 0 Yt − µ (19)
Then for the right hand side to be stationary, i.e. the cointegrated time series minus a constant
value, t needs to be I(0). Taking the expected value E(t ) = E(β 0 Yt ) − µ = 0.
so that
or
8
There error term t is oftern referred to as the disequilibrium error or the cointegrating residual. In
the long-run equilibrium, the disequilibrium error t is zero and the long-run equilibrium relationship
is:
Suppose we have two stocks that are of order I(1), that have the following relation:
Let the cointegrating vector be β 0 = (1, −β), then we create a single stationary time series, also
known as the spread:
The long-run equilibrium is α̂ and short term deviations are ût and E(spreadt ) = E(stock1,t −
β̂stock2,t ) = α̂.
In order to determine whether the spread is stationary, we use the Engle - Granger 2 step
approach as proposed in their work in 1987, (Engle & Granger, 1987). The first step is to de-
termine their order of integration; specifically to test for unit-root. The second step consists of
estimating the long-run equilibrium between the two time series by the use of OLS regression as
defined in (23). Once the parameters are estimated, we test whether the residuals, ût is stationary
or not through the use of the use of the ADF test. If, ût is stationary, then the two time series is
said to be stationary. However, we do not carry out the first step as it is safe to assume that the
time series that make up the spread are I(1).
If two times series where cointegrated its estimated parameter, β̂ will converge to its true value,
β, and so regression with I(1) data would only make sense when the data are cointegrated. Because
under cointegration a long-run relationship can be determined with the entire data set, without
having to difference the data, and so not losing valuable information. Although correlation does
9
indicate some co-movement, it lacks stability.
yt = µ + t (28)
t = zt σt (29)
p
X q
X
σt2 = a0 + ai 2t−i + 2
bj σt−j (30)
i=1 j=1
Where µ is the mean of yt and zt is normal identical and independently distributed, and t is
i.i.d with mean zero. The conditional variance is of the series is denoted by σt2 . For simplicity
we assume that t is normally distributed with mean zero and variance of 1. Zivot & Wang (2007)
argues that using a GARCH(1,1) with 3 parameters is adequate enough, Miah et al. (2016) modelled
volatility in daily stock returns and found that using GARCH(1,1) is the best specification than other
GARCH(p,q) models, where a0 > 0 and ai , bj ≥ 0, ∀i, j. So, we rewrite (30) as:
For the model in (41) to be stationary it is required that a1 + b1 < 1. For estimation of the
parameters, further discussion can be found in Zivot & Wang (2007, Chapter 7.4).
10
Figure 3: Diagram of a state space model - Diagram taken from Shumway & Stoffer (2017)
State space models have many modern applications ranging from its first application on the
Apollo 11 mission to GPS tracking to applications in finance. The application of the Kalman filter
in this research is applied to the spread as defined in (26). Note that if t are the estimated values
of state process and n equals the number of observations then filtering is when t < n and filtering
when t = n.
We will use the notation used in (Shumway & Stoffer, 2017, Chapter 6) to describe state space
models and the Kalman filter.
We introduce the state equation as a linear Gaussian state space model in its basic form, which
matches our assumption that our spread follows an AR(1) process, and so we only consider a uni-
variate case.
xt = φxt−1 + ωt (32)
Where ωt is normal independent and identically distributed with zero mean and variance Q such
that, ωt ∼ iid N (0, Q). We assume that the process starts with x0 ∼ N (µ0 , σ0 ). We do not observe
the state process directly but only a linear transformed version of it with an added noise:
Where At and R are scalars, as in an univariate case. (33) Is also known as the observation
equation.
For the Kalman filter, with some slight different notation, we define the conditional estimation
of the state process and covariance, given information up to t − 1, as:
Then the Kalman filter, for t = 1, ..., n is recursively updated, we assume the following initial
conditions; x0 = µ0 and P0 = σ0 . Then:
11
with
where
When the spread of a pair of securities is stationary, the pairs are cointegrated, that is to say a
long-run relationship is identified. We implement the Kalman filter on the spread to estimate the
’true’ state of the spread and compare its performance.
3 Methodology
The data used for this research is a premium dataset from Quandl, and consists of end of the day
prices both un- and adjusted prices from all listed securities the on NASDAQ, AMEX, NYSE and
ARCA with stock history dating from 1996 to 2020. We used the Quantopian Zipline backtesting
software to trade pairs. The initial capital used for each traded pair is set at 100.000, although no
commission or sliggape is set during the research, the default commission is set at $ 0.001 per share
in the backtest package. Due to the nature of the data, the backtest algorithm only trades once per
day, and closes all positions at the end of the trading period.
Although correlation does suggest co-movement, it does not imply cointegration. From the pos-
sible candidates we implemented the 2 step Engle and Granger approach to determine which ones
are cointegrated, where we estimate a linear relationship and perform the ADF test on the residuals.
From 239 pairs we can then either determine if the spread is stationary or not i.e. whether the spread
cointegrated or not. If the reader permits, we shall refer to pairs that have cointegrated spread as
either stationary pairs or coinntegrated pairs. We perform backtests on both these stationary and
non-stationary pairs and see how their cointegration relationship changes over time. We believe it
is worthwhile to see how well these two subsets perform against each other. The philosophy be-
hind it is that breaks in cointegration relationships does occur. In table 42, we experience such
structural breaks within the trading periods. Similarly, we experience pairs that are non-stationary
become stationary at some point in time. Furthermore, these breaks are measured annually, but
this is not to say that several breaks can occur during the trading period and thus potentially in-
fluencing the performance of such pairs annually and during trading periods. In order to prevent
12
spread from wandering off, due to a structural break, we set a stop position at 3 standard deviations.
Having identified the pairs to trade, we implement three different trading strategies. First, we
trade the aforementioned pairs, hereafter to be named the Basic model. Second, Vidyamurthy
(2004), also proposes different spread dynamics to model the spread, and so, we will implement the
Kalman filter on the spread. Third and final, is that we implement a similar trading strategy as
done by Miah et al. (2016), section 6, by creating trading bands that are based on the conditional
volatility that we estimated through a GARCH(1, 1) model. In addition, we repeat these models
under various parameters. Unlike other existing literature, Huck (2013), points out that among the
main academic literature there are three main parameters that are always considered; the formation
period, trading period and spread deviations. This is where this thesis differs, the parameters that
will be used to compare the performance for all models are: Time horizon, Adjusting bands i.e.
deviations and moving windows.
• let t, be a trading day, then we define the zscoret (normalization of the spread) as : zscoret =
spreadt −µf 1
σf .
The zscore creates signals to trade i.e. deviations from the zscore. We denote the such deviations
by ∆. In addition, we placed a stopping position at 3 standard deviations from the mean to act as
a stopping mechanism in order to protect the portfolio in case the spread wanders off and does not
come back to its mean. Furthermore, we have an exit position at 0.05 deviations from the mean -
or in other words, we observe mean-reversion. Otherwise the algorithm either longs or shorts the
spread.
• Short the spread if: zscoret > ∆. This indicates that the first stock is overvalued in terms of
the second stock, so we short one unit stock1,t and long β̂stock2,t units.
• Short the spread: zscoret < −∆. Indicating that the first stock is undervalued in terms of the
second stock, so we short stock1,t and long β̂ units of stock2,t . Shorting −β̂ units.
1 a zscore of 1, implies 1 standard deviation from the mean, -1 is a negative deviation from the mean: zscore ∼
N (0, 1)
13
• Considering the weights, although we have 1 unit of stock1,t and β̂ units of stock2,t . We have
to adjust it to the weights at which we hold these stocks in our portfolio, we denote the weights
of stock1,t and stock2,t as w1 and w2 :
On the 50th trading day, the algorithm would have longed the spread, and for every other
subsequent day it would re-adjust weights of holding those stocks or ETF’s until day 159, where it
closes all positions and would create a new entry positions on day 164.
14
Figure 5: Example of the trading rule under Kalman filter
3.3 Parameters
For each model we perform a sensitivity analysis on various parameters. We investigate over three
main parameters. First, how pairs perform over an increasingly longer time interval, we trade for
the years {2015, 2016, 2017, 2018}. Second, changing the bands, i.e. the deviations from the
zscore: ∆ ∈ {0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2}. Third and final, using moving windows, we use
windows of historical data - mw ∈ {15, 30, 45, 60, 90, 120, 252} days. This would allow the zscore to
be dynamically update it self over time, and possibly capture more relevant behaviour rather than
a f ixed zscore. Then we define the updated as, zscore0 :
• We use these moving window to dynamically update the zscore and so the signals. Then we
define the mean and standard deviation as:
Pt−1
spreadk
• µ0f = k=N −mw+(t−1)
mw
q Pt−1
( spreadk −µ0f )
• and similarly for the standard deviation, σf0 = k=N −mw+(t−1)
mw , ∀t ≥ 1. Where
N is the number of trading days, and t ∈ N .
spreadt −µ0f
• Then for our updated zscore0 = σf0
4 Backtest Results
In this section we start by providing some tools to evaluate the performance of the 239 pairs to
be investigated, the backtests on the parameters and models repeated for every single pair with a
15
supposed capital of $100.000. The results are presented as follows; we provide the overall results
from all pairs traded; then split the results into stationary and non-stationary pairs; finally from
the two subset, we further divide it into ’winning’ pairs. Furthermore, from the 239 pairs obtained
during the formation period 176 pairs are stationary and 63 non-stationary.
Rp = α + βm rm (41)
The market beta shows how the portfolio moves with the market. It is a measure of risk, if
beta is greater than 1, the portfolio is riskier than the market and vice versa. The alpha can be
quantified as how the portfolio performed against the market index. Another interpretation of alpha
is that it is a measure of the active return on an investment. An alpha of 1 % means that the
return on investment was 1% better than the market, and vice versa. If the alpha was zero, then
the investment has earned too little for its risk. As we shall see, although a pair might perform very
well, if it has a negative alpha it means that too much risk was taken. Pairs trading is also know
as a market neutral strategy, this is because long and short positions are taken, cancelling out the
effects of market movements and so we expect a beta of 0, or at least very close to 0. However,
this is not always the case, in some cases we do experience a very low market beta. Nevertheless,
in general, a higher alpha is preferred and is used to analyse the performance. The value of what is
considered to be a ’good’ alpha is dependent of the risk preference of an investor.
Was introduced by William F. Sharpe. It is a measure of risk adjusted return, in the sense that
you subtract the risk free rate from the portfolio return 3 . Generally, the higher the Sharpe ratio,
the more attractive the risk-adjusted return.
2 Other measures such as the Sortino ratio and daily returns are also worth investigating. However, due to the
scope of the research and time limitations we will not look into them. If the reader is interested the full databases of
all the results, it can be requested.
3 Quantopian uses the standard US treasury Bills, the year is dependent on how many year the backtest is run. So
if the backtest is run for a year, then it uses the 1 - year US treasury bill.
16
Max Drawdown:
This indicator measures largest observed loss from a peak to a trough of a portfolio, before a new
peak is attained. It is a measure of downside risk over a specified time period. There are 2 main
preferences on the what is considered an acceptable max drawdown (mdd); a mdd should be between
5% and 30%, or should be at most half of your returns, for example if your return is 20% then having
a mdd of at most 10 % is considered acceptable. However, the disadvantage is that it only shows
the highest loss given a time period, it does not reflect the frequency of losses, nor does provide any
information if the portfolio provides any returns or losses.
17
Table 4: Average Non-stationary pairs
year average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
2015 95067.33 -0.05 0.43 1.78 0.82 -1.92 -0.25
2016 182760.59 0.83 7.47 1.74 0.90 -2.00 -0.50
2017 215795.99 1.16 9.78 -9.64 0.60 -2.01 -0.66
2018 -624481.28 -7.24 50.91 -7.27 0.19 -1.91 -1.26
There are 63 non-stationary pairs and 176 stationary pairs, combing to 239 pairs. However, during
the backtesting, only 201 of those traded, comprising of 139 stationary and 62 non-stationary pairs.
Following this, we observe that on average holding a pairs trading portfolio for 3 years would provide
the highest returns with significant earnings that out outperforms the market. However, this comes
with the risk of a high drawdowns along with other exorbitant metrics. These results are obtained
due to several extreme backtest results.4 . It seems that on average pairs trading does not seem
profitable with significant under performance in all the other metrics.
Dividing the pairs into stationary and non-stationary camps, we can observe some improvement.
That is for stationary pairs, we see positive returns, that also beat the market, the longer the pairs
are traded - 2017 and 2018 respectively. However, this comes at much risk as can be seen in table 3.
In addition, we observe a similar pattern for the non-stationary pairs for the trading years of 2016
and 2017. Albeit with much risk, table 4. Unexpectedly, non-stationary pairs outperformed station-
ary pairs for the first 3 trading years in terms of returns and better overall performance metrics,
except for the Sharpe ratio.
DBS vs SLV made a return of approximately $3.985 million, with a market alpha and beta of -126.89 and 34.86 and
a mdd of 100%
18
Table 6: Non-stationary counts for yearly backtests
year winning pos % avg. perf avg. al- avg. avg. avg. max
pairs pha beta Sharpe draw
2015 13 0.209677 138695.78 0.37 0.31 0.97 -0.12
2016 17 0.274194 500804.13 3.51 1.52 0.55 -0.63
2017 15 0.241935 848247.92 -39.65 2.10 0.38 -1.23
2018 17 0.274194 878475.74 2.33 1.91 0.32 -1.04
Insofar, non-stationary pairs seem to outperform stationary pairs. It is when we look at the
extremes where we observe any real difference i.e. the winning pairs. The results in table 5 and 6
tells us that when the pairs do win, they significantly outperform the market with enormous returns
- in both cases we experience many outliners. The returns does come with its risks. It seems that the
ratio of winning pairs seem approximately the same, ranging from 20 % to 30 %. With more winning
pairs as the trading interval increases. In the stationary camp, we see that they experience a much
lower market alpha and a higher market beta, suggesting that these pairs are inherently more riskier
and move more with the market index 5 . Moreover, stationary pairs do have a much smaller mdd
and Sharpe ratio compared to the non-stationary pairs, suggesting that the risk-adjusted returns
are lower, but do not face as much large drops in the portfolio. It could worthwhile to look at the
results again if large outliners are removed.
19
Table 8: Average Stationary pairs for bands
band average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
0.25 89221.05 -0.11 5.96 1.24 0.07 -1.24 -0.34
0.50 64865.44 -0.35 5.62 0.60 -0.06 -1.14 -0.43
0.75 41129.46 -0.59 4.10 2.71 -0.47 -1.07 -0.38
1.00 42244.27 -0.58 4.09 0.38 0.09 -1.12 -0.31
1.25 41447.60 -0.59 4.09 0.29 -0.00 -1.13 -0.30
1.50 40490.61 -0.60 4.09 -12.54 3.50 -1.03 -0.30
1.75 26306.67 -0.74 4.25 1.11 -0.66 -1.02 -0.43
2.00 34590.64 -0.65 4.13 1.98 0.49 -1.00 -0.33
The backtest results are based on trading year of 2015. Similar to the yearly performance we have
203 pairs that traded, composed of 141 stationary pairs and 62 non-stationary pairs. Subsequently,
from table 7, the overall returns are negative, as we increase the bands, or in other words delaying
the trading signal, the performance get worse in terms of return on investment. However, the other
indicators suggests that they are more stable. With much lower mdd’s, market beta’s and higher
market alpha’s, setting the trading signal at 0.75 deviations from the zscore, produces an average
alpha of 4, but causing a loss of an average of 44%. Indicative that solely looking at an alpha does
not necessarily translate into a good investment. Similar to the yearly results, the non-stationary
pairs seem to out perform the stationary pairs in almost all metrics and obtaining relative small
losses, in most cases only a few percent in comparison to much larger losses up to 74% for stationary
pairs.
20
Table 10: Average positive counts for Stationary pairs for changing the Bands
band winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
0.25 36 0.255319 313046.56 3.75 0.16 0.85 -0.30
0.50 32 0.226950 275651.38 1.39 -0.69 0.75 -0.28
0.75 34 0.241135 128047.49 -4.08 -5.35 0.69 -0.23
1.00 28 0.198582 129161.27 0.35 -0.04 0.78 -0.15
1.25 27 0.191489 122783.35 0.24 -0.10 0.75 -0.11
1.50 27 0.191489 124228.38 -69.82 18.88 0.69 -0.17
1.75 25 0.177305 120851.87 -0.35 -0.85 0.69 -0.18
2.00 24 0.170213 125158.02 0.35 0.17 0.81 -0.15
Table 11: Average positive counts for Non-stationary pairs for changing the Bands
band winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
0.25 11 0.177419 180244.39 0.61 0.17 1.11 -0.19
0.50 11 0.177419 139471.03 0.39 0.22 0.98 -0.13
0.75 14 0.225806 136650.41 0.35 0.30 0.95 -0.12
1.00 13 0.209677 138695.78 0.37 0.31 0.97 -0.12
1.25 12 0.193548 142344.52 4.09 1.98 1.11 -0.48
1.50 17 0.274194 128714.96 2.88 1.39 0.82 -0.35
1.75 17 0.274194 132449.36 -1.10 -1.38 0.61 -0.24
2.00 17 0.274194 132078.83 -1.11 -1.37 0.53 -0.24
Looking at the ’winning’ pairs, and in tandem with the previous tables. We see a dichotomy
in the results. The return on investment is higher for cointegrated pairs if the trading signals are
shortened, with 0.25 and 0.5 deviations from the zscore. While, for the non-cointegrated pairs, the
return on investment along with the other metrics improve as we increase the signal to trade i.e.
larger band values. Compared, to the yearly results, the overall performance metrics have improved
in terms of a more ’realistic’ view, with significant lower max drawdowns, improved market alpha
and beta’s and higher Sharpe ratio’s, especially for the stationary winning pairs.
21
4.2.3 Backtest results on changing Moving Windows
22
Table 14: Average performance of Non-Stationary Pairs for moving windows
window average portfo- average average average average average average
lio value per- stan- alpha beta Sharpe max
centage dard ratio draw-
change devia- down
tion
15 80860.57 -0.19 1.05 -0.38 0.59 -0.36 -0.29
30 80060.22 -0.20 1.00 -23.62 -12.52 -0.36 -0.24
45 80233.75 -0.20 1.04 -1.40 -0.59 -0.30 -0.24
60 80397.88 -0.20 1.03 -0.47 0.05 -0.18 -0.23
90 81012.91 -0.19 1.06 1.82 0.97 -0.12 -0.24
120 82675.57 -0.17 1.00 -0.54 -0.07 -0.06 -0.22
252 91486.96 -0.09 0.43 -0.41 -0.09 0.14 -0.19
We have the same amount of pairs that were able to trade. With 141 stationary pairs and 62
non-stationary pairs. The average performance under a moving window framework brings a more
promising result, a much improvement on the performance metrics and returns. With profits achieved
on either small moving windows or a very large one, 15, 30 and 252 days respectively, for stationary
pairs. Regarding the non-stationary pairs, although for all bands they experience a loss, the losses
decrease as the size of the moving windows increase. Moreover, under this framework, in general,
we see the results that we would expect. That cointegrated pairs perform better than the ones that
are not, where they have been out performed on every metric, tables 13 and 14.
Table 15: Average positive counts of Stationary Pairs for moving windows
window winning pairs pos % avg. avg. al- avg. avg. avg.
perf pha beta Sharpe max
draw
15 60 0.422535 245281.16 3.23 -0.67 0.95 -0.35
30 61 0.429577 186727.48 0.37 -0.75 0.64 -0.24
45 66 0.464789 113975.11 0.16 0.02 0.73 -0.10
60 66 0.464789 113394.88 0.15 0.06 0.73 -0.08
90 59 0.415493 108049.62 0.10 0.09 0.65 -0.08
120 67 0.471831 110870.18 0.12 0.02 0.58 -0.08
252 67 0.471831 123067.30 0.23 -0.05 0.73 -0.05
23
Table 16: Average positive counts of Non-Stationary Pairs for moving windows
window winning pairs pos % avg. avg. al- avg. avg. avg.
perf pha beta Sharpe max
draw
15 25 0.409836 119039.82 0.17 0.17 0.95 -0.07
30 27 0.442623 107861.64 0.08 0.10 0.64 -0.06
45 30 0.491803 109230.82 0.10 0.09 0.66 -0.07
60 33 0.540984 106610.58 0.07 0.02 0.63 -0.07
90 34 0.557377 107246.41 0.09 -0.08 0.64 -0.08
120 35 0.573770 107612.82 0.09 -0.07 0.71 -0.07
252 32 0.524590 109001.46 0.09 -0.12 0.99 -0.06
These results become clearer when we look at the ’winning’ pairs. Firstly, the ratio of profit
making pairs have nearly doubled, compared to other parameters. Second, we observe the same
high returns for the moving windows of 15, 30 and 252 days with either acceptable or even lower
max drawdowns. Finally, we observe that for the other metrics that stationary pairs outperform the
non-stationary pairs, and the market in some cases6 . It can be argued that first; the stationary pairs
that win, have a stronger mean-reverting relationship; second, by regularly updating the zscore
would capture more relevant behaviour of the inner workings of the underlying stocks that would
allow for better performance. Moreover, it is worth investigating how these pairs perform if we
increase the time intervals, as we start observing outliners in 2016 and in the subsequent years.
24
Table 18: Average yearly backtest results for Stationary Pairs under Kalman Filter
year average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
2015 97143.41 -0.03 0.20 -0.53 0.15 -0.55 -0.11
2016 73217.67 -0.27 3.60 -0.43 0.18 -0.40 -0.26
2017 42715.54 -0.57 6.58 -2.17 -0.21 -0.31 -0.42
2018 -42299.81 -1.42 11.00 -0.94 0.66 -0.21 -1.10
Table 19: Average yearly backtest results for Non-Stationary Pairs under Kalman Filter
year average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
2015 102990.69 0.03 0.32 0.02 -0.07 -0.31 -0.08
2016 108135.14 0.08 0.86 0.03 -0.10 -0.24 -0.16
2017 107000.70 0.07 0.97 0.03 -0.01 -0.08 -0.22
2018 76819.74 -0.23 2.69 -0.24 0.01 -0.13 -0.28
The Kalman Filter acts as a smoother, with the idea to filter out ’possible’ noise that the stock
market creates and to estimate the ’true’ underlying state of the spread. The data shows that 202
from the 239 pairs are traded, with 141 stationary and 61 non-stationary pairs. On average none of
the pairs delivered positive returns with 2015 being close. Moreover, as the time interval increases,
the worse the returns get. However, the other metrics are relatively more stable with higher alphas,
lower betas, higher Sharpe ratios and lower mdd’s.
We further look at the data by dividing the pairs traded in two camps. On average, the sta-
tionary pairs perform in a similar fashion to the overall average. Looking at tables 18 and 19, we
observe that non-stationary pairs preform better than stationary pairs in terms of revenue and other
performance metrics.
Table 20: Average yearly backtest results of positive counts under a Kalman Filter for Stationary
Pairs
year winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
2015 44 0.312057 106567.15 0.04 -0.19 0.47 -0.10
2016 47 0.333333 165459.62 0.23 -0.02 0.58 -0.14
2017 55 0.390071 184427.88 -0.13 0.14 0.53 -0.19
2018 54 0.382979 216703.57 0.11 0.23 0.39 -0.32
25
Table 21: Average yearly backtest results of positive counts under a Kalman Filter for Non-Stationary
Pairs
year winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
2015 19 0.311475 121166.08 0.17 -0.25 0.52 -0.08
2016 20 0.327869 149778.47 0.22 -0.17 0.39 -0.13
2017 22 0.360656 157854.88 0.30 -0.06 0.47 -0.18
2018 24 0.393443 162883.97 0.14 -0.06 0.36 -0.16
Although the Kalman Filter and the Basic model have roughly the same amount of traded pairs.
The amount of ’winning’ pairs are lower for the Kalman filter. The results seem more stable due to
less outliners in the backtests with significant returns. Moreover, we observe, lower levels of beta
(suiting to the inherent market neutral strategy), with relative low levels of alpha. Furthermore, we
have significantly lower levels of max draw downs and somewhat higher Sharpe ratio’s. We observe
this pattern in both the Basic model and in comparison to the non-stationary pairs. In addition, we
observe a similar pattern, where on average non-stationary pairs outperform stationary pairs, as in
the Basic model.
Table 22: Average backtest results for changing Bands under Kalman Filter
band average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
0.25 102817.58 0.03 0.76 -0.22 0.28 -0.48 -0.17
0.50 107247.63 0.07 0.76 0.11 -0.01 -0.46 -0.13
0.75 101040.91 0.01 0.41 -0.02 0.15 -0.44 -0.14
1.00 98925.14 -0.01 0.24 -0.36 0.08 -0.48 -0.10
1.25 102141.65 0.02 0.31 -0.39 -0.08 -0.39 -0.09
1.50 101410.68 0.01 0.22 -0.02 -0.06 -0.32 -0.07
1.75 101060.81 0.01 0.17 0.00 -0.05 -0.31 -0.05
2.00 101477.49 0.01 0.16 0.03 -0.03 -0.31 -0.05
26
Table 23: Average backtest results for changing Bands under Kalman Filter for Stationary Pairs
band average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
0.25 103899.90 0.04 0.88 -0.32 0.38 -0.58 -0.17
0.50 108945.47 0.09 0.84 0.10 -0.06 -0.54 -0.13
0.75 100247.86 0.00 0.34 0.02 0.23 -0.50 -0.14
1.00 97183.37 -0.03 0.20 -0.53 0.15 -0.55 -0.11
1.25 101098.40 0.01 0.31 -0.58 -0.09 -0.48 -0.10
1.50 100098.24 0.00 0.20 -0.05 -0.06 -0.38 -0.08
1.75 100046.58 0.00 0.14 -0.01 -0.04 -0.42 -0.06
2.00 100719.84 0.01 0.13 0.02 -0.02 -0.41 -0.05
Table 24: Average backtest results for changing Bands under Kalman Filter for Non-Stationary Pairs
band average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
0.25 100321.26 0.00 0.37 0.01 0.04 -0.24 -0.15
0.50 103331.66 0.03 0.54 0.14 0.10 -0.28 -0.15
0.75 102870.03 0.03 0.53 -0.10 -0.05 -0.30 -0.15
1.00 102942.45 0.03 0.32 0.02 -0.06 -0.31 -0.08
1.25 104547.84 0.05 0.30 0.03 -0.05 -0.15 -0.05
1.50 104437.76 0.04 0.28 0.05 -0.06 -0.16 -0.05
1.75 103400.09 0.03 0.22 0.04 -0.07 -0.04 -0.05
2.00 103224.95 0.03 0.22 0.04 -0.06 -0.07 -0.04
Similar to the Basic model, 205 pairs have traded in the course of the backtest. From these pairs
there were 143 stationary pairs and 62 non-stationary pairs. Comparing to the Basic, we observe
that on average both stationary and non-stationary pairs have positive results, very relative low max
drawdowns and market beta’s. Furthermore, we observe that non-stationary pairs out perform the
stationary pairs by a small margin on all metrics.
27
Table 25: Average positive counts under Kalman Filter for Stationary Pairs for changing Bands
band winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
0.25 43 0.300699 144398.38 0.44 -0.09 0.64 -0.11
0.50 40 0.279720 153788.07 0.53 -0.19 0.72 -0.10
0.75 44 0.307692 123370.74 0.18 0.08 0.60 -0.12
1.00 44 0.307692 106567.15 0.04 -0.19 0.47 -0.10
1.25 54 0.377622 112402.06 -0.87 -0.49 0.46 -0.12
1.50 45 0.314685 108725.86 -0.06 -0.23 0.47 -0.12
1.75 37 0.258741 108324.43 0.02 -0.24 0.50 -0.09
2.00 31 0.216783 110310.45 0.16 -0.24 0.60 -0.10
Table 26: Average positive counts under Kalman Filter for Non-Stationary Pairs for changing Bands
band winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
0.25 24 0.387097 121267.03 0.23 -0.10 0.66 -0.11
0.50 21 0.338710 133488.57 0.28 -0.11 0.65 -0.10
0.75 20 0.322581 134313.00 0.29 -0.10 0.62 -0.12
1.00 19 0.306452 121166.08 0.17 -0.25 0.52 -0.08
1.25 17 0.274194 123406.20 0.19 -0.21 0.62 -0.08
1.50 15 0.241935 125732.34 0.27 -0.35 0.66 -0.11
1.75 15 0.241935 119145.67 0.22 -0.35 0.66 -0.11
2.00 11 0.177419 125133.71 0.29 -0.39 0.75 -0.14
Looking at the winning subset of all traded pairs, we observe a higher ratio of winning pairs.
Although the returns aren’t as significant, they are promising. The pattern of results in the Basic
model follow for the Kalman filter regarding the performance of the stationary and non-stationary
pairs. However, there is a small difference, that is, as the band size, i.e. trade signal, increases the
ratio of winning pairs decreases and the overall performance has waned relative to the Basic model.
28
4.3.3 Kalman Filter backtest results on changing Moving Windows
Table 27: Average backtest results under Kalman Filter for Moving Windows
window average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
15 75294.48 -0.25 2.22 0.30 0.13 -0.33 -0.24
30 110556.77 0.11 0.88 0.12 -0.07 -0.35 -0.13
45 98620.55 -0.01 0.29 0.09 -0.24 -0.38 -0.13
60 98249.59 -0.02 0.27 0.13 0.04 -0.35 -0.14
90 98181.16 -0.02 0.27 -0.32 0.13 -0.51 -0.13
120 104485.19 0.04 0.51 -0.01 -0.05 -0.46 -0.12
252 97143.84 -0.03 0.34 0.56 -0.05 -0.55 -0.18
Table 28: Average backtest results under Kalman Filter for Moving Windows for Stationary Pairs
window average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
15 62040.24 -0.38 2.61 0.40 0.18 -0.40 -0.29
30 114859.85 0.15 1.03 0.16 -0.12 -0.33 -0.14
45 96379.54 -0.04 0.22 0.11 -0.34 -0.39 -0.15
60 95917.48 -0.04 0.26 0.17 0.06 -0.36 -0.15
90 95284.39 -0.05 0.23 -0.48 0.19 -0.57 -0.14
120 103868.77 0.04 0.56 -0.04 -0.07 -0.48 -0.13
252 96597.49 -0.03 0.26 0.80 -0.04 -0.64 -0.20
Table 29: Average backtest results under Kalman Filter for Moving Windows for Non-Stationary
Pairs
window average port- average average average average average average
folio value per- standard alpha beta Sharpe max
centage deviation ratio draw-
change down
15 107920.31 0.08 0.53 0.05 0.02 -0.15 -0.10
30 99964.57 -0.00 0.19 0.00 0.03 -0.43 -0.09
45 104136.90 0.04 0.42 0.04 0.00 -0.35 -0.10
60 103990.17 0.04 0.29 0.05 0.00 -0.33 -0.10
90 105311.65 0.05 0.35 0.05 -0.02 -0.35 -0.11
120 106002.53 0.06 0.38 0.06 -0.01 -0.39 -0.11
252 98488.71 -0.02 0.49 -0.02 -0.06 -0.33 -0.14
29
During the backtest under a Kalman Filter we observed that from 239 tradable pairs, only 135
traded of which there 96 stationary pairs and 39 non-stationary. On average, the Kalman filter
on the spread only returns positive results on a 30 and 120 day moving window, and an overall
stable performance metrics. Comparing the stationary pairs and non-stationary pairs, we see that
non-stationary pairs outperform stationary pairs. Moreover, although less pairs are traded, under
the belief that this smoothing of the spread reduces trading signals, non-stationary pairs returned
more positive returns on average than in the previous model. With, 15, 45, 60, 90 and 120 moving
days respectively. Compared to the 30 and 120 day moving windows for stationary. Disconcertingly,
the non-stationary pairs, with higher returns, also seem more stable and favourable in terms of the
performance metrics. The final tables below, show a similar pattern under the Kalman Filter, we
look at the ’winning’ subsets of stationary and non-stationary pairs.
Table 30: Average positive counts under Kalman Filter for Stationary Pairs for Moving Windows
window winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
15 32 0.333333 113143.40 0.20 0.23 0.59 -0.11
30 41 0.427083 144530.32 -0.26 0.13 0.66 -0.16
45 37 0.385417 108276.49 0.10 -0.05 0.57 -0.09
60 39 0.406250 108188.25 0.23 0.23 0.51 -0.12
90 31 0.322917 107945.55 0.11 -0.10 0.49 -0.11
120 35 0.364583 127286.14 0.22 -0.11 0.64 -0.12
252 29 0.302083 113633.36 0.72 1.13 0.45 -0.19
Table 31: Average positive counts under Kalman Filter for Non-Stationary Pairs for Moving Windows
window winning pairs pos % avg. perf avg. al- avg. beta avg. avg. max
pha Sharpe draw
15 18 0.461538 124557.52 0.19 -0.04 0.50 -0.10
30 15 0.384615 111339.69 0.12 0.00 0.49 -0.09
45 11 0.282051 129363.39 0.28 -0.08 0.63 -0.15
60 12 0.307692 126300.70 0.30 -0.08 0.72 -0.15
90 14 0.358974 127307.15 0.27 -0.18 0.64 -0.13
120 12 0.307692 133321.45 0.34 -0.24 0.68 -0.16
252 9 0.230769 131151.60 0.23 -0.10 0.62 -0.12
30
4.4 Overview
Comparing the performance of the traded pairs under different parameters for both models, we
experience higher returns for the Basic model than with the Kalman. However, the Kalman filter
mirrors the performance for stationary and non-stationary pairs both on average and for the winning
ones, but compresses the results. It is believed that the filter reduces the noise that surrounds the
spread and therefore trading signals are reduced. Moreover, from the three parameters; adjusting
for the time horizon and the bands, we have, surprisingly, seen that non-stationary outperform sta-
tionary pairs. This is contrary to what we expected, that is cointegrated pairs have an identified
long-run relationship where profits can be obtained when the spread reverts back to its long-run
mean. Which can not be necessarily said for pairs that are not cointegrated, as they do not have a
supposed long-run equilibrium.
It is when we look at the winning pairs where we see the biggest difference and meet expectations;
that stationary pairs outperform non-stationary pairs. In addition, regarding stationary pairs, it is
shown that a longer trading horizon does provide with higher returns, albeit with sometimes relative
higher risk - 2 to 3 years seem more appropriate. Regarding the bands, for stationary pairs, the
data favours shorter signals ranging from 0.25, and in some cases, to 1 standard deviation from the
mean7 of the zscore.
Having said that, moving windows provide the most favourable results, on average, using shorter
moving windows. Contrary to the previous parameters, stationary pairs outperform non-stationary
pairs on average, as well as when looking at the winning pairs, with highest returns using either
very short or a long moving window, 15, 30 or 252 days respectively, for the Basic model. When
applied to the Kalman filter, bigger windows are necessary; 15, 30, 120 and 252 moving windows. It
can be argued that when using moving windows and in tandem with the supposed long term linear
relationship, allows the mean-reverting relationship to update and so create better trading signals.
The data suggest that the best scales to use for this updating mechanism should be done with either
short or large moving windows.
5 Further Analysis
In this section, we are interested in examining the underlying relations between the logarithm of
returns against β̂ and the mean squared error. We examine this in a similar fashion as in the
previous section. We look at the overall performance, the difference between stationary and non-
stationary, for both Models. We refer mean squared error as mse in rest of the section.
In theory, a good estimated model should have an mse close to 0 and is always non-negative. This
is where the observed values equal the estimated values.
7 Note that the zscore has a mean of 0.
31
Pt Pt Pt
n=1 (yi − ŷn )2 n=1 (yn − (α̂ − β̂xn ))2 û2n
mse(δ) = = = n=1
, ∀t > 1 (45)
n n n
Where δ represents the set of estimators for all trading days t and 1losing is an indicator function
for whenever the log return is below ln(100.000)=11.512925, for the linear regression below, and
returns that have a negative portfolio value at the end of the year are removed. The regression is
repeated for all the trading years. It is of the opinion that a cointegrated pair would have a smaller
mse, than a non-cointegrated pair, as a long-run equilibrium is identified and expect that this is also
holds true to log returns, that is, we expect an inverse relationship between mse and log returns.
. Therefore, it can argued that for stationary pairs we would expect an inverse relationship
between log returns and the mse, which can be expressed as θ1 . The other regressors, θ2 and θ3 ,
describe the relationship between log returns and losing pairs and their mse. We expect that losing
pairs, have a negative coefficient θ2 , and a positive θ3 . The philosophy behind a positive θ3 is that
the spread of losing pairs are believed to have a weaker fit, and so a ’weaker’ mean-reverting mech-
anism. Finally, η, can be interpreted as the ’inherent’ (mean) revenue of the traded pairs.
32
Table 33: For all Pairs
Regression values Under Basic Model
Year η θ1 θ2 θ3
2015 11.6205∗ -3.88e-10 -0.2454∗+ -0.0052+
2016 11.7457∗ -8.401e-10 -0.4220∗+ 0.0122+
2017 11.8406∗ -1.182e-09 -0.5674∗+ -0.0184+
2018 11.8699∗ -1.288e-09 -0.6627∗+ 0.0022+
Regression values under Kalman
Year η θ1 θ2 θ3
2015 11.5421∗ -1.054e-10 -0.1047∗+ -1.2260∗+
2016 11.6591∗ -5.276e-10 -0.2686∗+ -0.3954+
2017 11.7463∗ -8.42e-10 -0.4008∗+ -0.4496+
2018 11.8147∗ 1.089e-09 -0.4938∗+ -0.6966+
It seems that under the Basic model the inherent revenues are higher than under the Kalman
filter, that also increases over time. The hypothesis for θ1 does match with the data only slightly.
However, the negative coefficients are not significant enough for anything decisive. Furthermore,
they also fail the F-test to check if they are significant from zero. However, given the small nature
of these coefficients, one should not be surprised. On the other hand, θ2 and θ3 are significant
33
from 0, θ2 does meet expectations; that is losing pairs have a negative relation with log returns.
Although, the values alternate between positive and negative for θ3 , they are not significant enough,
for anything decisive - similarly under the Kalman filter.
A similar pattern follow when looking into stationary and non-stationary pairs. Surprisingly, the
inherent value of non-stationary pairs are higher than for stationary pairs. We do observe, negative
values for θ1 in both models for stationary pairs. However, they are neither significant in the regres-
sion nor significant enough from 0. For θ3 , the same applies, but are significant from 0. From tables
33 and 34, it seems that only θ2 meet expectations with statistical significance.
34
5.2 Log returns vs estimated Beta
We ignore the constant in the regression of (57), the idea is to capture a more direct relationship
between estimated parameter, β. Although, the nature of mse could allow for deductive expecta-
tions, it is not necessarily true for β̂, and thus through (57) we would like to capture the differences
between stationary and non-stationary pairs, and between the winning and losing pairs.
The constituents that make up the pairs, are reflected through the spread, which is a linear
combination of two securities; that are related to another up to a scalar, β̂. Under the Basic model
we see that the φ1 is roughly stable and significant over time, while under the Kalman filter they
increase over time. When looking at the losing pairs,φ2 ,they tend to be positive and significant
under the Basic model, but negative and not significant under Kalman.
35
Table 36: Regression Values for Stationary and Non-Stationary Pairs
Stationary Pairs Under Basic Model
Year φ1 φ2
2015 2.3278∗+ 0.3649+
2016 2.4960 ∗+
0.0874+
2017 2.5430 ∗+
-0.0055+
2018 2.4494 ∗+
0.2103+
Non-Stationary Pairs Under Basic Model
Year φ1 φ2
2015 5.2290∗+ 2.8904+
2016 5.6495 ∗+
2.2813+
2017 5.2711 ∗+
3.0239∗+
2018 5.9350 ∗+
1.9583+
Stationary Pairs Under Kalman
Year φ1 φ2
2015 0.6042∗+ 1.6082∗+
2016 2.3150 ∗+
-1.7594∗+
2017 2.8163 ∗+
-2.2527∗+
2018 2.8422 ∗+
-2.2863∗+
Non-Stationary Pairs Under Kalman
Year φ1 φ2
2015 6.4729∗+ 1.6230+
2016 6.2527 ∗+
1.6781+
2017 9.7499 ∗+
-3.4580∗+
2018 10.4491 ∗+
-4.3720∗+
Under the Basic model, stationary pairs have lower coefficients than non-stationary pairs. With
almost all coefficients statistically significant except for the losing pairs, φ2 , and all coefficients are
significant from 0. Regarding, φ1 , it is indicative of where securities that make up stationary pairs
are a lower scalar to one another compared to non-stationary pairs. We observe a similar pattern
for the losing pairs but with statistically insignificant coefficients.
Under the Kalman filter, we see a similar phenomenon, where stationary pairs have lower scalars
than non-stationary - non-stationary pairs seem to be changing over time - and are statistically
significant over.
36
spreadt = α + βspreadt−1 + t , where t ∼ N (0, 1) ∀ t, trading days (48)
In the figure below the black dashed line is the day the strategy begins its trading, as it marks
the end of the formation period of the pairs. Trades are carried out, going long or short on the
spread, when the zscore is in either the red or green bands. We placed a stop positions whenever
the zscore crosses the second upper band.
37
Table 38: Average yearly results for Stationary Pairs Under GARCH
Year Avg. Portfolio Avg. Percent- Avg. Stan- Avg. Avg. Avg. Avg. Max
value age change dard deviation Alpha Beta Sharpe drawdown
ratio
2015 97592.90 -0.02 0.32 -0.00 0.13 -0.71 -0.16
2016 93231.70 -0.07 3.64 -0.31 -0.22 -0.57 -0.55
2017 221630.05 1.22 12.16 -5.10 -0.83 -0.46 -0.68
2018 801017.13 7.01 83.73 -3.20 -0.27 -0.35 -0.97
Table 39: Average yearly results for Non-Stationary Pairs Under GARCH
Year Avg. Portfolio Avg. Percent- Avg. Stan- Avg. Avg. Avg. Avg. Max
value age change dard deviation Alpha Beta Sharpe drawdown
ratio
2015 95289.65 -0.05 0.38 -0.06 0.07 -0.62 -0.17
2016 99590.57 -0.00 0.83 0.20 -0.00 -0.51 -0.27
2017 91376.63 -0.09 1.16 0.20 0.03 -0.32 -0.32
2018 -170518.52 -2.71 20.54 0.07 0.02 -0.26 -0.47
Under the GARCH model the performance of the pairs favours it over the previous models. On av-
erage, we experience lower levels of losses and significant returns. Where relative low losses occurred
for the first 2 trading year and high returns in the subsequent years, with a much lower risk factor.
In addition to the returns and risk, market beta is lower (pertaining to market neutral strategy) and
the Sharpe Ratio, although negative, higher compared to the Basic model, indicating that risk ad-
justed return is higher under the GARCH model. Moreover, for the winning years, the market alpha
have improved significantly, although still negative, suggesting that inherent risk improved as well 10 .
In section 4, we saw that there was a tendency for non-stationary pairs to outperform stationary
pairs, both during the time horizon and bands. The opposite is true for the GARCH model, where
stationary pairs outperform non-stationary pairs. With stationary achieving profitability levels in
the third and fourth trading years. While non-stationary pairs perform worse over time.
Table 40: Average yearly results for winning Stationary Pairs Under GARCH
Year winning pos % Avg. Perf Avg. Avg. Avg. Avg. Max-
pair Alpha Beta Sharpe draw
2015 42 0.259259 121104.98 0.25 -0.02 0.68 -0.12
2016 48 0.296296 223962.45 -0.01 0.38 0.45 -0.44
2017 52 0.320988 651809.30 -3.51 0.72 0.37 -0.35
2018 51 0.314815 2659549.88 -1.11 0.94 0.37 -0.63
10 Note that, for example, in the Basic model under yearly performances, we observed an α well below zero, reaching
value up to -2377.
38
Table 41: Average yearly results for winning Non-Stationary Pairs Under GARCH
Year winning pos % Avg. Perf Avg. Avg. Avg. Avg. Max-
pair Alpha Beta Sharpe draw
2015 20 0.317460 119267.11 0.17 0.01 0.58 -0.07
2016 17 0.269841 157065.91 1.03 -0.04 0.38 -0.21
2017 17 0.269841 169663.79 -0.26 -0.09 0.46 -0.18
2018 19 0.301587 137336.99 0.12 0.05 0.33 -0.19
Under the GARCH model, the ratio of winning pairs increases, which also increases as the time
horizon increases, as well as the returns, for both types of pairs. Moreover, the profitability increases
over time with significant returns for stationary pairs, while non-stationary pairs do not experience
such high returns 11
11 We did not repeat this trading strategy for the other parameters due to time limitations and size of this project.
39
7 Conclusion
7.1 Literature Review
One of the most, if not the most, cited literature on pairs trading are Gatev et al. (1999) and Gatev
et al. (2006). Their works is also the largest, Gatev et al. (1999), performed pairs trading on all
US equities between 1962 up to 1997, and then extended their work from 1962 to 2002 in Gatev
et al. (2006). Their pairs selection method involved using the sum squared difference (SSD), the
idea behind using such method is that the stocks that comprise the pair that is traded are suitable
substitutes, and so if the market is efficient, any mispricing between such pairs should be corrected.
Their works have shown that over time pairs trading have become less profitable, that is, pre-1988
profits levels are (abnormal) higher than post-1988. However, top performing pairs have shown to
show excessive return of 12% (and 11% in Gatev et al. (2006)) on average throughout the studies.
Gatev et al. (2006) argue that possible larger institutions have a relative advantage as they have
better access to leverage and cheaply execute trades. The works of Do & Faff (2010) is another major
cited paper. They employ the same research of Gatev et al. (2006) but extend the trading period
to 2009. Their results are aligned well with the findings of Gatev et al. (2006), that is, up until the
90’s pairs trading performed well and declined in the 90’s with frequent negative returns leading
into the 00’s. However, pairs trading performance picked up in bear markets between 2003-2007 and
again in 2007-(mid) 2009. In the aforementioned literature, it is argued that an increase in hedge
fund activities is one potential reason for the decline in performance as more arbitrageurs exploiting
inefficiency’s of the market. However, the increase in market participants only tell part of the story
and more research needs to be done in terms arbitrate risks and market inefficiencies. Moreover,
Do & Faff (2010), demonstrated that the SSD method is an insufficient method to determine close
economic substitutes.
Cointegration constitutes to a more rigorous framework for pairs trading compared to the SSD
method. This is due to the more mathematical sound identification of long-run equilibrium rela-
tionships, (Krauss, 2017). Vidyamurthy (2004) is among one of the most cited literature on pairs
trading under a cointegration framework. He proposes a set of heuristic concepts rather than em-
pirical research, that also applied to this study.
In the domain of cointegration, Huck & Afawubo (2015) is also regarded as one of the most cited
amongst the literature. Their work, in a sense, is a slight extension to Do & Faff (2010), as in they
compared pairs trading performance under different approaches, that is cointegration, stationary and
SDD - with a similar approach in trading rules and selecting stocks to trade as in Do & Faff (2010).
Their results were in line with existing literature, where they observed a decline in performance in
pairs trading, even when accounting for trading costs. On the other hand, under a cointegration
framework, they have shown that the performances are more robust, stable and produce more exces-
sive returns, as well, a high and robust alpha, while accounting for trading costs. Huck & Afawubo
(2015), also has shown that pairs trading are sensitive under key parameters, which is also inline
with Huck (2013).
Fiz (2014) posed the question if pairs trading under a cointegrated framework are profitable. Huck
& Afawubo (2015), proposed further suggestions on whether pairs trading would work in different
markets. Fiz (2014), rather than using components of the SP500, the study used components of the
Euro Stoxx 50 Index and of the Dow Jones Industry Average in a more recent time frame, between
2001 and 2014. Concluding that pairs trading is still gross profitable, but trading costs significantly
40
reduce profits.
Other empirical works done by Perlin (2009) and Bolgun et al. (2009), implemented pairs trad-
ing in more recent times as well, and under a cointegration framework and found that significant
excess returns on Brazilian and Turkish financial markets. Leong (2018), implemented pairs trading
under a cointegration framework for SP500 large cap and small-cap between 2010 and 2013. When
accounting for trade costs, significant profits are achieved for the large-cap components while losses
occurred for small-cap pairs. Moreover, he replicated the studies of Perlin (2009) and Bolgun et al.
(2009) on the Ibovespa 100 and XU100 and incurred losses. However, a possible explanation would
be because it was implemented on a different time frame and different trading rules. Contrary to Do
& Faff (2010), Fiz (2014) and Leong (2018) did not find any increases in trading or profits during
any periods of bear markets.
In this thesis we extend some of the literature to more recent times. However, this thesis differs from
other literature is that we compare various parameters under different spread dynamics, with the
exception of the GARCH model. Moreover, we were interested how pairs that have a cointegrated
spread would perform against pairs whose spread is not - although all of the pairs are very highly
correlated. It could be argued that pairs that are not cointegrated, and so only highly correlated,
would be subject to randomness. More specifically, we are also interested to see if pairs that are
cointegrated perform better than pairs that are random, or simply highly correlated. We do so by
compare average performance of all traded pairs, as some pairs do not trade, we then place the pairs
into two camps; either cointegrated or not. Finally, we look at the pairs that have positive returns
and compare them. We repeat this under the Basic model and under the Kalman filter for various
parameters. However, we separated the results under the GARCH model, due to time limitations
and scope of this project, as wee only applied it to the time horizon rather than all parameters.
7.2 Conclusion
The objective of this study is to empirically answer several questions regarding pairs trading. First,
if pairs trading is still profitable under a cointegrated framework. Second, if spread dynamics affect
performance. Third, how do various parameters affect the performance, including the GARCH.
Final, can estimated parameters, as in section 5, provide any insight to performance.
First, under both models when considering the time horizon and bands we observed, unexpect-
edly, that on average pairs trading does not seem profitable, in fact we observe a pattern in both
models where on average pairs that are not cointegrated outperform cointegrated pairs. Only when
looking at the winning pairs we see significant returns and that cointegrated pairs outperform pairs
that are not. From here we see that pairs should be held approximately 2 to 3 years and shorter
trading signals should be used, i.e. 0.25 and 0.5 deviations respectively. Also, in some cases 0.75
and 1.0 deviations are also fine.
Fiz (2014) adjusted bands under a cointegrated framework, he found that overall gross profit de-
creases and number of trades decreases as the bands are increased, as well as average returns per
trade increases. So do our pairs as well, on average either very short or either large bands i.e. 0.25,
0.5 and 2 deviations. However, the results, are not entirely comparable, as we only traded for 1 year.
Every year we check whether the same pairs were cointegrated or not, we observed that cointe-
41
grated relationships alternate over the years12 . Although, we did not test it, it would be naive to
assume that structural breaks in cointegrated relationship only happen on an annual basis. In fact,
Leong (2018), occasionally experienced structural breaks every two weeks. Which could explain
why using a moving window of either 15 or 30 days performed so well. It could be argued that
regularly updating the trading signal would capture more relevant information - and as well as the
results suggest a 120 or 252 moving window - than a static approach13 . In addition, it could also be
the opposite, pairs that are not cointegrated experience cointegration during certain time intervals
during trading periods, which could explain why in some cases it outperforms cointegrated pairs
which we predominately saw for when adjusting for bands and trading intervals.
Second, Kalman filter not only reduces the noise of the spread, but also mirrors the pattern of
the results under the Basic model, compresses it. Which, in hindsight, makes sense, as the spread
is filtered, so become the trading signals and thus the results.
Third, as discussed before, on average it seemed that when adjusting for years traded and the
bands, non-cointegrated pairs outperform cointegrated pairs. It is only when looking at winning
pairs that we see a difference. The parameter that seemed matched expectations is the moving
window. Although there are some instances where other parameters outperform moving windows, it
showed the largest difference between cointegrated pairs and non-cointegrated pairs, and produced
highest rate of winning pairs, with much lower market beta and mdd’s. It would be interesting to
see how these pairs would perform under a larger trading period and if estimated {α̂, β̂} were to be
regularly updated.
In section 6 we implemented a similar trading rule as Miah et al. (2016), where unlike the Ba-
sic model, we posed conditional volatility on the bands. The study was limited to only the trading
period, due to time limitation. Contrary to their work where Miah et al. (2016) did not obtain
excessive returns, we obtained significant returns. Moreover, it also met expectations. That is,
pairs where the spread is cointegrated outperformed the pairs whose spread on average and when
considering the winning pairs. Possible explanation why we obtained different results is because
of a different selecting procedure, pairs traded and trading period. Moreover, the study was not
replicated for other the other parameters due to time limitations.
Fourth, when looking at the relationship between mse and β̂ to the log returns, there is some
evidence to a relation between log return and mse for both models. However, in most cases they
are not significant. Having said that, more interesting results are obtained between log returns and
β̂. When regressing for stationary winning and losing pairs i.e. θ1 and θ2 . We seen that under the
Basic model winning pairs seem to have a more stable θ1 as time progresses, while losing pairs seem
to be alternating between a lot, similarly to non-stationary pairs. This could indicate that under
the Basic model, winning pairs - that presumably win due to mean-reversion with the possibility of
occasional structural breaks - tend to a more stable β̂ as time progresses. That is, the linear rela-
tionship between two pairs that make up the spread are held together better over time. This could
explain why when looking at winning pairs, pairs that are cointegrated outperform pairs that are
not. However, under the Kalman filter we observe a slightly weaker results (table 36). Furthermore,
it would be interesting to see if the same holds for the other parameters and if it could be repeated
for the p-value obtain from the ADF test.
42
There are some limitations to the study, first is that due to technical issues, only 239 pairs of
the 250 were investigated. Due to time limitations not all studies were replicated to all parameters.
Furthermore, although information is available at the reader’s request, other aspects could have been
used in the study such as daily trades and returns, Sortino ratio and as well accounting for trading
costs.
An unexpected result that we obtained from our pairs selection method was that a large proportion
of pairs were made out of ETF’s, the tables in the appendix shows that a large proportion of winning
pairs in 2015 and 2018 were made out of ETF’s whose constituents are made of the SP500, DJIA or
Euronext, which are provided by several companies with different variations in investment purposes,
such as either large-cap or mid-cap - some of these ETF’s are different in nature, but this is left
at the discretion of the reader. When trading comparable ETF’s, we see in the tables that they
have significant returns, it can be argued that they are close substitutes of another. In addition, we
also see pairs of different industries, whether ETF or a normal stock, such as pharmaceuticals, oil,
healthcare, real estate or commodities such as gold or silver and are not necessarily subject to the
same industry as can be seen for the pair DBS vs SLV which is an energy company versus a silver
trust.
Insofar, we have shown that pairs trading can still be a (gross) profitable trading strategy. How-
ever, we do see that from our pairs selected, that approximately half of the pairs traded produced
profitable returns for certain parameters. We found that generally the Basic model performs better
than the Kalman filter, possibly because of lower volatility as the Kalman filter smooths the spread.
Having said that, when applying moving windows we have found that it produces the highest ra-
tio of winning pairs and general good performance. In addition, applying conditional volatility on
the bands also produces favourable performance, given that we only performed the strategy on the
trading years, it outperformed the Basic model. More interestingly, these methods matched expecta-
tions, that is, on average they seem to return profits quicker; on average pairs that are cointegrated
perform better than the ones that are not and bigger differences are observed when we look at the
strictly winning pairs.
Counts of words
!!! File main.bbl not found in path [./]. !!!
File: main.tex
Encoding: ascii
Sum count: 14256
Words in text: 13177
Words in headers: 152
Words outside text (captions, etc.): 633
Number of headers: 41
Number of floats/tables/figures: 48
Number of math inlines: 250
Number of math displayed: 44
Subcounts:
text+headers+captions (#headers/#floats/#inlines/#displayed)
160+10+0 (2/1/0/0) _top_
633+1+0 (1/0/1/0) Section: Introduction
43
61+1+0 (1/0/0/0) Section: Theory
748+9+23 (4/2/48/18) Subsection: Preliminaries
643+10+0 (3/0/40/10) Subsection: Cointegration
182+2+0 (1/0/15/2) Subsection: GARCH models
351+2+9 (1/1/25/6) Subsection: Kalman Filter
114+1+0 (1/0/1/0) Section: Methodology
511+2+0 (1/0/3/0) Subsection: Pairs Selection
373+2+36 (1/2/35/0) Subsection: Trading Rules
125+1+0 (1/0/13/0) Subsection: Parameters
91+2+0 (1/0/0/0) Section: Backtest Results
460+2+87 (1/1/0/3) Subsection: Performance Metrics
906+20+158 (4/15/5/0) Subsection: Basic Model results
568+25+169 (4/15/0/0) Subsection: Kalman Filter Results
353+1+8 (1/0/2/0) Subsection: Overview
54+2+0 (1/0/8/0) Section: Further Analysis
427+3+22 (1/3/24/3) Subsection: Log returns vs $mse$
233+5+10 (1/2/8/1) Subsection: Log returns vs estimated Beta
136+4+16 (1/1/10/1) Section: Pairs trading under GARCH
216+5+81 (1/5/1/0) Subsection: Backtest results under GARCH bands
0+1+0 (1/0/0/0) Section: Conclusion
878+2+0 (1/0/0/0) Subsection: Literature Review
1222+4+10 (2/0/11/0) Subsection: Conclusion
0+1+0 (1/0/0/0) Section: Appendix
3731+10+4 (1/0/0/0) Subsection: List of pairs traded including which ones pertain to Stationarity
0+12+0 (1/0/0/0) Subsection: Winning Stationary Pairs for the Year of 2015 under the Basic Model
1+12+0 (1/0/0/0) Subsection: Winning Stationary Pairs for the Year of 2018 under the Basic Model
(errors:1)
44
8 Appendix
8.1 List of pairs traded including which ones pertain to Stationarity
45
Table 42: List of pairs traded
46
Table 42: List of pairs traded
47
Table 42: List of pairs traded
48
Table 42: List of pairs traded
49
Table 42: List of pairs traded
50
Table 42: List of pairs traded
51
8.2 Winning Stationary Pairs for the Year of 2015 under the Basic Model
Pairs perf_2015 alpha_2015 beta_2015 Sharpe_2015 maxdraw_2015
IWB vs SSO:STAT 155385 0.532510 0.530744 1.036612 -0.066051
EUSA vs VV:STAT 166674 1.200470 1.952547 0.999346 -0.633428
DGL vs GLD:STAT 104922 0.049364 0.028402 0.789826 -0.040936
SSO vs VOO:STAT 129902 0.325945 0.101290 0.798450 -0.085319
IVV vs SSO:STAT 137325 0.370843 0.086302 1.002564 -0.013017
ITOT vs IVV:STAT 100500 0.016054 -0.321265 0.101928 -0.060080
SPY vs SSO:STAT 137329 0.370704 0.091560 1.002972 -0.013284
SSO vs VV:STAT 137734 0.434491 0.342036 0.766705 -0.088545
ITOT vs SSO:STAT 179678 0.755597 1.141976 1.044768 -0.139471
IJJ vs IVOV:STAT 178174 0.776343 -0.890567 1.258618 -0.355039
DBO vs USL:STAT 105307 0.054537 -0.056445 0.983324 -0.072366
IWB vs VV:STAT 100606 0.006547 -0.018439 0.570546 -0.005106
DBS vs SIVR:STAT 100385 0.150889 -0.403114 0.269187 -0.517928
SPXL vs SSO:STAT 151617 0.589235 -0.266881 0.842400 -0.071201
VIXY vs VXX:STAT 101378 0.015241 -0.053136 0.607517 -0.012293
VIXY vs VXX_:STAT 101378 0.015241 -0.053136 0.607517 -0.012293
QQEW vs QQQE:STAT 101888 0.021843 -0.104974 0.562923 -0.029374
FENY vs IYE:STAT 105725 0.065363 -0.299810 0.837599 -0.051440
FUTY vs VPU:STAT 102889 0.034861 -0.145358 0.414047 -0.052926
SUTR vs TOR:STAT 179921 0.899848 0.048738 1.054453 -0.536893
J vs JEC:STAT 101911 0.021529 0.068700 0.250843 -0.074328
CLBS vs NBS:STAT 158875 0.507140 -0.191757 1.788774 -0.129886
RGDO vs TBRA:STAT 180054 1.448688 -0.483901 0.891768 -0.623314
CWEN vs NYLD:STAT 100546 0.005241 0.022661 0.218718 -0.032693
EVLV vs IMBI:STAT 187198 0.668736 -0.058573 2.278413 -0.089733
SPN vs SPNV:STAT 104522 0.164583 -1.145297 0.318811 -0.251225
SPN vs SPNVD:STAT 104522 0.164583 -1.145297 0.318811 -0.251225
RC vs SLD:STAT 100172 0.001821 -0.000747 0.138481 -0.006126
52
8.3 Winning Stationary Pairs for the Year of 2018 under the Basic Model
Pairs perf_2018 alpha_2018 beta_2018 Sharpe_2018 maxdraw_2018
PHDG vs VQT:STAT 907530 0.745792 -0.318408 0.095385 -1.315916
IWB vs SSO:STAT 145445 0.096258 0.323909 0.451686 -0.201223
EUSA vs VV:STAT 5.47548e+06 19.138933 -1.725223 0.614946 -2.187434
ITOT vs VOO:STAT 112833 0.040359 -0.042390 0.306376 -0.186707
SSO vs VOO:STAT 108147 0.035178 0.016853 0.176741 -0.242504
IWL vs MGC:STAT 101838 -0.009584 0.188829 0.144746 -0.066769
IVV vs SSO:STAT 120305 0.056171 0.053252 0.323389 -0.140863
DRR vs EUO:STAT 7.02251e+06 -2377.614141 176.206287 -0.494599 -3.456568
IUSV vs IWD:STAT 126920 0.091914 0.018684 0.307046 -0.187812
ITOT vs IVV:STAT 118566 0.051407 -0.029587 0.418916 -0.129813
ITOT vs SPY:STAT 112816 0.031202 0.071103 0.310711 -0.188393
SPY vs SSO:STAT 120049 0.055644 0.053007 0.320621 -0.145341
PST vs TYO:STAT 2.3291e+06 -0.592524 -1.559146 -0.012370 -4.128217
MYY vs MZZ:STAT 1.18718e+07 -24.107724 0.916335 -0.645433 -4.106598
SSO vs VV:STAT 124422 0.083905 0.049682 0.295690 -0.226918
ITOT vs SSO:STAT 164770 0.130921 0.795272 0.463151 -0.304266
FIEG vs FIGY:STAT 1.07257e+06 13.732999 0.772025 0.622786 -1.976664
DBO vs USL:STAT 416135 62.926099 -8.176442 0.429714 -1.780322
DGL vs DGP:STAT 103864 0.013361 0.004819 0.149152 -0.204035
ITOT vs VV:STAT 112848 0.051837 -0.122934 0.249075 -0.187506
IVW vs SPYG:STAT 115525 0.119228 -0.656117 0.236144 -0.222326
SPXL vs SSO:STAT 238715 0.327919 0.009319 0.566030 -0.237074
ITOT vs VONE:STAT 123056 0.061433 0.052047 0.361036 -0.137940
ITOT vs IYY:STAT 128631 0.079021 -0.055598 0.449168 -0.127753
DBS vs SLV:STAT 5.01905e+06 -63.696381 44.402033 -0.460793 -1.000934
VIXM vs VXZ:STAT 112802 0.035903 0.048981 0.266970 -0.185715
VIXM vs VXZ_:STAT 112802 0.035903 0.048981 0.266970 -0.185715
MIDZ vs SMDD:STAT 257042 -3.090283 6.943155 -0.287231 -1.920364
SPXL vs UPRO:STAT 153552 0.247373 0.017791 0.338703 -0.224443
SUTR vs TOR:STAT 233357 0.325331 -0.145199 0.655489 -0.536893
J vs JEC:STAT 111418 0.023625 0.104350 0.326631 -0.108983
CLBS vs NBS:STAT 182259 0.169109 -0.098466 1.083753 -0.129886
RGDO vs TBRA:STAT 141125 0.320119 -0.171850 0.376499 -0.623314
CRED vs USIG:STAT 119816 0.056293 -0.004150 0.348570 -0.104917
PXLV vs SPVM:STAT 113621 0.174279 -1.090341 0.260701 -0.528212
PXLG vs SPGP:STAT 245629 0.176134 1.763549 0.744950 -0.555116
CWEN vs NYLD:STAT 108661 0.023502 -0.023272 0.517435 -0.049130
KEG vs KEGX:STAT 113842 0.035104 -0.004508 0.492754 -0.002390
KEG vs KEGXD:STAT 113842 0.035104 -0.004508 0.492754 -0.002390
MPVD vs MPVDF:STAT 173660 -49.905062 4.163690 -0.552624 -1.221900
SDRL vs SDRL_:STAT 1.3781e+08 2.093266 1.528456 0.041352 -4.274480
SPN vs SPNV:STAT 178331 0.210397 -0.445309 0.710333 -0.251225
SPN vs SPNVD:STAT 178331 0.210397 -0.445309 0.710333 -0.251225
53
References
Alvaro, C., Sebastian, J., & Jose, P. (2015). Algorithmic and high - frequency trading. Cambridge
University Press.
Bolgun, E., Kurun, E., & Guven, S. (2009, 11). Dynamic pairs trading strategy for the companies
listed in the istanbul stock exchange. IRAFIE , 2 . doi: 10.2139/ssrn.1438457
Do, B., & Faff, R. (2010). Does simple pairs trading still work? Financial Analysts Journal , 66 (4),
83–95.
Engle, R. F., & Granger, C. W. J. (1987). Co-integration and error correction: Rep-
resentation, estimation, and testing. Econometrica, 55 (2), 251–276. Retrieved from
http://www.jstor.org/stable/1913236
Fiz, A. (2014). Pairs trading: An empirical study (Unpublished master’s thesis). Compultense
University of Madrid.
Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (1999). Pairs trading: Performance of a
relative value arbitrage rule..
Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (2006, 02). Pairs Trading: Performance of a
Relative-Value Arbitrage Rule. The Review of Financial Studies, 19 (3), 797-827. Retrieved from
https://doi.org/10.1093/rfs/hhj020 doi: 10.1093/rfs/hhj020
Gregory, Z., & Bradley, H. (2019). The quants runn
wall street now. The Wall Street Journal . Retrieved from
https://www.wsj.com/articles/the-quants-run-wall-street-now-1495389108
Huang, Z., & Martin, F. (2019). Pairs trading strategies in a cointegration framework: back-tested
on cfd and optimized by profit factor. Applied Economics, 51 (22), 2436-2452. Retrieved from
https://doi.org/10.1080/00036846.2018.1545080 doi: 10.1080/00036846.2018.1545080
Huck, N. (2013). The high sensitivity of pairs trading returns. Applied Economics Letters,
20 (14), 1301-1304. Retrieved from https://doi.org/10.1080/13504851.2013.802121 doi:
10.1080/13504851.2013.802121
Huck, N., & Afawubo, K. (2015). Pairs trading and selection methods: is cointegration superior?
Applied Economics, 47 (6), 599–613.
Krauss, C. (2017). Statistical arbitrage pairs trading strategies: Review and
outlook. Journal of Economic Surveys, 31 (2), 513-545. Retrieved from
https://onlinelibrary.wiley.com/doi/abs/10.1111/joes.12153 doi: 10.1111/joes.12153
Leong, W. R. (2018). Garch(1,1) at small sample size and pairs trading with cointegration (Unpub-
lished doctoral dissertation). Aarhus University.
Miah, M., Rahman, A., et al. (2016). Modelling volatility of daily stock returns: Is garch (1,
1) enough? American Scientific Research Journal for Engineering, Technology, and Sciences
(ASRJETS), 18 (1), 29–39.
Perlin, M. S. (2009). Evaluation of pairs-trading strategy at the brazilian finan-
cial market. Journal of Derivatives & Hedge Funds, 15 (2), 122–136. Retrieved from
https://doi.org/10.1057/jdhf.2009.4 doi: 10.1057/jdhf.2009.4
54
Shumway, R. H., & Stoffer, D. S. (2017). Time series analysis and its applications: with r examples.
Vidyamurthy, G. (2004). Pairs trading quantitative methods and analysis. WILEY FINANCE.
Zivot, E., & Wang, J. (2007). Modeling financial time series with s-plus® (Vol. 191). Springer
Science & Business Media.
55