CREAR un sistema de Arbitraje Estadístico en Forex con Cointegración

Una de las formas en las que podemos crear un sistema de Arbitraje Estadístico para hacer trading cuantitativo en Forex es mediante La técnica de #Cointegración. Este método consiste en buscar relaciones estadísticas ente los diferentes pares de divisas, con el objetivo de ver si existen desequilibrios entre ellas. En este video explico como se hace de forma práctica este sistema ayudándonos de Rstudio para hacer los ejemplos

CÓDIGO EN R DEL VÍDEO

################################
##### MÉTODO DE COINTEGRACIÓN ######

#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)

getSymbols(«EURUSD=X»,src=»yahoo»,from = «2014-06-04»)
EURUSD= `EURUSD=X`[,4]
EURUSD<-na.omit(data.frame(EURUSD))
EUR<- EURUSD$EURUSD.X.Close
getSymbols(«USDCHF=X»,src=»yahoo»,from = «2014-06-04»)
USDCHF= `USDCHF=X`[,4]
USDCHF= na.omit(data.frame(USDCHF))
CHF= (USDCHF$USDCHF.X.Close)

# 1 series

y = (CHF)
plot(y,type=»l»)
x = (EUR)
plot(x,type=»l»)

library(tseries)

## MODELO DE REGRESIÓN COINTEGRACION PARA 2 ACTIVOS

modelo=lm(y~x) # regresión lineal
beta=coef(modelo) # sacamos betas
beta

# SACAMOS LOS RESIDUOS DEL MODELO

res<-residuals(modelo)
res1<-data.frame(res)
res1

# TEST PARA COMPROBAR ESTACIONARIEDAD

adf.test(res1$res)
#p-value = 0.01

# paso 4 CREAMOS EL SPREAD

pendient =x*beta[2]+beta[1]
spread=pendient-y

plot(spread,type=»l»)

# DIBUJAMOS DESVIACIONES PARA PUNTOS DE ENTRADA

media = mean(spread)
desv = sd(spread)

sd1 = media + desv
sd11 = media – desv
sd2= media + 2*desv
sd22= media- 2*desv

plot(spread,type=»l»)

abline(media,0,col=»blue»)
abline(sd1,0,col=»red»)
abline(sd11,0,col=»red»)
abline(sd2,0,col=»green»)
abline(sd22,0,col=»green»)

beta
-0.2873457

#comprar de x vender y
# vender 1

#de x venderiamos 0.28

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio