SHARE
TWEET

PairTrading

a guest Mar 18th, 2013 296 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top