¿Se puede invertir aprovechándose del sentimiento del mercado? Elige tu estrategia

  • Pasivo
  • Greedy (codicioso)
  • Extreme greedy (extremadamente codicioso)
  • Neutral
  • Contrarian
  • Extremadamente contrarian
  • Experimento#1
  • Experimento#2

0 votantes

Esta es mi primera aportación seria al foro, por lo que he intentado trabajármela un poco, pero mis conocimientos sobre la materia son limitados y probablemente alguien haya hecho esto antes y mejor. Espero que como mínimo les sirva de entretenimiento.

Aprovechando que está de moda citar a Warren Buffet, creo que todos hemos leído una de sus famosas frases:

Be fearful when others are greedy and greedy when others are fearful.

O, en castellano, “Sé temeroso cuando los demás sean codiciosos y codicioso cuando los demás sean temerosos

Andaba yo pensando si se puede batir al mercado haciendo exactamente lo que dice esa frase: comprar teniendo en cuenta el estado de ánimo general del mercado. Quería intentar usar mis conocimientos de automatización/scraping/python en general para hacer una simulación de diferentes estrategias utilizando el ánimo del mercado para hacer market timing.

Para ello necesitamos algún tipo de indicador que cuantifique el estado de ánimo del mercado. He visto a mucha gente utilizar de vez en cuando el índice Fear & Greed de CNN que, por lo que cuentan en su web, utiliza una combinación de 7 indicadores para calcularlo. Para este ejercicio he supuesto que este índice captura realmente este estado de ánimo (que quizá es mucho asumir, pero evaluarlo o crear un índice similar está fuera de mi competencia)

Problema: la web de CNN nos da el valor actual, el de la última apertura, la semana pasada, el mes pasado y el año pasado, pero no he encontrado en ningún lado un histórico de este valor de X años atrás (quizá con alguna suscripción de pago está disponible, pero tampoco he encontrado info de esto) Tendría que apuntar estos valores durante un año para tener el histórico de dos años (ya que nos da el valor de hace un año). Lo más que dan es la gráfica al final de la página que abarca unos 3 años, pero es una imagen y no de mucha calidad.

Soluciones:

  1. Se me ocurrió mirar si la máquina del tiempo tenía “fotos” antiguas de esta web que me sirvieran para hacer un histórico. ¡Bingo! Scrapeando estas capturas con la ayuda de alguna librería Python logré sacar un histórico más o menos suficiente desde 2011 pero con algunos agujeros. Ayuda bastante que cada “captura” te de el valor del índice en 5 días distintos, aunque… ¿A qué día se refiere “1 Month Ago” el 31 de Marzo? Hay que tener cuidado con esos temas y con los festivos. Para esto he usado un API abierto que devuelve los festivos en el mercado estadounidense desde 2013, para años anteriores he usado listados publicados en diversas webs.

  2. Hay otra web parecida pero con muchos menos resultados, que rellenó unos pocos días más

  3. Encontré imágenes de distintos años de la gráfica que hay al final de la web, con lo que “tenía” los valores históricos desde 2011. Pensando en cómo programarme algo que sacara los valores de forma aceptablemente precisa, mi novia, que es más lista que yo, encontró rápidamente una utilidad que me permitió sacar los valores de la gráfica y, comparando con los resultados reales de las capturas que ya tenía, la precisión es muy aceptable, siendo la diferencia comparable al cambio que puede experimentar el índice a lo largo de un día.

Teniendo ya un histórico de este indicador (aun no siendo exacto por los valores extraidos de la gráfica y no estando todas las capturas hechas el mismo momento del día), tocaba pensar en cómo hacer las simulaciones de las distintas estrategias. Nunca he hecho un backtesting ni nada parecido, por lo que el parecido con algo “profesional” puede ser nulo.

Primero definí un rango de tiempo para la simulación, que irá del 1/1/2011 al 31/12/2019. Me hubiera gustado que fuera de 10 años pero no ha podido ser por disponibilidad de datos.

Definí también varios perfiles bastante básicos. Todos los “inversores” ahorran 1000 euros al mes, teniéndolos disponibles para invertir desde el día 1 y todos miran el mercado a diario, esperando a invertir el dinero que tienen ahorrado siguiendo su estrategia en relación con el índice Fear & Greed. El activo en el que invierten son participaciones en el fondo Amundi Index MSCI World LU0996182563 (del cual he podido obtener valores liquidativos desde 2010 via Morningstar)

  • El que he llamado “passive”: Pasa del índice, del mercado, de la frase de Warren Buffet y de todo en general. Según tiene dinero, lo mete todo de golpe sin acumular liquidez en ningún momento.
  • El “greedy” o “codicioso”: Invierte todo lo que tenga ahorrado hasta el momento en cuanto el índice refleje “codicia” general (un valor > 56, valor que usa CNN para poner la etiqueta “greed”)
  • El “extreme greedy” o “extremadamente codicioso”: Invierte todo lo que tenga ahorrado hasta el momento en cuanto el índice refleje “codicia extrema” general (un valor > 74, valor que usa CNN para poner la etiqueta “extreme greed”)
  • El neutral: Invierte lo que tenga ahorrado en caso de que la situación de mercado sea neutral (valores entre 44 y 56)
  • El “contrarian”: Invierte sólo si el índice marca “fear” (un valor menor de 45)
  • El “extreme contrarian”: Invierte sólo si el índice marca “extreme fear” (un valor menor de 26)
  • Dos experimentos (que quizá no tienen mucho sentido, pero eran fáciles de programar)
    • Uno que he llamado “market” y que cada día invierte un porcentaje de los ahorros que le queden igual al valor del índice de ese día
    • Otro que he llamado “inverse market” y que invierte un porcentaje igual a la resta de 100 - el valor del índice ese día

Llegados a este punto, me gustaría que votaran qué estrategia creen que habrá obtenido más valor al final del periodo. Actualizaré el hilo con los resultados esta semana. Pueden sugerir alguna otra estrategia y la añadiré cuando ponga los resultados o más adelante en caso de que el algoritmo esté dentro de mi habilidad como programador.

12 Me gusta

Diende,

Usted puede descubrir algo que puede ser durante un tiempo la piedra filosofal, o no. La idea tiene un punto de genialidad, pero a mi me deja con la miel en los labios, quizá por que es una idea que no ha terminado de plasmar.

Si no le he entendido mal, Usted ya ha hecho el trabajo de buscar las correlaciones entre los distintos “moods” o estados de ánimo del mercado y su relación con las cotizaciones de los índices en ese periodo. Ahora, aunque sea a nivel tentativo y amateur, seguro que es un tema que da para un buen hilo.

Le ruego comparta sus resultados, y le garantizo que seremos muchos los que intentemos aportar nuestras impresiones.

Saludos

3 Me gusta

En principio, la idea me parece interesante (o al menos tan interesante como otras). La cosa es que hay por ahí gente que plantea lo mismo que usted, unido a la aplicación estadística sobre las ocasiones anteriores en las que un suceso ha ocurrido.


Aunque muchos de sus artículos están protegidos y hay que pagar por ellos, si te suscribes te envían un aviso cuando publican algo “libre”
saludos

1 me gusta

Yo uso el mercado para evaluar el valor, puesto que el conocimiento del mercado es lo que pone en valor, hice un programa que calcula el valor intrínseco ponderado y luego ideé una fórmula para buscar una prima de mercado que puede incrementar o depreciar el precio que devuelve el programa, para mí es un ancla de barato-caro.

El mercado es importante, pues en su conjunto tiene muchísima información, un ejemplo:

= COTIZACION OBJETIVO Y VALOR INTRINSECO =
BPA objetivo estimado: : 0.208 €
Rentabilidad objetiva BPA : 6.103 % *PER óptimo : 16.38
Rentabilidad objetiva dividendo : 1.526 %
Reinversión objetiva: 4.577 %
Valor intrínseco Graham : 3.41 € [ 75.0 %]
Valor intrínseco Gordon : 2.96 € [ 25.0 %]
Valor intrínseco ponderado [ 3.29 €]

= COTIZACION ACTUAL =
Cotización : 2.5 € / BPA : 0.2 € / Dividendo : 0.05 €
Rentabilidad BPA : 8.0 % *PER : 12.5
Rentabilidad dividendo : 2.0 %
Reinversión : 6.0 %
Pay-Out : 25.0 %
Valoracion INFRAVALORADO Ratio : 0.759 [ between 0.9-1.1 ]
Rango de valoración adecuado: 2.96 - 3.62 €
Rango de valoración mercado : 2.62 - 3.28 €
Ajuste de mercado (prima): -10.36 % 2.95 €

En mi opinión cada uno que lo haga como quiera pero no ignorar lo que el mercado paga a mi me parece importante.

5 Me gusta

¡Me parece fantástico el experimento!

Yo he votado por contrarian. Es lo que haría si tuviese suficiente capital como para dejar liquidez parada. Como por mi situación prefiero estar invertido 100% o casi, me considero pasivo en este caso.

¡Muchas gracias por tomarse el tiempo y las molestias para ofrecernos este juego!
:smiling_face_with_three_hearts: :heart_eyes:
A ver, a ver…

2 Me gusta

Yo también tengo ganas de ver los resultados.
De hecho he estado pensando cuál será la opción ganadora y cuanto más pienso más dudas me entran. Yo de hecho invierto de manera pasiva (aportación periódica mensual llueve o truene), aunque creo que la opción ganadora no será esa, y por eso he votado contrarian.
No obstante y dándole vueltas, cada vez me gusta más la opción “inverse market” (experimento 2) ya que es como un contrarian dinámico y gradual, es decir, cuánta más complacencia hay (greedy o extreme greedy) menos se invierte, y cuánto más miedo (fear o extreme fear) más se invierte. Considero esto el equivalente a comprar menos cuánto más caro está el mercado, y comprar más cuánto más barato está.
Deseando saber las conclusiones del experimento…

2 Me gusta

Como veo que algunos de ustedes quieren ver los resultados y nadie ha sugerido alguna estrategia para añadir a la simulación, los muestro ya. Todos los datos utilizados están subidos a un proyecto de Github (el código no está todavia presentable :grinning:)

Resultados a día 31 del 12 de 2019: Pulsando en cada uno de los enlaces podrán ver gráficas agregadas de valor total, valor invertido y liquidez durante el tiempo o la gráfica de cada parámetro por separado

Quitando los experimentos, las mejores estrategias, por orden, hubieran sido “passive”, “contrarian” y “greedy”

Gráfica del valor total de las distintas estrategias

Como ven, la diferencia entre el valor total es de un 2,5% - 3% máximo entre las estrategias menos rentables (extreme greedy y extreme contrarian) y las mejores (passive, contrarian). Creo que la diferencia de valor se basa mayormente en el tiempo en el que el dinero está en el mercado según las distintas estrategias y no parece que usar el índice para hacer market timing haya dado valor alguno.

¿Se lo esperaban? ¿Han acertado?

Yo, siéndoles sincero, esperaba encontrar una estrategia que poder implementar con un porcentaje de mi inversión mensual para combatir el tedio de las aportaciones periódicas contra viento y marea, pero parece que tendré que buscar otro pasatiempo :grinning: aunque no descarto que este resultado sea a causa de mis errores metodológicos y exista una estrategia basada en este índice que aporte valor.

Posibles mejoras a la simulación

  • Utilizar el valor del índice del día anterior al día en que se realiza la inversión en vez del valor del mismo día (que en la mayoría de los casos el que tengo disponible es el valor al cierre)
  • Utilizar quizá el valor liquidativo del fondo de un día distinto al que se hace la inversión (ya que las ordenes de compra suelen tardar días en entrar)
  • Utilizar otro activo en el que invertir (¿ETF?)
  • Utilizar estrategias más sofisticadas

No busqué ningún tipo de correlación, más por desconocimiento que por otra cosa; lo único que he hecho es simular distintas estrategias basadas en el valor del índice Fear&Greed sobre un perfil de inversor más o menos realista (ahorro periódico, inversión en un activo poco rebuscado…)

En el repositorio de Github que he enlazado anteriormente podrá encontrar los datos que he utilizado y las gráficas de los resultados y alguna cosa más (como la gráfica de valor liquidativo del fondo vs índice). Si alguien quiere utilizarlos para sacar más y mejores conclusiones, estaré encantado.

No dudo que no sea el primero y que alguien lo haya hecho antes y mejor con los conocimientos que a mi me faltan, le echo un ojo al enlace que ha compartido, muchas gracias

¿Podría contarnos cómo llega a esos valores objetivos?

Sólo por comentarios como el suyo merece la pena el tiempo invertido, con los resultados obtenidos parece que puede estar contento con su estrategia :slight_smile:

Esa era mi idea con los experimentos, lo malo que por simplicidad de programación, el algoritmo se ejecuta diariamente y en un entorno en el que el índice está al 90%, el experimento 2 compraría un 10% de sus ahorros cada día, por lo que en pocos días habría invertido la gran mayoría, lo cual no es la idea. Intentaré reescribirlo para que el % invertido sea mensual.

Gracias a todos los que han votado y contestado :slight_smile:

9 Me gusta

Me ha recordado un experimento que se me ocurrió el otro día.

¿Qué pasaría si crearamos un bot que contrastase un feed rss de titulares de economía, y automáticamente comprara una cantidad fija de cada compañía que apareciese?

Parto de que la mayoría de las noticias serían alcistas ó al ser ruido podrían corregir después, aunque queda el factor de que hasta con la inmediatez de un bot, sería incapaz de aprovechar correctamente los movimientos alcistas (y arrastraría las compras automáticas de titulares negativos). Reconozco que además el planteamiento es muy abierto y habría que darle forma a como implementarlo.

Mi pequeña teoría es que, en la coyuntura actual, el balance sería positivo. Admito que en un mercado bajista ó lateral no tengo ni idea de que ocurriría.

1 me gusta

Es una evolución de lo que comencé a explicar el hilo que enlazo abajo, pero no continué, en estas primeras versiones itero de forma simple pero en una versión más avanzada itero con un algoritmo de participación de que devuelve un valor de mercado para unos valores objetivos. Luego aplico una fórmula para calcular ‘la prima’ de mercado sobre la empresa en cuestión.

Importante, sólo uso la entrada de los datos en negrita y algunos datos macro fijos:

Cotización : 2.45
BPA : .2
Dividendo : .05
Flujo de caja : .21
Valor contable : 2.2
52 semanas L : 2.3
52 semanas H : 3

= COTIZACION OBJETIVO Y VALOR INTRINSECO =
BPA objetivo estimado: : 0.207 €
Rentabilidad objetiva BPA : 6.073 % *PER óptimo : 16.47
Rentabilidad objetiva dividendo : 1.518 %
Reinversión objetiva: 4.554 %
Valor intrínseco Graham : 3.41 € [ 75.0 %]
Valor intrínseco Gordon : 2.97 € [ 25.0 %]
Valor intrínseco ponderado [ 3.3 €]

= COTIZACION ACTUAL =
Cotización : 2.45 € / BPA : 0.2 € / Dividendo : 0.05 €
Rentabilidad BPA : 8.163 % *PER : 12.25
Rentabilidad dividendo : 2.041 %
Reinversión : 6.122 %
Pay-Out : 25.0 %
Valoracion INFRAVALORADO Ratio : 0.743 [ between 0.9-1.1 ]
Rango de valoración adecuado: 2.97 - 3.63 €
Rango de valoración mercado : 2.59 - 3.25 €
Ajuste de mercado (prima): -11.477 % 2.92 €

1 me gusta

Gracias por la aportación @Diende. Me ha parecido interesante el ejercicio. No ha resultado ninguna tendencia revolucionaria pero para mí sí se han confirmado dos supuestos: el market timing mejor para los profesionales :sweat_smile:, y el tran tran es una estrategia siempre consistente.
Si se anima a rehacer la simulación con los experimentos 1 y 2 con inversiones mensuales en lugar de diarias no deje de informar de los resultados.

1 me gusta

Antes de nada agradecerle su esfuerzo y trabajo y compartirlo aquí con nosotros, este tipo de experimentos requieren su tiempo.

Después comentar que los resultados no me han sorprendido mucho ya que el periodo seleccionado ha sido tremendamente alcista. Mi premisa ( haciendo trampa y sabiendo que el periodo era alcista ) era que seguramente aquel que mayor tiempo estuviera invertido sería el ganador de la competición, pero me pareció aburrido y jugándomela, pensé en votar o greedy o contrarian que aunque estarían menos tiempo invertidos quizás pudieran compensar con momentum o recuperaciones esa falta de tiempo en el mercado. Descarté los extremos precisamente por esta premisa, que estarían demasiado tiempo fuera del mercado.

Dicho esto, aunque el pasivo haya obtenido mejor rendimiento, si midiéramos el tiempo sin invertir acumulado de cada estrategia podríamos decir que la inversión contrarian/greedy se asemejaría a una distribución de RV/RF/Cash, al estilo típico de una estrategia tendencial, por lo que el riesgo ajustado a retorno habría que ver como queda y vista la poca diferencia en rendimiento diría que serían mejores estrategias en ese periodo en concreto. Otra cuestión sería si con otra distribución de resultados ocurriría lo mismo ( obviamente no ) ya que será muy dependiente de la época y la inversión pasiva sistemática nos cubre parcialmente ante esa incertidumbre aunque sea sacrificando otros aspectos.

P.D He visto que en su repo tiene un fork de una librería de tshark, que sepa que en wireshark hay algún que otro parche mio para redes 802.11 y me ha traído recuerdos :heart_eyes:

4 Me gusta