Advertisement
Guest User

PairTrading

a guest
Mar 18th, 2013
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.28 KB | None | 0 0
  1. #/////////////////////////////////////////////////////////////////
  2. #                                                  
  3. #                           PairTrading                                      
  4. #                                                                  
  5. #/////////////////////////////////////////////////////////////////
  6.  
  7.  
  8.  
  9. ##--richiamiamo le librerie
  10.  
  11.     require(quantmod)
  12.     require(PerformanceAnalytics)
  13.  
  14. ##--download storici strumenti finanziari
  15.  
  16.     getSymbols("^GSPC;^VIX", from="1990-01-01")
  17.  
  18. ##--trasformiamo i dati weekly e sincronizziamoli
  19.  
  20.     xx <- na.omit(merge(to.weekly(GSPC),to.weekly(VIX)))
  21.  
  22. ##--rapporto tra i prezzi degli strumenti finanziari
  23.    
  24.     rap <- xx[,6]/xx[,12]
  25.  
  26. ##--indaghiamo se il rapporto ha remota possibilità di essere mean-reverting
  27.  
  28.     table.Autocorrelation(diff(rap))
  29.  
  30.  
  31. ##--il primo termine dell'ACF è negativo, incrociamo le dita calcoliamo i return
  32.  
  33.     retGSPC <- log(xx[,6]/lag(xx[,6]))
  34.     retVIX <- log(xx[,12]/lag(xx[,12]))
  35.  
  36. ##--vettore dei rendimenti pairtrading
  37.    
  38.     ret <- ifelse(lag(rap)>lag(rap,2),0.5*(retVIX-retGSPC),0)
  39.     ret <- ifelse(lag(rap)<lag(rap,2),0.5*(retGSPC-retVIX),ret)
  40.  
  41. ##--performance
  42.    
  43.     charts.PerformanceSummary(ret,ylog=TRUE,main="PairTrading",colorset="red")
  44.     table.AnnualizedReturns(ret)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement