Estadística Bayesiana y Trading

🌙 Dentro de la estadística la mayoría de análisis que solemos ver son usando la rama de la estadística frecuentista o también llamada estadística clásica, que se basa generalmente en el estudio solamente de las muestras obtenidas, suponiendo que esta puede representar una realidad mayor.

📒 Pero existe también otro enfoque diferente, que es el bayesiano, donde se incorpora para el estudio estadístico también el conocimiento de expertos del tema en cuestión,combinando los datos que tenemos con las creencias subjetivas del campo analizado. Ahí es donde tenemos la principal diferencia con la estadística clásica

De modo general podemos decir que para la estadística clásica la probabilidad es un concepto objetivo que encontramos en la naturaleza, mientras que para la bayesiana es un concepto subjetivo definido por la persona que observa.

👨🏼‍💻 El enfoque bayesiano es llamado así porque se basa en el uso de probabilidades condicionales y por el famoso Teorema de Bayes.

🌠 Hay que decir que algunas técnicas muy conocidas como las Simulaciones de Montecarlo tienen su origen en este método, por lo que es algo que podemos incoporar y sacarle partido.

En este vídeo os mostraré un ejemplo creando desde 0 una estrategía de trading simple usando las probabilidades condicionales para cuantificar si el mercado puede subir o bajar. Debajo dejaré también el código en R. 🤗👇

CODIGO EN R STUDIO DEL VIDEO

#####################

#5. BAYES Y  PROBABILIDAD CONDICIONADA

#5.1 Estrategia simple de comportamiento de activo al pERIDODO SIGUIeNTE
#siguiente de un determinado evento

#install.packages("quantmod")
library(quantmod)
#install.packages("timeSeries")
library(timeSeries)

#install.packages("forecast")
library(forecast)
#install.packages("TTR")
library(TTR)


getFX("AUD/USD")
getFX("EUR/USD")
getFX("GBP/USD")

plot(EURUSD,type="l")

rEUR<- returns(EURUSD)*100
rEUR
plot(rEUR,type="l")


#sd(na.omit(rEUR))
#abline(-0.2,0)
#abline(0.2,0)


#LA PROBABILIDAD DE QUE EL MERCADO SUBA O BAJE AL DIA SIGUIENTE DE QUE EL
#EL EURUSD HAYA CAIDO POR ENCIMA DE 0.3

activo<- EURUSD



### fijas el dia que deseas o cantidad

dayt<- -0.4

##

activo<- na.omit(returns(EURUSD))
activo<-activo*100

#dayt<-tail(activo)[6]+ tail(activo)[5]+tail(activo)[4]
#dayt<- tail(activo)[6]

tf<-data.frame(activo< dayt)
plot(activo,type="l")

#reb3<-EURUSD>0.5
#reb3
#rebb<-replace(reb3,reb3==TRUE,1)
#rebb


#1 buscamos el primer numero de la primera fila --i
#fas<-(FX[FX$dat==i,])

dat<-seq(1:nrow(tf))
tfcom<-data.frame(dat,tf)
colnames(tfcom)<-c("dat","activo")

##cogemos las que cumplen la condicion

tf2<- tfcom[tfcom$activo==TRUE,]
tf2


activo<- data.frame(dat,activo)
colnames(activo)<- c("dat","activo")
activo2<- activo[activo$activo< ( dayt),]
activo2  # tabla de retornos que cumple la condicion

plot(activo2,type="l")

DAT<- activo2$dat + 1  # AL DIA SIGUIENTE
DAT
activo3<- na.omit(activo[activo2$dat + 1,])
activo3

quantile(activo3$activo,c(0.05,0.95))
hist(activo3$activo)


# muestra eurusd

muestra2 = activo3$activo
muestra2
mean(muestra2)
sum(muestra2)

#reb3<-muestra2>0.0
#reb3
#muestra<-replace(reb3,reb3==TRUE,1)
#muestra

orden<-sort(activo3$activo)
orden

orden>0

urdin1<- data.frame(orden>0)
urdin<- data.frame(urdin1)
URDIN<-urdin[urdin$orden...0==FALSE,]

length(URDIN)


dim<-length(activo3$activo)
dim

zz<- length(URDIN)

probNeg2= zz/dim
probNeg2

#0.86 PROBABILIDAD UNA VEZ EL DIA ANTERIOR CAIDO 0.3 VUELVA CAER

mediaCaida<- mean(orden[1:zz])
mediaCaida

probPos2<-1-probNeg2
probPos2

mediaSubida<- mean(orden[(zz+1):length(orden)])
mediaSubida


plot(activo,type="l")
quantile(activo$activo,c(0.05,0.95))



Enlace Página de la foto : https://lemn26.wordpress.com/2013/11/15/poison/

4 comentarios en “Estadística Bayesiana y Trading”

  1. Hola Victor! Me parece muy buena tu aportación.

    Te comento que la libreria forecast ya a dejó de recibir mantenimiento y ya no brinda soporte.

    Como alternativa te recomiendo la libreria fable.

    Adicionalmente te recomiendo también migrar a tidyquant para manipular tus datos financieros/económicos.

    1. Ahh genial. Muchas gracias. Pues no conocía tidyquant, pero lo voy a probar también porque puede ayudarme entonces. Gracias por los aportes.Me ayudará a mejorar

  2. Muy buen aporte, creo que muchas estrategias corto y largo placista se basan en esperar movimientos o condiciones extremas como rendimientos inusualmente bajos en el ejemplo que diste o Price to Earning demasiado alto en el caso de una estrategia mas a la larga. Saludos.

    1. Hola!! Pues puede ser una buena idea. Si hay un patrón en el que luego nos de una probabilidad más alta de caída o subida puede ser interesante

Deja un comentario

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

Scroll al inicio