Segundas reflexiones sobre COINTEGRACION...
Re: Segundas reflexiones sobre COINTEGRACION...
Ok IaM , hoy continuo con mis dos parejas , una de ellas es la misma que la tuya ANA/IBR , he abierto dos nuevos pares en el dax ya os contare , el problema que tengo y espero que me ayudes es cuando parar, tomo todos los dias los parametros de Aris pero no encuentro aun cuando debo deshacer posiciones, no obstante esto tiene muy buena pinta.A diferencia de ti, no me preocupo de saber cual acción esta detras de cointegración me da igual de momento.
Re: Segundas reflexiones sobre COINTEGRACION...
Solo escribió:Ok IaM , hoy continuo con mis dos parejas , una de ellas es la misma que la tuya ANA/IBR , he abierto dos nuevos pares en el dax ya os contare , el problema que tengo y espero que me ayudes es cuando parar, tomo todos los dias los parametros de Aris pero no encuentro aun cuando debo deshacer posiciones, no obstante esto tiene muy buena pinta.A diferencia de ti, no me preocupo de saber cual acción esta detras de cointegración me da igual de momento.

En lo de cuanto parar, el autor que escribió el libro de la cointegración, ese en el que se inspirará x-trader para nuevos artículos, dice que hay que parar cuando llegue a -1 desviaciones estándar. Creo que lo normal es entre -1 y 1 desviación estándar. Puede llegar a 0. Guevon comentaba de esperar a que llegue a +2 desviaciones de nuevo y volver ponerte a corto en el par. ¿Qué opinas?
Es más importante saber cuando salir que cuando entrar no crees?
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Re: Segundas reflexiones sobre COINTEGRACION...
Ayyyy...
Yo tambien, estoy en ese dilema, cuando salirme!, es tremendamente dificil, el miedo y la codicia aparecen a la vez, al final... el mercado es una mezcla de sentimientos (miedosos y codiciosos).
En tu caso, si has descubierto algun par cointegrado, lo mejor que puedes hacer es, si estas completamente seguro de que lo estan, es hacer lo que yo dije, esperar a que se den la vuelta en el ciclo de cointegracion, y apostar al reverse en ese momento, y...
si, como ahora, encima aumentan las desviaciones, pues aumentar la apuesta (como hacen los jugadores), asi ganaras mucho mas con menor riesgo, bueno, aumentar no, puedes apostar la mitad mas, asi tienes (si estan cointegrados y superan las 2,5 desviaciones) un 95% o mas, de posibilidades de acertar...
Tu mismo.
Algun dia ya recurrire a tus conocimientos matematicos para un sistema que estoy desarrollando (no tiene nada que ver con la escalera), va sobre las mechas de las velas... y es matematico, parece increible.
Se basa, en que nosotros apostamos sobre los cuerpos de las velas, pero las mechas nos dan la direcion, cuando este mas inspirado y hablador ya lo comentare.
S2.
Yo tambien, estoy en ese dilema, cuando salirme!, es tremendamente dificil, el miedo y la codicia aparecen a la vez, al final... el mercado es una mezcla de sentimientos (miedosos y codiciosos).
En tu caso, si has descubierto algun par cointegrado, lo mejor que puedes hacer es, si estas completamente seguro de que lo estan, es hacer lo que yo dije, esperar a que se den la vuelta en el ciclo de cointegracion, y apostar al reverse en ese momento, y...
si, como ahora, encima aumentan las desviaciones, pues aumentar la apuesta (como hacen los jugadores), asi ganaras mucho mas con menor riesgo, bueno, aumentar no, puedes apostar la mitad mas, asi tienes (si estan cointegrados y superan las 2,5 desviaciones) un 95% o mas, de posibilidades de acertar...
Tu mismo.
Algun dia ya recurrire a tus conocimientos matematicos para un sistema que estoy desarrollando (no tiene nada que ver con la escalera), va sobre las mechas de las velas... y es matematico, parece increible.
Se basa, en que nosotros apostamos sobre los cuerpos de las velas, pero las mechas nos dan la direcion, cuando este mas inspirado y hablador ya lo comentare.
S2.
Re: Segundas reflexiones sobre COINTEGRACION...
Hola guevon,
da gusto oirte de nuevo. Hoy ya no pierdo nada con mi nuevo par. Es increible! estan a la par. Gano 2 eurillos.
. 25,73%
. Bueno paciencia, siempre paper y sin prisa. El mercado siempre va a estar ahí. Cuando te apetezca pues das los detalles de ese sistemilla y miraremos de programarlo entre todos.
Al final tendré que pillarme un buen libro de matlab.
da gusto oirte de nuevo. Hoy ya no pierdo nada con mi nuevo par. Es increible! estan a la par. Gano 2 eurillos.


Al final tendré que pillarme un buen libro de matlab.
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Re: Segundas reflexiones sobre COINTEGRACION...
El concepto de cointegracion, para mi, lo mas importante, es lo que yo comente la primera vez.
Si realmente algo esta cointegrado... entonces es "causal"... y, si al Sr. Grunger o Granger, no se como se dice, pero da igual, le dieron el premio Nobel, fue, porque dio por primera vez unas "formulas" o "metodos" para descubrir entre dos series de datos numericas y cuantitativas, una relacion de "causalidad", solamente diferenciada en sus periodos de oscilacion.
De este pensamiento se deduce que... una parte, o bien, el todo, de la oscilacion de una de las series, es "causa" del efecto del movimiento u oscilacion de la otra.
Este Sr., lo unico (y bastante) que hizo fue orientar, en como comprobar matematicamente eso mismo...
Lo que no dijo, este Sr., es... como calcular el "efecto" causado ni cual de las dos series es la "causa".
Yo, en lo que estudie de econometria y estadistica (hace muchisimo tiempo), ese problema seguia vigente, e incluso, los mas listos de entonces no sabian como abordarlo.
Ten en cuenta que si supieramos lo que estoy diciendo, y descubrieramos dos series de valores cointegrados, hasta podriamos llegar a decir cuando uno de ellos se mueve, cuanto se movera el otro, seria la panacea... oh no?...
...
Sobre el otro tema, el de las mechas de las velas, estoy observando, solamente observando (puesto que no se programar), que... en cualquier periodo de tiempo en que nos fijemos (hora, 4h, 8h, dia, semana etc...), el valor de las mechas de las velas (en relacion al cuerpo) se dispara en direccion contraria al futuro valor del precio.
No vale hacerlo con una o dos velas o con un solo periodo, sino, hacerlo, en conjunto con todos los periodos posibles.
En una palabra, el precio va corrigiendo (como debe de ser), sus propias imperfeciones.
Puesto que todos sabemos que la composicion de valor de cualquier vela es 1/4 cada mecha y 1/2 el cuerpo, contando la amplitud total de la vela media.
Cuando estos valores en todos los periodos se disparan de una forma o de otra, es tiempo de apostar al contrario.
En fin, otro dia me explicare con mas amplitud, pero como esto lo puedo hacer en excel, ahi estoy.
Un saludo.
Si realmente algo esta cointegrado... entonces es "causal"... y, si al Sr. Grunger o Granger, no se como se dice, pero da igual, le dieron el premio Nobel, fue, porque dio por primera vez unas "formulas" o "metodos" para descubrir entre dos series de datos numericas y cuantitativas, una relacion de "causalidad", solamente diferenciada en sus periodos de oscilacion.
De este pensamiento se deduce que... una parte, o bien, el todo, de la oscilacion de una de las series, es "causa" del efecto del movimiento u oscilacion de la otra.
Este Sr., lo unico (y bastante) que hizo fue orientar, en como comprobar matematicamente eso mismo...
Lo que no dijo, este Sr., es... como calcular el "efecto" causado ni cual de las dos series es la "causa".
Yo, en lo que estudie de econometria y estadistica (hace muchisimo tiempo), ese problema seguia vigente, e incluso, los mas listos de entonces no sabian como abordarlo.
Ten en cuenta que si supieramos lo que estoy diciendo, y descubrieramos dos series de valores cointegrados, hasta podriamos llegar a decir cuando uno de ellos se mueve, cuanto se movera el otro, seria la panacea... oh no?...
...
Sobre el otro tema, el de las mechas de las velas, estoy observando, solamente observando (puesto que no se programar), que... en cualquier periodo de tiempo en que nos fijemos (hora, 4h, 8h, dia, semana etc...), el valor de las mechas de las velas (en relacion al cuerpo) se dispara en direccion contraria al futuro valor del precio.
No vale hacerlo con una o dos velas o con un solo periodo, sino, hacerlo, en conjunto con todos los periodos posibles.
En una palabra, el precio va corrigiendo (como debe de ser), sus propias imperfeciones.
Puesto que todos sabemos que la composicion de valor de cualquier vela es 1/4 cada mecha y 1/2 el cuerpo, contando la amplitud total de la vela media.
Cuando estos valores en todos los periodos se disparan de una forma o de otra, es tiempo de apostar al contrario.
En fin, otro dia me explicare con mas amplitud, pero como esto lo puedo hacer en excel, ahi estoy.
Un saludo.
Re: Segundas reflexiones sobre COINTEGRACION...
Estoy perdiendo 120 euros. Un 3%. Estoy alucinando por que el par "misteriosamente" ha desaparecido de la herramienta, supongo que ha dejado de estar cointegrado. Será momento de salir, imagino.
Perdón me he equivocado, siguen estando cointegrados pero en la apertura. Es raro... que diferencia hay en estar cointegrado en la apertura? cierre? Mínimo o máximo?. Lo que he notado es que cunado abre el mercado (en este caso la apertura, los pares tienden a retornar a la media en ese instante. Imagino que cuando está cointegrado en el cierre, es al revés, los pares tenderán a la media en el cierre.
.
Perdón me he equivocado, siguen estando cointegrados pero en la apertura. Es raro... que diferencia hay en estar cointegrado en la apertura? cierre? Mínimo o máximo?. Lo que he notado es que cunado abre el mercado (en este caso la apertura, los pares tienden a retornar a la media en ese instante. Imagino que cuando está cointegrado en el cierre, es al revés, los pares tenderán a la media en el cierre.

Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Re: Segundas reflexiones sobre COINTEGRACION...
IaM lo de apertura, máximo, mínimo o cierre simplemente se refiere a los campos del precio que toma de Yahoo! para hacer los cálculos. Y si somos puristas, realmente deberíamos tomar en cuenta únicamente los cierres.IaM escribió:Estoy perdiendo 120 euros. Un 3%. Estoy alucinando por que el par "misteriosamente" ha desaparecido de la herramienta, supongo que ha dejado de estar cointegrado. Será momento de salir, imagino.
Perdón me he equivocado, siguen estando cointegrados pero en la apertura. Es raro... que diferencia hay en estar cointegrado en la apertura? cierre? Mínimo o máximo?. Lo que he notado es que cunado abre el mercado (en este caso la apertura, los pares tienden a retornar a la media en ese instante. Imagino que cuando está cointegrado en el cierre, es al revés, los pares tenderán a la media en el cierre..
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: Segundas reflexiones sobre COINTEGRACION...
Ya, ya se qson los valores qtoma de yahoo. Pero fijate antes de ayer perdia algo. Cuando abrio al dia siguiente gane en la apertura. Ayer cerro y acabe perdiendo tb. Pero estoy seguro qcuando abra esta tarde usa volvere a ganar por q regresaran a la mediaX-Trader escribió:IaM lo de apertura, máximo, mínimo o cierre simplemente se refiere a los campos del precio que toma de Yahoo! para hacer los cálculos. Y si somos puristas, realmente deberíamos tomar en cuenta únicamente los cierres.IaM escribió:Estoy perdiendo 120 euros. Un 3%. Estoy alucinando por que el par "misteriosamente" ha desaparecido de la herramienta, supongo que ha dejado de estar cointegrado. Será momento de salir, imagino.
Perdón me he equivocado, siguen estando cointegrados pero en la apertura. Es raro... que diferencia hay en estar cointegrado en la apertura? cierre? Mínimo o máximo?. Lo que he notado es que cunado abre el mercado (en este caso la apertura, los pares tienden a retornar a la media en ese instante. Imagino que cuando está cointegrado en el cierre, es al revés, los pares tenderán a la media en el cierre..
Saludos,
X-Trader

Lo que observado es qtoma los numeros de las barras para mirar si hay cointegracion... entonces se me ocurre q se podrian tomar mas valores a parte del max min y cierre como por ejemplo los cierres de la tercera barra del dia de cada valor.
Otra cosa qtb se me ocurre es... solo lo hemos hecho con dos valores... se podria hacer con tres? Con cuatro?
Quiero añadirle mas mercados indices etc al programa ese a ver si aris se anima a compartir el codigo fuente
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
-
- Mensajes: 17
- Registrado: 14 Ene 2011 22:45
Re: Segundas reflexiones sobre COINTEGRACION...
IAM, creo que tengo lo que buscas... pero antes de nada necesito que alguien me explique como puedo compartir archivos pesados y si existe algún sistema sencillo para colgar imágenes directamente en el foro.
Re: Segundas reflexiones sobre COINTEGRACION...
mmm utiliza http://www.megaupload.com lo subes ahí y cuelgas el enlace
, te sale y solo tienes que hacer copiar y pegar.
Para colgar imagenes utiliza esto: imageshack.us subes las imagens ahi y luego compartes el enlace, lo pones en el foro.

Para colgar imagenes utiliza esto: imageshack.us subes las imagens ahi y luego compartes el enlace, lo pones en el foro.
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Re: Segundas reflexiones sobre COINTEGRACION...
Codigo en R para comprobar si dos valores están cointegrados (llevo toda la tarde, no quisiera perder el trabajo, y el foro es un buen backup!):
library(zoo)
library(tseries)
cat("Loading Consumer Good Values...\n")
rio <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cun <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cfg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
nat <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pat <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pva <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sos <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
vis <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ido <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
prim <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
psg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fun <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Financial Industries Values...\n")
gui <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pas <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pop <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sab <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bva <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bto <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bkt <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bbva <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
gco <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
map <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
r4 <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
san <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
alb <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
din <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cri <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bme <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Communication and TV Groups...\n")
a3teu <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibla <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
prs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tl5 <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
voc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
vlg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Construction Group...\n")
abe <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ana <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
acs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cpl <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fcc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fer <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ohl <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ura <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Distribution Group...\n")
adz <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
itx <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
dgi <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tvx <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading electrical Companys...\n")
eng <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ele <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibe <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ree <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibr <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
frs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Real State Companys...\n")
nye <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
col <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mvc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mtb <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
rlia <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ren <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
syv <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
stg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tst <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ubs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Metallurgical Companys...\n")
acx <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
azk <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
caf <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cie <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mdf <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
znc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
gam <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
galq <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
lgt <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
nea <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tub <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tud <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
zot <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mts <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading New Technlogies Group...\n")
abg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
amp <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bma <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ead <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
eno <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
idr <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
jaz <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ntc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sps <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tef <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
zel <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Chemical-Petroleum Group...\n"
bay <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cep <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
enc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ecr <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pac <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fae <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
grf <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sed <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mcm <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
rdm <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
rep <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
snc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
upl <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tre <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
derm <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
vdi <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Turistic Hotels Group...\n")
ama <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
nhh <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sol <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat ("Loading Funerarium Group...\n")
fun <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cointegracion <- function (stock1, stock2)
{
stock1 <- zoo(stock1[,7], as.Date(stock1[,1]))
stock2 <- zoo(stock2[,7], as.Date(stock2[,1]))
t.zoo <- merge(stock1, stock2, all=FALSE)
t <- as.data.frame(t.zoo)
cat("Date range is", format(start(t.zoo)), "to", format(end(t.zoo)), "\n")
m <- lm(stock1 ~ stock2 + 0, data=t)
beta <- coef(m)[1]
cat("Assumed hedge ratio is", beta, "\n")
sprd <- t$stock1 - beta*t$stock2
ht <- adf.test(sprd, alternative="stationary", k=0)
cat("ADF p-value is", ht$p.value, "\n")
if (ht$p.value < 0.05) {
cat("The spread is likely mean-reverting\n")
} else {
cat("The spread is not mean-reverting.\n")
}
}
cointegracion(ana, ibr)
library(zoo)
library(tseries)
cat("Loading Consumer Good Values...\n")
rio <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cun <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cfg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
nat <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pat <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pva <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sos <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
vis <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ido <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
prim <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
psg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fun <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Financial Industries Values...\n")
gui <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pas <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pop <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sab <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bva <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bto <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bkt <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bbva <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
gco <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
map <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
r4 <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
san <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
alb <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
din <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cri <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bme <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Communication and TV Groups...\n")
a3teu <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibla <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
prs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tl5 <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
voc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
vlg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Construction Group...\n")
abe <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ana <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
acs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cpl <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fcc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fer <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ohl <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ura <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Distribution Group...\n")
adz <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
itx <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
dgi <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tvx <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading electrical Companys...\n")
eng <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ele <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibe <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ree <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibr <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
frs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Real State Companys...\n")
nye <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
col <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mvc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mtb <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
rlia <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ren <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
syv <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
stg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tst <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ubs <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Metallurgical Companys...\n")
acx <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
azk <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
caf <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cie <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mdf <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
znc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
gam <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
galq <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
lgt <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
nea <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tub <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tud <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
zot <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mts <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading New Technlogies Group...\n")
abg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
amp <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
bma <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ead <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
eno <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
idr <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
jaz <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ntc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sps <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tef <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
zel <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Chemical-Petroleum Group...\n"
bay <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cep <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
enc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ecr <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
pac <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
fae <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
grf <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
ibg <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sed <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
mcm <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
rdm <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
rep <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
snc <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
upl <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
tre <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
derm <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
vdi <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat("Loading Turistic Hotels Group...\n")
ama <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
nhh <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
sol <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cat ("Loading Funerarium Group...\n")
fun <- read.csv("http://ichart.finance.yahoo.com/table.c ... gnore=.csv")
cointegracion <- function (stock1, stock2)
{
stock1 <- zoo(stock1[,7], as.Date(stock1[,1]))
stock2 <- zoo(stock2[,7], as.Date(stock2[,1]))
t.zoo <- merge(stock1, stock2, all=FALSE)
t <- as.data.frame(t.zoo)
cat("Date range is", format(start(t.zoo)), "to", format(end(t.zoo)), "\n")
m <- lm(stock1 ~ stock2 + 0, data=t)
beta <- coef(m)[1]
cat("Assumed hedge ratio is", beta, "\n")
sprd <- t$stock1 - beta*t$stock2
ht <- adf.test(sprd, alternative="stationary", k=0)
cat("ADF p-value is", ht$p.value, "\n")
if (ht$p.value < 0.05) {
cat("The spread is likely mean-reverting\n")
} else {
cat("The spread is not mean-reverting.\n")
}
}
cointegracion(ana, ibr)
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Re: Segundas reflexiones sobre COINTEGRACION...
> cointegracion(ana,ibr)
Date range is 2009-01-29 to 2011-01-28
Assumed hedge ratio is 25.61127
ADF p-value is 0.02074943
The spread is likely mean-reverting
>

Date range is 2009-01-29 to 2011-01-28
Assumed hedge ratio is 25.61127
ADF p-value is 0.02074943
The spread is likely mean-reverting
>

Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Re: Segundas reflexiones sobre COINTEGRACION...
Los que hacen este metodo recomiendan el adjusted close ya que toma encuenta el dividendo.
Re: Segundas reflexiones sobre COINTEGRACION...
IaM escribió:Ya, ya se qson los valores qtoma de yahoo. Pero fijate antes de ayer perdia algo. Cuando abrio al dia siguiente gane en la apertura. Ayer cerro y acabe perdiendo tb. Pero estoy seguro qcuando abra esta tarde usa volvere a ganar por q regresaran a la mediaX-Trader escribió:IaM lo de apertura, máximo, mínimo o cierre simplemente se refiere a los campos del precio que toma de Yahoo! para hacer los cálculos. Y si somos puristas, realmente deberíamos tomar en cuenta únicamente los cierres.IaM escribió:Estoy perdiendo 120 euros. Un 3%. Estoy alucinando por que el par "misteriosamente" ha desaparecido de la herramienta, supongo que ha dejado de estar cointegrado. Será momento de salir, imagino.
Perdón me he equivocado, siguen estando cointegrados pero en la apertura. Es raro... que diferencia hay en estar cointegrado en la apertura? cierre? Mínimo o máximo?. Lo que he notado es que cunado abre el mercado (en este caso la apertura, los pares tienden a retornar a la media en ese instante. Imagino que cuando está cointegrado en el cierre, es al revés, los pares tenderán a la media en el cierre..
Saludos,
X-Trader.
Lo que observado es qtoma los numeros de las barras para mirar si hay cointegracion... entonces se me ocurre q se podrian tomar mas valores a parte del max min y cierre como por ejemplo los cierres de la tercera barra del dia de cada valor.
Otra cosa qtb se me ocurre es... solo lo hemos hecho con dos valores... se podria hacer con tres? Con cuatro?
Quiero añadirle mas mercados indices etc al programa ese a ver si aris se anima a compartir el codigo fuente
Seria genial lo que dices IaM que se pueda agregar a voluntad cualquier mercado del mundo y no lo equities y que sea en tiempo real!!!...
Re: Segundas reflexiones sobre COINTEGRACION...
X-Trader escribió:OK, pues estaba equivocado, parece que Aris directamente normaliza el spread respecto a su media con lo cual no es necesario calcular desviaciones típicas, sino directamente mirar al valor del ZScore. Sería interesante saber qué media y desviación típica utiliza para normalizar los datos. Al final voy a tener que escribir yo también a este buen hombre![]()
Saludos (y Feliz Año),
X-Trader
Ahora mismo estoy igual... , tienes razón no se como hacer para normalizar el gráfico, por que me salen números muy altos y no en desviaciones estándar. ¿Cómo hará para que el gráfico le salga en unidades de desviaciones estándar? yo creo que debe hacer algo así:
http://office.microsoft.com/es-hn/excel ... 09273.aspx
o así:
http://books.google.es/books?id=qjK8lcj ... rt&f=false
Que rabia!! bua y que hora es xD. Lo que me da más pereza es hacer:
sd(spread)
mean(spread)
y despues ir mirando valor a valor de la serie para aplicar el Z y luego guardarla en otro lado. ¿Por que soy tan perezoso? tal vez por eso soy informático xD
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Si te ha gustado este hilo del Foro, ¡compártelo en redes!