Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
introduction               Connection and data                          The quest                  Final Comments         ...
introduction                     Connection and data                                The quest                        Final...
Cumulative Returns                            introduction                    Connection and data                         ...
introduction                     Connection and data                                The quest                        Final...
introduction                      Connection and data                                 The quest                         Fi...
introduction                Connection and data                           The quest                   Final CommentsFor In...
introduction                Connection and data                           The quest                   Final CommentsFor In...
introduction                Connection and data                           The quest                   Final CommentsFor In...
introduction                Connection and data                           The quest                   Final CommentsFor In...
introduction                Connection and data                           The quest                   Final CommentsFor In...
introduction                    Connection and data                               The quest                       Final Co...
introduction                    Connection and data                               The quest                       Final Co...
introduction                    Connection and data                               The quest                       Final Co...
introduction                    Connection and data                               The quest                       Final Co...
introduction                    Connection and data                               The quest                       Final Co...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction     Sign Prediction                  Connection and data      Filtering                             The quest...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction        Sign Prediction                           Connection and data         Filtering                       ...
introduction     Sign Prediction                        Connection and data      Filtering                                ...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction                                    Sign Prediction                                                   Connecti...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                     Connection and data     Filtering                                The q...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                Connection and data     Filtering                           The quest    Ti...
introduction    Sign Prediction                      Connection and data     Filtering                                 The...
introduction      Sign Prediction                          Connection and data       Filtering                            ...
introduction      Sign Prediction                          Connection and data       Filtering                            ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction    Sign Prediction                    Connection and data     Filtering                               The que...
introduction    Sign Prediction                 Connection and data     Filtering                            The quest    ...
introduction                     Connection and data                                The quest                        Final...
introduction                Connection and data                           The quest                   Final CommentsMiscel...
introduction                Connection and data                           The quest                   Final CommentsMiscel...
introduction                Connection and data                           The quest                   Final CommentsMiscel...
introduction                Connection and data                           The quest                   Final CommentsMiscel...
introduction                Connection and data                           The quest                   Final CommentsMiscel...
introduction                Connection and data                           The quest                   Final CommentsMiscel...
introduction             Connection and data                        The quest                Final Comments        THANKSa...
Upcoming SlideShare
Loading in …5
×

Backtesting Trading Strategies with R

11,878 views

Published on

Published in: Economy & Finance, Business
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1lite.top/8ODII ◀ ◀ ◀ ◀
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Backtesting Trading Strategies with R

  1. 1. introduction Connection and data The quest Final Comments Trading Strategies using R The quest for the holy grail Eran Raviv Econometric Institute - Erasmus University, http://eranraviv.com April 02, 2012Eran Raviv Trading Strategies using R April 02, 2012
  2. 2. introduction Connection and data The quest Final CommentsOutline for section 1 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  3. 3. Cumulative Returns introduction Connection and data The quest 0.2 Final Comments(very) Limited Success Decision was 0.15 made to reduce volume 0.1 cumsum 0.05 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 -0.05 Eran Raviv Trading Strategies using R April 02, 2012
  4. 4. introduction Connection and data The quest Final CommentsOutline for section 2 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  5. 5. introduction Connection and data The quest Final CommentsFor Inter-day, yahoo is fine nam = c ( AON , M C , AKS , BAC , . . . ) ; t c k r = s o r t (nam) M # Most r e c e n t 252 days : end<− f o r m a t ( Sys . Date ( ) , ”%Y m −% −%d” ) # yyyy− −ddmm s t a r t<−f o r m a t ( Sys . Date ( ) − 3 6 5 , ”%Y m−% −%d” ) l = length ( tckr ) dat = a r r a y ( dim = c ( 2 5 2 , 6 , l ) ) for ( i in 1: l ){ dat0 = ( getSymbols ( t c k r [ i ] , s r c=” yahoo ” , from=s t a r t , t o=end , auto . a s s i g n = FALSE) ) # C anc e l auto . a s s i g n i f you want t o manipulate the o b j e c t dat [ 1 : l e n g t h ( dat0 [ , 2 ] ) , , i ] = dat0 [ , 2 : 6 ] } dat = dat [ 1 : l e n g t h ( na . omit ( dat [ , 1 , 1 ] ) ) , , ] Eran Raviv Trading Strategies using R April 02, 2012
  6. 6. introduction Connection and data The quest Final CommentsFor Intra-day use IB IB has extensive API. Connect to their trading platform (TWS) using Java and C among others. Eran Raviv Trading Strategies using R April 02, 2012
  7. 7. introduction Connection and data The quest Final CommentsFor Intra-day use IB IB has extensive API. Connect to their trading platform (TWS) using Java and C among others. Eran Raviv Trading Strategies using R April 02, 2012
  8. 8. introduction Connection and data The quest Final CommentsFor Intra-day use IB IB has extensive API. Connect to their trading platform (TWS) using Java and C among others. Account is not that easy to set up, many forms to fill out and hefty sum to transfer, especially if you would like to day trade. Eran Raviv Trading Strategies using R April 02, 2012
  9. 9. introduction Connection and data The quest Final CommentsFor Intra-day use IB IB has extensive API. Connect to their trading platform (TWS) using Java and C among others. Account is not that easy to set up, many forms to fill out and hefty sum to transfer, especially if you would like to day trade. Eran Raviv Trading Strategies using R April 02, 2012
  10. 10. introduction Connection and data The quest Final CommentsFor Intra-day use IB IB has extensive API. Connect to their trading platform (TWS) using Java and C among others. Account is not that easy to set up, many forms to fill out and hefty sum to transfer, especially if you would like to day trade. Jeffrey A. Ryan did outstanding work, we can now trade via R. Eran Raviv Trading Strategies using R April 02, 2012
  11. 11. introduction Connection and data The quest Final CommentsFor Intra-day use IB Easy: l i b r a r y ( IBrokers ) I B r o k e r s v e r s i o n 0 . 9 − 1 : Implementing API V e r s i o n 9 . 6 4 This s o f t w a r e comes with NO WARRANTY. Not i n t e n d e d f o r p r o d u c t i o n u s e ! See ? I B r o k e r s f o r d e t a i l s } con = twsConnect ( c l i e n t I d = 1 , h o s t = l o c a l h o s t , p o r t = 7 4 9 6 , v e r b o s e = TRUE, t i m e o u t = 5 , f i l e n a m e = NULL) Eran Raviv Trading Strategies using R April 02, 2012
  12. 12. introduction Connection and data The quest Final CommentsFor Intra-day use IB Easy: l i b r a r y ( IBrokers ) I B r o k e r s v e r s i o n 0 . 9 − 1 : Implementing API V e r s i o n 9 . 6 4 This s o f t w a r e comes with NO WARRANTY. Not i n t e n d e d f o r p r o d u c t i o n u s e ! See ? I B r o k e r s f o r d e t a i l s } con = twsConnect ( c l i e n t I d = 1 , h o s t = l o c a l h o s t , p o r t = 7 4 9 6 , v e r b o s e = TRUE, t i m e o u t = 5 , f i l e n a m e = NULL) High frequency data if you have the patience to program it. Eran Raviv Trading Strategies using R April 02, 2012
  13. 13. introduction Connection and data The quest Final CommentsFor Intra-day use IB Easy: l i b r a r y ( IBrokers ) I B r o k e r s v e r s i o n 0 . 9 − 1 : Implementing API V e r s i o n 9 . 6 4 This s o f t w a r e comes with NO WARRANTY. Not i n t e n d e d f o r p r o d u c t i o n u s e ! See ? I B r o k e r s f o r d e t a i l s } con = twsConnect ( c l i e n t I d = 1 , h o s t = l o c a l h o s t , p o r t = 7 4 9 6 , v e r b o s e = TRUE, t i m e o u t = 5 , f i l e n a m e = NULL) High frequency data if you have the patience to program it. Limitation on the number of requests. Eran Raviv Trading Strategies using R April 02, 2012
  14. 14. introduction Connection and data The quest Final CommentsFor Intra-day use IB Easy: l i b r a r y ( IBrokers ) I B r o k e r s v e r s i o n 0 . 9 − 1 : Implementing API V e r s i o n 9 . 6 4 This s o f t w a r e comes with NO WARRANTY. Not i n t e n d e d f o r p r o d u c t i o n u s e ! See ? I B r o k e r s f o r d e t a i l s } con = twsConnect ( c l i e n t I d = 1 , h o s t = l o c a l h o s t , p o r t = 7 4 9 6 , v e r b o s e = TRUE, t i m e o u t = 5 , f i l e n a m e = NULL) High frequency data if you have the patience to program it. Limitation on the number of requests. In any case not more than one year, but you can store it. Eran Raviv Trading Strategies using R April 02, 2012
  15. 15. introduction Connection and data The quest Final CommentsFor Intra-day use IB Easy: l i b r a r y ( IBrokers ) I B r o k e r s v e r s i o n 0 . 9 − 1 : Implementing API V e r s i o n 9 . 6 4 This s o f t w a r e comes with NO WARRANTY. Not i n t e n d e d f o r p r o d u c t i o n u s e ! See ? I B r o k e r s f o r d e t a i l s } con = twsConnect ( c l i e n t I d = 1 , h o s t = l o c a l h o s t , p o r t = 7 4 9 6 , v e r b o s e = TRUE, t i m e o u t = 5 , f i l e n a m e = NULL) High frequency data if you have the patience to program it. Limitation on the number of requests. In any case not more than one year, but you can store it. Professional yahoo group at: http://finance.groups.yahoo.com/group/TWSAPI/ Eran Raviv Trading Strategies using R April 02, 2012
  16. 16. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingOutline for section 3 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  17. 17. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSelected Ideas Over the years I have backtested many ideas, among others: Sign Prediction Eran Raviv Trading Strategies using R April 02, 2012
  18. 18. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSelected Ideas Over the years I have backtested many ideas, among others: Sign Prediction Filtering Eran Raviv Trading Strategies using R April 02, 2012
  19. 19. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSelected Ideas Over the years I have backtested many ideas, among others: Sign Prediction Filtering Multivariate time series modelling Eran Raviv Trading Strategies using R April 02, 2012
  20. 20. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSelected Ideas Over the years I have backtested many ideas, among others: Sign Prediction Filtering Multivariate time series modelling Pairs trading Eran Raviv Trading Strategies using R April 02, 2012
  21. 21. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSelected Ideas Over the years I have backtested many ideas, among others: Sign Prediction Filtering Multivariate time series modelling Pairs trading Eran Raviv Trading Strategies using R April 02, 2012
  22. 22. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSelected Ideas Over the years I have backtested many ideas, among others: Sign Prediction Filtering Multivariate time series modelling Pairs trading Born to trade, forced to work. Eran Raviv Trading Strategies using R April 02, 2012
  23. 23. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingTable of Contents 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  24. 24. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction Sign prediction using: Logistic Regression (glm) Support Vector Machine (svm) ♣ library(e1071) K-Nearest Neighbour (knn) ♣ library(class) Neural Networks (nnet) ♣ library(nnet) Eran Raviv Trading Strategies using R April 02, 2012
  25. 25. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction - continued Working with daily returns, so target is to predict tomorrow’s move. (Avoid overnight) Explanatory variables considered: I five lags (one week) II Spread between the volume and the rolling average of most recent 5 days. III Volatility - average of the last five days. Eran Raviv Trading Strategies using R April 02, 2012
  26. 26. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction - continued Volatility is measured as the average of three different intra-day volatility measures which are more efficient (converge faster) than the standard ”sd” estimate: Parkinson (1980): 1 N hi 2 σ= 4N ln2 i=1 (ln li ) Eran Raviv Trading Strategies using R April 02, 2012
  27. 27. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction - continued Volatility is measured as the average of three different intra-day volatility measures which are more efficient (converge faster) than the standard ”sd” estimate: Parkinson (1980): 1 N hi 2 σ= 4N ln2 i=1 (ln li ) German Klass (1980): 1 N 1 hi 2 1 N ci σ= N i=1 2 (ln li ) − N i=1 (2ln2 − 1)(ln ci−1 )2 Eran Raviv Trading Strategies using R April 02, 2012
  28. 28. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction - continued Volatility is measured as the average of three different intra-day volatility measures which are more efficient (converge faster) than the standard ”sd” estimate: Parkinson (1980): 1 N hi 2 σ= 4N ln2 i=1 (ln li ) German Klass (1980): 1 N 1 hi 2 1 N ci σ= N i=1 2 (ln li ) − N i=1 (2ln2 − 1)(ln ci−1 )2 Rogers and satchell (1991): 1 N hi hi l l σ= N i=1 (ln li )(ln oi ) + (ln cii )(ln oii ) Eran Raviv Trading Strategies using R April 02, 2012
  29. 29. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction - continued dat0 = ( getSymbols ( t c k r [ 1 ] , s r c=” yahoo ” , from=s t a r t , t o=end , auto . a s s i g n = FALSE) ) l = l e n g t h ( dat0 [ , 1 ] ) d a t e s 0 = ( i n d e x ( dat0 ) ) # t r i c k t o g e t t r a d i n g d a t e s t t = NULL # we now p a r s e i t i n t o IB mode # for ( i in 1: l ){ tt [ i ] = paste ( substr ( dates0 [ i ] , 1 , 4 ) , substr ( dates0 [ i ] , 6 , 7 ) , s u b st r ( dates0 [ i ] , 9 , 1 0 ) , sep = ”” ) t t [ i ] = p a s t e ( t t [ i ] , ” 2 3 : 0 0 : 0 0 GMT” ) } c o n t=t ws Eq ui ty ( p l u g your f a v o u r i t e symbol , SMART , NYSE ) mat1 = a r r a y ( dim = c ( l , 4 0 0 , 8 ) )#T y p i c a l day s h o u l d have 390 mins for ( i in 1: l ){ m1 = a s . m a t r i x ( r e q H i s t o r i c a l D a t a ( con , cont , t t [ i ] , b a r S i z e = ” 1 min” , d u r a t i o n = ” 1 d” , useRTH = ” 1 ” , whatToShow = ”TRADES” , time . f o r m a t = ” 1 ” , v e r b o s e = TRUE) ) mat1 [ i , 1 : l e n g t h (m1 [ , 1 ] ) , ] = m1 Sys . s l e e p ( 1 4 ) # IB r e s t r i c t i o n , WAIT. # } Eran Raviv Trading Strategies using R April 02, 2012
  30. 30. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingSign Prediction - continued Sample code: l o g i t 1 = glm ( y˜ l a g y+v o l a t+volume , data=dat [ 1 : t1 , ] , f a m i l y= b i n o m i a l ( l i n k = ” l o g i t ” ) , na . a c t i o n=na . p a s s ) summary ( l o g i t 1 ) #t 1 i s end o f t r a i n i n g , TT i s f u l l l e n g t h . l i b r a r y ( nnet ) nnet1 = nnet ( a s . f a c t o r ( y ) ˜ l a g y+v o l a t+volume , data=dat [ 1 : t1 , ] , s i z e =1 , t r a c e=T) summary ( nnet1 ) library ( class ) knn1 = knn ( dat [ 1 : t1 , ] , dat [ ( t 1 +1) : TT, ] , c l = dat $ y [ 1 : t 1 ] , k=25 , prob=F) sum ( knn1==dat $ y [ ( t 1 +1) ] ) / (TT 1 +1)#H i t r a t i o −t l i b r a r y ( e1071 ) svm1 = svm ( dat [ 1 : t1 , 2 : 4 ] , y=dat [ 1 : t1 , 1 ] , t y p e = ”C” ) # I n sample : sum ( svm1 $ f i t==dat $ y [ ( 1 ) : t 1 ] ) / t 1 # out o f sample : svmpred=p r e d i c t ( svm1 , newdata = dat [ ( t 1 +1) : TT, 2 : 4 ] ) sum ( svmpred==dat $ y [ ( t 1 +1) :TT ] ) / (TT 1 +1)#H i t r a t i o −t Eran Raviv Trading Strategies using R April 02, 2012
  31. 31. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingTable of Contents 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  32. 32. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingDeviation from the mean Motivation =⇒ Disposition effect, the Voodoo of financial markets. Standardise the deviation from the (rolling) mean. Eran Raviv Trading Strategies using R April 02, 2012
  33. 33. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingDeviation from the mean Google qqq 650 q q q qq q qqq qqq qq qqq q qq q qqq q q q qq qqqq q qq qq qqq q qq q q q q q q q q q q qq q q q q q q q q q qq q q q q q q q q q q qq q q q q qq qqq qq q q qq q q q qqqqqqq q q qqq 600 q q q q qq q qq qq qqq qq q q qq qq qq qq qqq q q qq q q qq q q qq q q qqqqq q qq q q q qq q qq qq q q q qqq q q q q qq q qq qqqqqqqqq qqq q qqqq q q qq q q qq q q q q q q q q qq qq qqq qq qq qq q q q q q q q q qq q q Price qqq qq q q q q q qq q q qqqqqq q qqq qqqq qq q q q qq q q q q q q q q q q q q q q q q q q qq q q q qq q q q q q 550 q q q q qq qq q q q q q q q q q q qq q q qq q q qq q qq q q q q q q q q qqq q q qqqq q q q q q qq q qq q qqqq qqqq qqq qq q q qqq qqq q q qqq q q q qqq qq q q q q q q q q q q qq q q q qqq qqqq q q qqqq q q q q q qq q q qq q q q qq q qq q q q q q qq q qqq qq q q q q q q q q q q q q q q qq q q qqq q q q qq 500 q q q q qqqq q qqq qq q qq q q q q q q qqq q q 0 50 100 150 200 250 Days Histogram for Z 20 q q q q q q q q q q q q q 2 q q q q q q qq q 15 q qq q q q qq q qq q q qq q qq q q q q q qq q q q q qq q q q q q q qq q q q q q qq q q q q q q q q qq qqq Frequency qq q qq qq q q q q qq q q q q qq q q q q q q q qq q q qq qq q q q q q q q q q 0 q q q q q q qq qq q q q 10 q q q q q q qq q q Z q qq q q q q q q q q q qq q q qq q q q q q q q q q q q q q q qq q q q q q qqq q q q q qq q q q qq q q q q q q q qq q q qq q q q q q q −2 q qqq qq qq q q q q q q qq q q q qq q q 5 q q q q q qq q q q q q −4 0 q −4 −2 0 2 0 50 100 150 200 250 Days Eran Raviv Trading Strategies using R April 02, 2012
  34. 34. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingTable of Contents 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  35. 35. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingMotivation Momentum in Microstructure - Dermot Murphy and Ramabhadran S. Thirumalai (Job Market Paper - 2011) Are You Trading Predictably? -Steven L. Heston ,Robert A. Korajczyk ,Ronnie Sadka, Lewis D. Thorson. (2010) Eran Raviv Trading Strategies using R April 02, 2012
  36. 36. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingMotivation Momentum in Microstructure - Dermot Murphy and Ramabhadran S. Thirumalai (Job Market Paper - 2011) Are You Trading Predictably? -Steven L. Heston ,Robert A. Korajczyk ,Ronnie Sadka, Lewis D. Thorson. (2010) We find predictable patterns in stock returns. Stocks whose relative returns are high in a given half-hour interval today exhibit similar outperformance in the same half-hour period on subsequent days. The effect is stronger at the beginning and end of the trading day. These results suggest... Eran Raviv Trading Strategies using R April 02, 2012
  37. 37. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingVAR models For each day t = {1, ..., T }, the return of half an hour k = {1, ..., 13} , and the lag number p = {1, ..., P }:      1 a1,1 a1 1,2 · · · a1   y1,t c1 1,k y1,t−1 y2,t  c2  a1 1 1       2,1 a2,2 · · · a2,k  y2,t−1    . = . + . . .. .  .  + ··· +  .  .  . . . . . . . .  .  . . yk,t ck a1 1 1 k,1 ak,2 · · · ak,k yk,t−1  p p p  a1,1 a1,2 · · · a1,k    y1,t−p e1,t ap p ap  y2,t−p  e2,t   2,1 a2,2 · · · 2,k   .  .  +  .      . . ..  . . . . . .  .   .  . . . p p ak,1 ak,2 · · · ap k,k yk,t−p ek,t Eran Raviv Trading Strategies using R April 02, 2012
  38. 38. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingVAR models For each day t = {1, ..., T }, the return of half an hour k = {1, ..., 13} , and the lag number p = {1, ..., P }:      1 a1,1 a1 1,2 · · · a1   y1,t c1 1,k y1,t−1 y2,t  c2  a1 1 1       2,1 a2,2 · · · a2,k  y2,t−1    . = . + . . .. .  .  + ··· +  .  .  . . . . . . . .  .  . . yk,t ck a1 1 1 k,1 ak,2 · · · ak,k yk,t−1  p p p  a1,1 a1,2 · · · a1,k    y1,t−p e1,t ap p ap  y2,t−p  e2,t   2,1 a2,2 · · · 2,k   .  .  +  .      . . ..  . . . . . .  .   .  . . . p p ak,1 ak,2 · · · ap k,k yk,t−p ek,t Problem: for P = 1, how many parameters? Eran Raviv Trading Strategies using R April 02, 2012
  39. 39. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingVAR models (cont’d) Possible solution =⇒ Dimension Reduction. Eran Raviv Trading Strategies using R April 02, 2012
  40. 40. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingVAR models (cont’d) Possible solution =⇒ Dimension Reduction. Stepwise Regression, Lasso, Variable selection (according to some Information Criteria), Principal Component Regression, Ridge Regression, Bayesian VAR and many more. Very nice vars package to start you off, though as most built-ins, not flexible enough. (e.g. rolling windows and/or shrinking) Eran Raviv Trading Strategies using R April 02, 2012
  41. 41. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingTable of Contents 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  42. 42. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading Well known and widely used. (e.g. Statistical Arbitrage in the U.S. Equities Market, Marco Avellaneda and Jeong-Hyun Lee (2008)) Eran Raviv Trading Strategies using R April 02, 2012
  43. 43. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading Well known and widely used. (e.g. Statistical Arbitrage in the U.S. Equities Market, Marco Avellaneda and Jeong-Hyun Lee (2008)) Suitable for the conservative mind. (we see why in a minute..) Eran Raviv Trading Strategies using R April 02, 2012
  44. 44. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading Well known and widely used. (e.g. Statistical Arbitrage in the U.S. Equities Market, Marco Avellaneda and Jeong-Hyun Lee (2008)) Suitable for the conservative mind. (we see why in a minute..) Eran Raviv Trading Strategies using R April 02, 2012
  45. 45. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading (cont’d) The Idea: ra = βa rm + ea rb = βb rm + eb rab = wa (βa rm + ea ) + wb (βb rm + ea ) = rm (wa βa + wb βb ) + noise and so with weights wa = − βaβb b and wb = 1 − wa we can −β net out the market. (and other factors if you will) Eran Raviv Trading Strategies using R April 02, 2012
  46. 46. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading (cont’d) Choose symbols with similar properties. Net out the market and create the spread: # sp1 = s t o c k p r i c e 1 , g=s i z e o f moving window , # # n = l e n g t h ( sp1 ) # for ( i in g : n){ b e t 0 [ i ]=lm ( sp1 [ ( i −g+1) : ( i −1) ] ˜ sp2 [ ( i −g+1) : ( i −1) ] ) $ c o e f [ 1 ] # # n o t e −> i −1 b e t 1 [ i ]=lm ( sp1 [ ( i −g+1) : ( i −1) ] ˜ sp2 [ ( i −g+1) : ( i −1) ] ) $ c o e f [ 2 ] s p r e a d [ , i ]= sp1 [ ( i −g+1) : i ]− r e p ( b e t 0 [ i ] , g )−b e t 1 [ i ] * sp2 [ ( i −g+1) : i ] } Text book example (actually from: Quantitative Trading: How to Build Your Own Algorithmic Trading Business ) Eran Raviv Trading Strategies using R April 02, 2012
  47. 47. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading (cont’d) Choose symbols with similar properties. Net out the market and create the spread: # sp1 = s t o c k p r i c e 1 , g=s i z e o f moving window , # # n = l e n g t h ( sp1 ) # for ( i in g : n){ b e t 0 [ i ]=lm ( sp1 [ ( i −g+1) : ( i −1) ] ˜ sp2 [ ( i −g+1) : ( i −1) ] ) $ c o e f [ 1 ] # # n o t e −> i −1 b e t 1 [ i ]=lm ( sp1 [ ( i −g+1) : ( i −1) ] ˜ sp2 [ ( i −g+1) : ( i −1) ] ) $ c o e f [ 2 ] s p r e a d [ , i ]= sp1 [ ( i −g+1) : i ]− r e p ( b e t 0 [ i ] , g )−b e t 1 [ i ] * sp2 [ ( i −g+1) : i ] } Text book example (actually from: Quantitative Trading: How to Build Your Own Algorithmic Trading Business ) The GLD and GDX spread Eran Raviv Trading Strategies using R April 02, 2012
  48. 48. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading (cont’d) The GLD and GDX spread: Eran Raviv Trading Strategies using R April 02, 2012
  49. 49. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading Issues Estimation of the market neutral portfolio is tricky: Price levels or price changes? Eran Raviv Trading Strategies using R April 02, 2012
  50. 50. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading Issues Estimation of the market neutral portfolio is tricky: Price levels or price changes? Stability over time Eran Raviv Trading Strategies using R April 02, 2012
  51. 51. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs Trading Issues Estimation of the market neutral portfolio is tricky: Price levels or price changes? Stability over time Errors on both sides. (both y and x are measured with errors) Eran Raviv Trading Strategies using R April 02, 2012
  52. 52. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading issues Stability over time: Eran Raviv Trading Strategies using R April 02, 2012
  53. 53. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading issues Errors on both sides: sta = αstb + ea stb = βsta + eb 1 α = β ⇓ Portfolio is different and will depend on which instrument goes on the LHS and which on the RHS. Eran Raviv Trading Strategies using R April 02, 2012
  54. 54. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading - possible solutions Price levels or price changes? Eran Raviv Trading Strategies using R April 02, 2012
  55. 55. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading - possible solutions Price levels or price changes? flip a coin (solid option) average the estimates Eran Raviv Trading Strategies using R April 02, 2012
  56. 56. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading - possible solutions Price levels or price changes? flip a coin (solid option) average the estimates Eran Raviv Trading Strategies using R April 02, 2012
  57. 57. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading - possible solutions (cont’d) Stability over time Eran Raviv Trading Strategies using R April 02, 2012
  58. 58. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading - possible solutions (cont’d) Stability over time Choose window length that fits your style, the shorter the more you trade. Recent paper (though in different context) suggests to average estimates across different windows to partially hedge out uncertainty. (M. Hashem Pesaran, Andreas Pick. Journal of Business and Economic Statistics. April 1, 2011) Kalman filter the coefficients. Eran Raviv Trading Strategies using R April 02, 2012
  59. 59. introduction Sign Prediction Connection and data Filtering The quest Time Series Analysis Final Comments Pairs TradingPairs trading - possible solutions (cont’d) Errors on both sides, two highly correlated possible solutions: Demming regression (1943). (Total least squares - just minimize numerically both sides simultaneously) Geometric Mean Regression - force coherence through: sta = αstb + ea stb = βsta + eb 1 γ = α× β Eran Raviv Trading Strategies using R April 02, 2012
  60. 60. introduction Connection and data The quest Final CommentsOutline for section 4 1 introduction 2 Connection and data 3 The quest Sign Prediction Filtering Time Series Analysis Pairs Trading 4 Final Comments Eran Raviv Trading Strategies using R April 02, 2012
  61. 61. introduction Connection and data The quest Final CommentsMiscellaneous remarks Trading costs!, consider it when backtesting. Eran Raviv Trading Strategies using R April 02, 2012
  62. 62. introduction Connection and data The quest Final CommentsMiscellaneous remarks Trading costs!, consider it when backtesting. You cannot be too careful, stay pessimistic. Eran Raviv Trading Strategies using R April 02, 2012
  63. 63. introduction Connection and data The quest Final CommentsMiscellaneous remarks Trading costs!, consider it when backtesting. You cannot be too careful, stay pessimistic. Adopt rigorous robustness checks, different instruments, different time frames and even different markets. Eran Raviv Trading Strategies using R April 02, 2012
  64. 64. introduction Connection and data The quest Final CommentsMiscellaneous remarks Trading costs!, consider it when backtesting. You cannot be too careful, stay pessimistic. Adopt rigorous robustness checks, different instruments, different time frames and even different markets. Use paper money for at least a full quarter, it will help you handle operational problems. (e.g. outages and time zones issues) Eran Raviv Trading Strategies using R April 02, 2012
  65. 65. introduction Connection and data The quest Final CommentsMiscellaneous remarks Trading costs!, consider it when backtesting. You cannot be too careful, stay pessimistic. Adopt rigorous robustness checks, different instruments, different time frames and even different markets. Use paper money for at least a full quarter, it will help you handle operational problems. (e.g. outages and time zones issues) It is (very) stressing work, know it before you start. Eran Raviv Trading Strategies using R April 02, 2012
  66. 66. introduction Connection and data The quest Final CommentsMiscellaneous remarks Trading costs!, consider it when backtesting. You cannot be too careful, stay pessimistic. Adopt rigorous robustness checks, different instruments, different time frames and even different markets. Use paper money for at least a full quarter, it will help you handle operational problems. (e.g. outages and time zones issues) It is (very) stressing work, know it before you start. Know what you are doing, what is your edge? why it is (not) there? Eran Raviv Trading Strategies using R April 02, 2012
  67. 67. introduction Connection and data The quest Final Comments THANKSand good luck at the tables..Eran Raviv Trading Strategies using R April 02, 2012

×