SP500 (AKA El panadero) : Timming con IA y redes neuronales. Introducción

2 recomendaciones

"Gracias" :- D al tortazo que nos hemos llevado últimamente, me he acordado de un video de hace años:

https://www.youtube.com/watch?v=cnqzzs4EBIA&list=FL3llOGgQqx64vT_h12_uvYw&index=5&t=2617s

En este video a partir del minuto 43, habla de cómo hacer coberturas del SP500. Básicamente cuando el SP500 rompe la media de 200 sesiones, es posible que venga un tortazo. Casi nunca da falsos negativos pero el 80% de las veces da falsos positivos. Es decir, es condición necesaria (normalmente) pero no suficiente provocando que nos gastemos mucho dinero en coberturas innecesarias:

(https://www.barchart.com/stocks/quotes/$SPX/interactive-chart)

Por ejemplo en la actual tortazo, da una señal demasiado tarde, hacia el 27 febrero. Veremos como la red neuronal nos da señal bastante antes: el 23 de enero.

Para compensar lo anterior, al menos en parte, se me ha ocurrido hacer una Red neuronal.  Desde hace un tiempo, me dedico en parte a programar IA inteligencia artificial, de momento solo para pasar el rato.  Hoy en día se ha democratizado mucho esto: por ejemplo con Google y su Tensorflow:

https://playground.tensorflow.org/

Cualquiera con ganas y tiempo puede  realizar algún proyecto de IA. En mi caso después de hacer varios cursos online, me he decidido a desarrollar una red neuronal para estimar las posibles caídas futuras del SP 500.

En principio sabemos, que los mercados son impredecibles  pero si encuentro forma de limitar esa incertidumbre pues algo qué ganamos.  Como inversores Value vamos a largo plazo (o deberíamos al menos) pero aunque estas caídas en realidad son una bendición para el que realmente va a largo,  también es cierto que somos humanos y que nos afecta psicológicamente.  E incluso nos puede hacer vender en el peor momento. 

En esta red neuronal que he realizado, en la práctica detecta casi todos los tortazos (caídas de más del 12%)  desde 1948. Me refiero a que en algunos casos ha podido haber veces en las que el modelo da predicciones ligeramente retrasadas a lo esperado pero incluso un poco  antes de que realmente se produzca la caída. Por ejemplo en la actual crisis desde el 23 de enero de 2020 viene avisando:

 

En este caso hubiera servido para evitar un tortazo del 31%. La red neuronal es en realidad una mezcla de varios modelos de redes y tenemos un nivel de acierto del 80% aproximadamente. En los mejores modelos del 83% y en los peores del 78%:

En la red neuronal he intentado evitar a toda costa el overfitting (para que nuestra red no se parezca al "chuletas", ver el video siguiente): Repartiendo el train/test al 50% y además en algunos casos estratificando y en otros no. En algunos casos tomando el Test como los últimos 16 años y el train lo anterior. Más sobre overfitting:

https://www.youtube.com/watch?v=7-6X3DTt3R8

Algo que he observado con la red y el paper del primer video:

-La ruptura de 200 sesiones casi nunca da falsos negativos pero el 80% de las veces da falsos positivos. Es decir, es condición necesaria pero no suficiente. Si solo hiciésemos caso a esta variable nos gastaríamos mucho dinero en coberturas innecesarias.

-Esta red neuronal da falsos negativos a veces pero casi nunca da falsos positivos. Cuando avisa de caídas es altamente probable que venga el tortazo. Si solo hiciésemos caso a esta variable nos comeríamos algunos tortazos innecesarios.

-Por lo tanto ambas variables son complementarias, cada una nos añade algo de información.

Las crisis son una bendición para el que las sabe y puede aprovechar.  Ahora hay muchas empresas tiradas de precio y  esto solo ocurre cada 7 a 10 años. 
Ahora bien para aprovechar esta "crisistunidad" (Crisis + Oportunidad) como diría Hommer:

https://www.youtube.com/watch?v=0BIRf2ILB60

...hay que tener algo de Cash o acceso al crédito en el momento adecuado.  Esto lo podemos tener si hemos tomado coberturas para evitar grandes caídas de nuestra cartera en los momentos adecuados.

Alguna posibilidad puede ser vender puts o comprar calls del VIX. Pero no se debe hacer si el VIX está muy caro.  Y normalmente cuando se produce la señal bajista en nuestra Red neuronal el VIX suele estar caro. Otras posibilidades son comprar puts (o vender calls) del SP 500. Comprar un etf inverso, pero estos suele ser mala idea ya que pierden aceite.  Seguramente habrá otras formas de protegerse.  Quizás en los comentarios...

 

************************************************************************************************************************************

************************************************************************************************************************************

************************************************************************************************************************************

EDITO: Añado los ultimos 2 meses de predicciones:

 

Añado un pequeño resumen. Los indicadores son fiables:

-Ruptura 200S: Cuando da negativo

-Red Neuronal(RN): Cuando da positivo

 

  1. en respuesta a Nega16
    #14
    Tibu74

    Gracias por la info,

    En la RN, nos da un positivo(la RN es bastante fiable cuando predice 1 = viene tortazo) el 27 de enero, un mes antes. Cuando el VIX cerro(segun los datos que tengo del 27 enero) a 18.2. Estando el VIX relativamente bajo, se puede vender un poco de puts sobre este:

    - Si viene tortazo las puts valen 0 y ya hemos cobrado algo compensando en parte las perdidas.
    - Si no viene tortazo, el SP subira y nuestro portfolio con el.
    - Por supuesto tambien hay escenarios intermedios: El SP se mantiene el VIX baja pero nuestro portfolio lo hace peor. Perdemos dinero con la cobertura y con el portfolio.

    Saludos,

  2. en respuesta a Nega16
    #13
    Tibu74

    "Por otra parte veo imposible ajustar eso con el VIX, por la naturaleza de este, pero bueno no se como funciona eso que haces."
    Como mostrare en otros Posts, el VIX tiene poca correlacion con los tortazos. Pero
    no tan baja: 0.27. Pero al tener poca correlacion con otras variables, añade algo de informacion adicional.
    Saludos,

  3. en respuesta a Tibu74
    #12
    Nega16

    El VIX en el flash crash ultimo quebro al pasar de un valor de 17 a 34 en undia, 34 es un nivel bajo que implica al ser el inverso
    del Stanfard una subida, una entrada alcista o una confirmacion de seguir alcista. Los propios manuales de los etfs del vix avisan que si sube un 100% en un dia ( generalmente en exponencial desde donde sea y llegando a donde sea )estas muerto RIP

    El VIX desde que crearon su mercado de futuros, que es una salvajada adsequible a pocos en su operacion es intratable para filtrar nada

    Un saludo

    1 recomendaciones
  4. en respuesta a Nega16
    #11
    Tibu74

    En cuanto aprendes un poco de python y un poco de Analisis de datos con Python, vas viendo que el excel tiene muchas limitaciones.
    No te puedo recomendar nada de excel, en mi caso hice unos cursos:
    -Python , gratis: https://www.youtube.com/watch?v=G2FCfQj-9ig&list=PLU8oAlHdN5BlvPxziopYZRd55pdqFwkeS

    -Python + IA, de Udemy por poco dinero: https://www.udemy.com/course/data-science-and-machine-learning-with-python-hands-on/
    -Otros videos, por ejemplo: DOT CSV, https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg
    Saludos,

    1 recomendaciones
  5. en respuesta a Nega16
    #10
    Tibu74

    Hola Nega16,

    Muchas gracias por tus comentarios. En este mundillo de la IA soy tan solo un amateur con ganas de hacer cosillas y tratando de aprender.

    Mi objetivo es simplemente, en el mejor de los casos, cubrirme parcialmente contra tortazos.

    Lo que he observado es que la ruptura de 200 sesiones del SP500 da señales algo tardias( y con falsos positivos) en comparacion con otros parmetros: pe macroeconomicos, el VIX o la propia red neuronal(RN).

    Lo del "el VIx entendido como de comportamientos exponencial y no por niveles, ademas de algo no asimilable a un estudio por los datos del pasado ni por la teoria de probabilidades." es posible que tengas razon, voy a meterle en nuevas actualizaaciones el VIX logaritmico a ver si mejora. Gracias por la sugerencia!

    Saludos,

  6. en respuesta a Nega16
    #9
    Nega16

    Por otra parte veo imposible ajustar eso con el VIX, por la naturaleza de este, pero bueno no se como funciona eso que haces.

    Decirte que yo tambien estoy hacuiendo cosas parecidas, en funcion de esos cruces, 50 y 200, que no se trata mas de adelantarse sino de que el intento de cruce tenga una robustez, y con el VIx entendido como de comportamientos exponencial y no por niveles, ademas de algo no asimilable a un estudio por los datos del pasado ni por la teoria de probabilidades.

    Tomate esto como un contraste, me parece muy valioso eso que cuelgas

    Gracias

    1 recomendaciones
  7. en respuesta a Tibu74
    #8
    Nega16

    por otra parte no entiendo eso de la media de 200,supongo que esta referida en exclusiva al Standar

    Pero a eso no se si se necesita ser mas preciso y sobre todo respecto a que ?

    Los operadores operan ESO y no otra cosa, que sea mas rapida por ejemplo o mas adelantada, no loe ntiendo. Eso cuando cae , cae por que hay miles de ojos mirando ese cruce, esa es la señal y miles de algoritmos diseñados para activarse ahi, y desaparecen en ese cruce ( y solo en ese ) miles de milllones del mercado del Standard, que si entre pitos y flautas es el 60& del mercado mundial

    No veo que necesidad hay de adelantarse a esa señal que mas que matematicament precisa es un habito que funciona

    Un saludo

    1 recomendaciones
  8. en respuesta a Tibu74
    #7
    Nega16

    Algunas cosas que enuncias que de los datos y su ajuste se pueden hacer en Excell si te bajas su aplicacion de analis de Datos a traves de ajustes de pruebas y errores. Creia que se trataba de algo que hacia cosas nuevas, o me confundo ?

    1 recomendaciones
  9. en respuesta a Tibu74
    #6
    Nega16

    Sabes de algun tutorial e instrumento que explique como se implementan en la practica, sin necesidad de tener que diseñarlas en programacion, tipo como se usa Excell ?

    1 recomendaciones
  10. en respuesta a Tibu74
    #5
    Nega16

    Gracias, muy interesante, te intentare ir siguiendo

    1 recomendaciones
  11. en respuesta a Nebe
    #4
    Tibu74

    Bueno,
    Tortazo es caidas mayores del 12% en las proximas 200 sesiones. Por eso aparecen ???en los ultimos dias,
    ya que logicamente no lo sabemos.

    Saludos,

  12. en respuesta a Tibu74
    #3
    Nebe

    Gracias por la rápida respuesta Tibu; debo estudiar más los datos, ya que no me cuadre que e "Tortazo" sea siempre 1. Seguiremos en ellos

  13. en respuesta a Nebe
    #2
    Tibu74

    Hola Nebe,

    Los datos de caidas de los ultimos meses(donde pone "tortazo") hay que tomarlos con pinzas, ya que no sabemos si va a haber nuevas caidas en el futuro proximo.

    Lo que comentas seria un falso negativo en enero. Da 0(no tortazo) cuando deberia dar 1(tortazo).
    La red neuronal da pocos falsos positivos en general.

    Por todo esto hay que tomarlo en conjunto con otros idicadores, por ejemplo,
    combina bien con la ruptura 200 sesiones:
    -El 13 de enero salta el indicador RN(Red enuronal). Te pones en alerta y proteges una pequeña parte de tu cartera a largo plazo(por ejemplo 10 meses = 200 sesiones)

    -Vienen tortazos importantes pero todavia no todo lo gordo.Nuestras coberturas parciales limitan un poco las primeras caidas.

    -La RN vuelve a dar negativo -->como sabemos que la RN tiene el defecto de dar algunos falsos negativos---> esperar ya que tienes compradas protecciones(pocas)

    -El 27 de febrero salta el indicador ruptura 200 sesiones--> sabemos que este indicador da a veces falsos positivos pero casi nunca falsos negativos--> protegemos un poco mas(ya habiamos protegido un poco).

    -El 2 de marzo salta el indicador RN-->sabemos que la RN tiene el defecto de dar algunos falsos negativos pero pocos falsos positivos---> Alerta MAXIMA --> Cobertura MAXIMA (los 2 indicadores en ROJO)

    2.- Cómo pueden variar los datos tan bruscamente? Pensaba que irían yendo hacia valores del 80% más suavemente.

    Lo he hecho para precisamente para que se acerque mucho a 0 o 1. Optimizando el "binary cross-entropy loss". De hecho lo que hago es redondearlo despues para que de 0 o 1.

    Saludos,

    1 recomendaciones
  14. #1
    Nebe

    Gracis Tibu por el post;

    Como ingeniero también estoy interesado en el tema de IA, pero hay una cosa que me choca de los datos que has colgado, el 23-01-20 cambia la predicción de 0,09 a 0,87,como dices puede predecir una caída, pero 8 días más tarde la predicción vuelve a caer al 0.08, más baja que los días anteriores al 23-01.

    1.- Aunque es necesario ver todos los datos, en base a lo expuesto, no se puede considerar esto un falso positivo?
    2.- Cómo pueden variar los datos tan bruscamente? Pensaba que irían yendo hacia valores del 80% más suavemente.

    1 recomendaciones
2 recomendaciones
Escribe aquí tu comentario...