Últimas entradas de Victor A.Rico (ver todo)
- Medidas de Forma : Asimetría - enero 3, 2025
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
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