Saltar al contenido

¿Pueden las redes bayesianas ayudarnos en nuestro trading?

    redes bayesianas portada

    A mucha gente las redes bayesianas les resultarán un concepto un poco extraño, algo que habían oído hace años pero que ahora parece que ya prácticamente nadie nombra. Es posible que el término haya caído un poco en desuso, pero aun así son la base de toda la inteligencia artificial actual.

    Siendo un concepto tan importante veo imprescindible hacer una entrada explicando que son, comprender como pueden ayudarnos a mejorar nuestro trading. Por esta razón, voy a intentar explicar qué es una red bayesiana de la forma más sencilla posible aplicándolo al trading. También con esta entrada voy a empezar una serie dedicada a la probabilidad que espero que os guste y os ayude en vuestro trading.

    Un poco de historia

    El concepto de red bayesiana surge por intentar explicar de manera sencilla un mundo tan complejo como el nuestro. Al ser el mundo tan complicado es necesario crear modelos que simplifiquen la realidad lo máximo posible para ir pudiendo resolver pequeños problemas. Estos modelos se sabe que no van a ser perfectos, debido a su simplificación de la realidad, pero son realmente útiles a la hora de tratar con problemas.

    Otro concepto que tenemos que tener en cuenta para las redes neuronales es que se tratan de modelos probabilísticos. Esto quiere decir que no nos van a decir una salida precisa (tipo blanco o negro), sino que nos van a dar las probabilidades de que esa salida se de (por ejemplo, un 80% de que sea blanco). Con esto ya podremos hacer múltiples razonamientos sobre variables y de esta forma tomar decisiones, hacer una predicción o cualquier cosa que se nos ocurra.

    Rredesneuronalesgrafos

    Para definir la realidad para que una red bayesiana la pueda entender utilizaremos los tan conocidos grafos. Mediante los grafos (en este caso dirigidos) seremos capaces de decirle a la red neuronal cual es la relación entre las diferentes variables dentro de la red.

    La regla de la cadena

    El concepto que una variable sea independiente de otra o no ha sido muy importante a la hora de pensar en este tipo de redes. Cuando se empezaron a pensar las redes neuronales la potencia de cálculo que se necesitaba para realizar los cálculos era impresionante. ¿Por qué? Porque pensar en todas las varibles y las relaciones que había entre todas ellas suponía muchísimo tiempo de computación. Pero hubo un concepto que lo simplificó todo la regla de la cadena.

    Esta regla dice lo siguiente: La probabilidad de que se de un suceso A cuando se ha dado B, es la mísma de que se de A cuando A y B son independientes. Es decir:

    (1)   \begin{equation*} P(A \rvert B) = P(A) \end{equation*}

    O lo que es lo mismo que da igual lo que pase en B si son independientes, la probabilidad de que pase A solo depende de ella misma.

    Por esto mismo, cuando tenemos una probabilidad conjunta P(A ∩ B) se dará lo siguiente:

    (2)   \begin{equation*} P(A \cap B) = P(A \rvert B) · P(B) = P(A) · P(B) \end{equation*}

    es decir que la probabilidad de que se de den A y B a la vez es igual al producto de las probabilidades.

    Después de ver todo esto podemos decir que la regla de la cadena quedaría así:

    (3)   \begin{equation*} P \lbrace A_{1}\cap ... \cap A_{n}\rbrace = \prod_{i=1}^{n} \left ( A_{i} \rvert \bigcap_{j=1}^{i}A_{j} \right ) \end{equation*}

    Esto posibilitó que se redujera enormemente el tiempo necesario para calcular las probabilidades de un sistema. En el ejemplo de más adelante lo veremos con más detalle

    Planificando la red bayesiana

    Para dibujar la red bayesiana, como hemos dicho antes, se hará a través de grafos. Cada uno de estos grafos estará compuestos por nodos y por arcos.

    Un nodo será la variable que tendremos dentro de la red bayesiana, y que podrá tener tanto valores discretos como continuos. También tendrá asociada una tabla de distribución condicional que representa cual será su valor dado el estado de las variables que apuntan hacía él.

    tabla de distribucion condicional

    ¿Qué quiero decir con que apuntan hacía él? Pues que tienen arcos dirigidos cuya flecha apunta hacía él de forma directa. Estos arcos solo se dibujan si son significativos, por lo que si una variable tiene poca influencia en otra es mejor no dibujarla por simplificar la red bayesiana (y simplificar los cálculos, claro)

    Independencia condicional

    La independencia total de dos variables es algo muy raro. Si nos paramos a pensar, cualquier hecho que pueda suceder dentro de un sistema es normal que influya en algo al resto de variables, pero si la dependencia es muy pequeña tiende a desestimarse y es entonces cuando hablamos de independencia condicional.

    La independencia condicional, es decir que un sistema influye en el otro bajo ciertas condiciones, es algo que nos permite simplificar mucho los cálculos. Por ejemplo podemos decir que:

    Si A y C son independientes:

    (4)   \begin{equation*} P(A|B, C) = P(A|B) \end{equation*}

    Si A y B son independientes:

    (5)   \begin{equation*} P(A,B|C) = P(A|C) \cdot P(B|C) \end{equation*}

    Creando una red para nuestro trading

    Vamos a crear una caso muy simple para entender las redes bayesianas desde el punto de vista del trading. Viendo este caso vamos a entender dos cosas:

    • Lo compleja que puede llegar a ser una red bayesiana, y por tanto sus cálculos.
    • La importancia del diseño de la red neuronal.

    Diseño

    Vamos a imaginar que queremos hacer una red neuronal que: con la estrategia del RSI junto con el indicador estocástico, además de encontrarnos una vela de tipo Hammer, nos indique sí deberíamos hacer una compra o no.

    Para esto nuestros nodos van a ser los siguientes:

    • R: Valor de RSI, será R cuando sea mayor de 30 y ¬R cuando sea menor de 30.
    • E: Estocástico, será E cuando sea mayor de 30 y ¬E cuando sea menor de 30.
    • V: Vela, será V cuando la vela sea de tipo ascendente y ¬V cuando sea de tipo descendente.
    • C: Compra, Será C cuando deberíamos comprar y ¬C cuando no deberíamos hacerlo.

    Y nuestro grafo será así:

    red bayes trading 3

    Análisis

    Si quisiéramos saber si deberíamos comprar, si tenemos una vela descendetente, el RSI por debajo de 30 y el estocástico también por debajo de 30 sería así:

    (6)   \begin{equation*} \begin{split} P(C\;  V \neg{R} \neg{E}) = P(C \rvert V \neg{R} \neg{E}) \cdot P(V \neg{R} \neg{E}) =\\ P(C \rvert V \neg{R} \neg{E})\cdot P(V \rvert \neg{R} \neg{E}) \cdot P(\neg{R} \neg{E}) =\\  P(C \rvert V \neg{R} \neg{E})\cdot P(V \rvert \neg{R} \neg{E}) \cdot P(\neg{R} \rvert \neg{E}) \cdot P(\neg{E}) \end{split} \end{equation*}

    Así vemos lo complicada que es la fórmula cuando solo tenemos 4 variables. Imaginar si quisieramos meter muchos más datos esto sería un caos para nosotros y muchísimo tiempo de computación. Pero gracias a la redes bayesinas de la cadena esto se puede simplificar mucho.

    Lo que dice Bayes es que nos olvidemos de las probabilidades que solo poner las que realmente van a influir sobre la variable final. Con lo que nuestra fórmula anterior quedaría así:

    (7)   \begin{equation*} P(C\;  V \neg{R} \neg{E}) = P(C \rvert V) \cdot P(V \rvert \neg{R} \neg{E}) \cdot P(\neg{R}) \cdot P(\neg{E}) \end{equation*}

    Mucho más fácil de ver y de entender ¿no? Si quisiéramos pasar esto a cálculos numéricos solo tendríamos que cambiar los valores por los correspondientes y hacer el cálculo:

    (8)   \begin{equation*} P(C\;  V \neg{R} \neg{E}) = 0.96 \cdot 0.38 \cdot 0.90 \cdot 0.30 = 0.0984 \end{equation*}

    Con esto podemos decir que la posibilidad de que se dé este conjunto es bastante baja, así que tendríamos que probar otros conjuntos a ver cual sería el que nos diera más posibilidades de comprar. Es este caso, como podemos ver las tablas de cada nodo podemos decir que un estocástico >30 saldría mejor.

    Conclusiones

    Hasta aquí esta pequeña introducción a las redes bayesianas. Todavía queda mucho por ver, y la realidad de hacer una red bayesiana no es tan sencilla como lo he puesto aquí ya que hay muchos otros conceptos que mirar. Pero iremos poco a poco.

    Con esta entrada espero que os haya quedado un poco más claro el poder que la probabilidad nos puede dar para mejorar nuestro trading. Un concepto que Jim Simons lleva utilizando con gran éxito durante muchos años, siendo el mejor trader (no reconocido) durante muchos años, con su fondo de inversión.

    Como siempre, si tenéis cualquier duda o mejora del artículo no dudéis en poneros en contacto conmigo y os contestaré lo antes posible.

    Deja una respuesta

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