introduction to pairtrading
DESCRIPTION
TRANSCRIPT
![Page 1: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/1.jpg)
Introduction to pair trading -Based on cointegration-
・Shinichi Takayanagi
・Kohta Ishikawa
1
![Page 2: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/2.jpg)
Topics
1. What is pair trading?
2. What is cointegration?
3. Idea of pair trading based on cointegration
4. Simulation by R language
5. Summary & concluding remarks
2
![Page 3: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/3.jpg)
1. What is pair trading?
3
![Page 4: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/4.jpg)
• Gerry Bamberger and Nunzio Tartaglia
• Quantitative group at Morgan Stanley
• Around 1980s
• D.E. Shaw & Co. is famous for this strategy
Pair trading was pioneered by …
4
![Page 5: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/5.jpg)
Pair trading is …
Market neutral trading strategy
5
![Page 6: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/6.jpg)
Pair trading belongs to …
Statistical Arbitrage
6
![Page 7: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/7.jpg)
Basic idea of pair trading …
Select two stocks
which move similarly
7
![Page 8: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/8.jpg)
Basic idea of pair trading …
Sell high priced stock
Buy low priced stock
8
![Page 9: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/9.jpg)
Basic idea of pair trading …
Sell Stock A
Buy Stock B
Stock A : -------- Stock B : --------
Sell Stock B
Buy Stock A
9
![Page 10: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/10.jpg)
Basic idea of pair trading …
Usually, monitor
the difference
between two stock prices
10
![Page 11: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/11.jpg)
Basic idea of pair trading …
Sell Stock A
Buy Stock B
Sell Stock B
Buy Stock A
11
the difference between two stock prices
![Page 12: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/12.jpg)
2. What is cointegration?
12
![Page 13: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/13.jpg)
Cointegration is …
13
• Pioneered by Engle and Granger
• Statistical property of time series
• Around 1990s
![Page 14: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/14.jpg)
Cointegration is …
Not correlation
14
![Page 15: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/15.jpg)
Cointegration and correlation
15
•Correlation –Specify co-movement of return
–Short term relationship
•Cointegration –Specify co-movement of price
–Long term relationship
![Page 16: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/16.jpg)
(weak) Stationary time series
16
sXX
X
XE
stt
t
t
,cov
var 2
・
・
・
Not depend on time
![Page 17: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/17.jpg)
Example of stationary time series
17
st
E
st
t
t
,0,cov
var
0
2
・
・
・White noise
![Page 18: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/18.jpg)
Non stationary time series
18
stXX
X
XE
stt
tt
tt
,,cov
var2
・
・
・
Depend on time
![Page 19: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/19.jpg)
Example of non stationary time series
19
stWW
tW
WE
stt
t
t
,cov
var
0
・
・
・
Brownian motion
![Page 20: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/20.jpg)
Lag operator
tttt
tt
XXXXL
XLX
1
1
1・
・
20
L
![Page 21: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/21.jpg)
Integrated of order P
21
stationary:1
stationarynon :
t
p
t
XL
X
pIX t~
![Page 22: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/22.jpg)
Example of “integrate”
22
noise White:
walkRandom:
t
1
ttt ZZ
1Z
Stationary:
t
1
I
ZZZ tttt
~
Calculate difference
![Page 23: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/23.jpg)
and are cointegrated if …
23
tX
1:,
process stationary ,0:
IYX
Iu
XYu
tt
t
ttt
~
~
*This is a special version of general cointegration for I(1)
tY
![Page 24: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/24.jpg)
Example of cointegrated time series
24
Xt : -------- Yt : -------- noiseGaussian 3:
motionbrownian Normal2100:
5.050
t
t
ttt
u
X
uXY
![Page 25: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/25.jpg)
Example of cointegrated time series
25
Plot : ut = Yt – 0.5 Xt
![Page 26: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/26.jpg)
ut seems to be…
26
Stationary
&
Mean reversion
![Page 27: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/27.jpg)
Question
27
Can we apply this idea to trading strategy?
![Page 28: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/28.jpg)
3. Idea of pair trading based on cointegration
28
![Page 29: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/29.jpg)
Geometric brownian motion
The most widely used model of stock price
29
t
t
t dWdtS
dS
motionBrownian :
Volatility:
return Average:
priceStock :
t
t
W
S
![Page 30: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/30.jpg)
From Ito’s lemma
30
Log price follow Brownian motion
tt dWdtSd
2log
2
![Page 31: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/31.jpg)
Brownian motion(log price) is …
31
I(1) * Random walk can be considered as discretization of Brownian motion
![Page 32: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/32.jpg)
32
Cointegration idea to log stock price
Then, we can apply
![Page 33: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/33.jpg)
Log price spread(*) is…
33
Stationary
&
Mean reversion pricestock :, ,loglog: ttttt YXXYSpread ※
![Page 34: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/34.jpg)
Simple trading idea
34
pricestock :,
loglog
tt
ttt
YX
XYSpread
ttt
ttt
XYSpread
YXSpread
SellBuy :lowvery if
SellBuy :hishvery if
,
,
![Page 35: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/35.jpg)
4. Simulation by R language
35
![Page 36: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/36.jpg)
Process
1. Find two likely cointegrated stocks
2. Estimate spreads
3. Check stationarity
4. Create trading signal
5. Run back-test
36
![Page 37: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/37.jpg)
1.Find two likely cointegrated stocks
> library(PairTrading)
> #load sample stock price data
> data(stock.price)
> #select 2 stocks
> price.pair <- stock.price[,1:2]["2008-12-31::"]
> head(price.pair)
7201 7203
2009-01-05 333 3010
2009-01-06 341 3050
2009-01-07 374 3200
2009-01-08 361 3140
37
* Just load sample data in this case….
![Page 38: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/38.jpg)
2. Estimate spreads
> reg <- EstimateParameters(price.pair, method = lm)
> str(reg)
List of 3
$ spread :An ‘xts’ object from 2008-12-30 to 2011-08-05 containing:
Data: num [1:635, 1] -0.08544 -0.0539 -0.04306 -0.00426 -0.01966 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "B"
Indexed by objects of class: [Date] TZ:
xts Attributes:
NULL
$ hedge.ratio: num 0.0997
$ premium : num 7.48 38
![Page 39: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/39.jpg)
2. Estimate spreads
> plot(reg$spread, main = "Spread“)
39
pricestock :,,loglog ttttt YXXYSpread
![Page 40: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/40.jpg)
3. Check stationarity
> PP.test(as.numeric(reg$spread))
Phillips-Perron Unit Root Test
data: as.numeric(reg$spread)
Dickey-Fuller = -3.2299, Truncation lag parameter = 6, p-value = 0.08278
> adf.test(as.numeric(reg$spread))
Augmented Dickey-Fuller Test
data: as.numeric(reg$spread)
Dickey-Fuller = -3.6462, Lag order = 8, p-value = 0.02825
alternative hypothesis: stationary
40
![Page 41: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/41.jpg)
4. Create trading signal
> params <- EstimateParametersHistorically(price.pair, period = 180)
> signal <- Simple(params$spread, 0.05)
> barplot(signal,col="blue",space = 0, border = "blue",xaxt="n",yaxt="n",xlab="",ylab="")
> par(new=TRUE)
> plot(params$spread, type="l", col = "red", lwd = 3, main = "Spread & Signal")
41
![Page 42: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/42.jpg)
4. Create trading signal
42
![Page 43: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/43.jpg)
5. Run back-test
> return.pairtrading <- Return(price.pair, lag(signal), lag(params$hedge.ratio))
> plot(100 * cumprod(1 + return.pairtrading), main = "Performance of pair trading")
43
![Page 44: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/44.jpg)
5. Run back-test
44
![Page 45: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/45.jpg)
5. Summary & concluding remarks
45
![Page 46: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/46.jpg)
Summary & concluding remarks
• Pair trading is simple quantitative trading strategy
• Cointegration is long term relation ship of time series
• Idea of cointegration may give a chance to make a profit from financial market by pair trading
• Next step ….
– Sophisticate parameter estimation & trading rule
– Make a simulation close to real
46
![Page 47: Introduction to pairtrading](https://reader033.vdocuments.us/reader033/viewer/2022051110/54b6c8c34a795996608b4626/html5/thumbnails/47.jpg)
Reference
• Pairs trade(http://en.wikipedia.org/wiki/Pairs_trade)
• Cointegration(http://en.wikipedia.org/wiki/Cointegration)
• Andrew Neil Burgess, “A Computational Methodology for Modeling the Dynamics of Statistical Arbitrage”
• Russell Wojcik, “Pairs Trading: A Professional Approach”
• Daniel Herlemont, “Pairs trading, convergence trading, cointegration”
• Paul Teetor, “Using R to Test Pairs of Securities for Cointegration”(http://quanttrader.info/public/testForCoint.html)
• Ganapathy Vidyamurthy, “Pairs Trading: Quantitative Methods and Analysis “
47