Inversión fundamental cuantitativa

Hola de nuevo, me he aventurado a testear la estrategia que nos mostró Arturo en su artículo: “Gracias Morgan Stanley”.
Para ello, he aprovechado un modulo que te permite analizar cómo se comporta uno o varios factores ordenados por quintiles a lo largo de un periodo de tiempo determinado y si estos factores son capaces de generar alpha, así como medir el IC (Information Coefficient). Para todos aquellos que no conozcáis el uso de este, he de decir que hasta hace una semana pertenecía a ese grupo, sirve para evaluar el peso que tiene uno o varios factores sobre el portfolio. Este puede caer entre un rango de -1.0 y 1.0. Siendo 1.0 lo que tratamos de buscar en este mundo de las finanzas cuantitativas y sabiendo que un valor de 0.1 se considera cómo muy bueno.
Para el análisis he tomado las siguientes suposiciones:
• Equiponderación de ambos factores (ROA, Gross Margin)
• Universo de acciones americano
• Periodo de holding de las acciones en cartera 198d y 252d operativos (lo que son 9m y 12m naturales)
Los resultados, con comentarios, han sido los siguientes:


Normalmente para que uno o varios factores se consideren buenos, este gráfico debería divergir en direcciones opuestas y no “solaparse” un quintil con otro (cómo sucede), de tal forma que aquellos quintiles que son mejores tengan un resultado (logarítmico en este caso) destacado en cualquier periodo de tiempo.

IC por sector, se ve que donde estos factores son realmente efectivos son en la industria Healthcare


La distribución del factor IC por empresas en el periodo nos dice que parece mejor rotar los activos cada año natural, en vez de cada 9 meses.

Por último, me gustaría aprovechar para preguntaros vuestras conclusiones sobre estos resultados, ya que aunque sin ser malos no son tan buenos cómo deberían. El GM y ROA son dos factores, que, aunque no juntos, me gusta bastante utilizar, pero los números están ahí. De todos modos os animo a que reviséis el código que está en el repositorio (https://github.com/capascualm/DQuantLab/tree/master/Alphalens) y que podáis encontrar posibles ‘gaps’ que yo haya pasado por alto.
También os dejo el backtest, que este sí, supera al índice, con mucho drawdown
Un saludo :grinning:

13 Me gusta

Buenas tardes. Gracias por el experimento, muy interesante (el Sharpe 0.95 no es moco de pavo). Por razones que creo que todos podrán entender, no voy a desmenuzar lo que hacemos al dedillo, pero sí le puedo adelantar, por lo que he leído (y se puede entender aunque no detallemos leyendo el artículo original), y por supuesto, con todo el respeto, el experimento que ha ejecutado tiene poco que ver con lo que hace este modelo.

Además, fíjense que si bien me interesa mucho debatir sobre criterios en sí, no voy a entrar a debatir sobre los modelos específicos que usamos en el fondo, no tanto por posibilidades de copia, que un poco sí, sino porque puede llegar un momento que algunos conceptos se puedan malinterpretar y acabar en discusiones áridas y baldías, algo así, si me permite la analogía, como fijarnos demasiado en los árboles o incluso las hojas, de forma que nos perdamos la visión del bosque.

12 Me gusta

No quiero que se malinterprete la intención del, cómo muy bien dice, experimento. Además en ningún momento he dicho que lo que se menciona en ese hilo se este replicando en el fondo. Mi única intención ha sido dar otra visión de la inversión fundamental cuantitativa, tanto desde el punto técnico, cómo desde el fundamental. Así como introducir una serie de medidas que creo que pueden resultar útiles dentro de este mundillo, que a fin de cuentas son la derivada primera de ratios fundamentales y que dan titulo al hilo.
He cogido cómo factores el Gross Margin y ROA, tremendamente conocidos en la comunidad y en la inversión cuantitativa, para ver el resultado de los mismos y que como menciono, yo mismo uso

Quiero dejar bien claro que no quiero que ningún lector pueda pensar que esto es lo que se hace en el fondo y,… pensándolo mejor quizás el fallo haya sido la mención al otro hilo.

Un saludo

7 Me gusta

A mi me ha gustado mucho su estudio, y tampoco he interpretado que hiciese referencia al fondo. (Creo lo que @arturop dice, es que el screener similar que usamos en el fondo al de Morgan Stanley, tiene criterios que si están y otros que no, pero vaya que eso también lo he entendido al leer su primer post).

Vamos, que muy agradecidos por su aportación, y le animaría a que siguiera haciendo estos análisis que son excepcionales. Compartir el curro que se ha pegado, es de una generosidad y una apertura mental digna de admirar.

Sólo me queda quitarme el sombrero, e invitarle a que siga compartiendo con nosotros los siguientes,

Buen finde @capascualm

12 Me gusta

No se preocupes. Una vez más le reitero mi admiración y el interés por aprender de Vd(s). Sólo quería aclarar posibles dudas por asociación con uno de los modelos que hemos comentado que utilizamos en el fondo, quizá un poco exageradamente, pero “nunca se sabe quién nos está leyendo” :slight_smile:

8 Me gusta

Hola,
gracias por compartir su trabajo, se agradece! Yo me encuentro inmerso de otra serie de backtest más alejados de la zona práctica, ya que los utilizo más bien de manera educativa. Ya sé que quizás es liarse demasiado, pero si le quiere dar alguna vuelta, le recomiendo aplicar a sus backtest algún tipo de técnica de generación de datos fuera de muestra. Recordemos que la historia es una muestra de n=1. Le recomiendo que eche un vistazo a algunas técnicas de remuestreo de datos que puedan aplicarse en estos casos, en concreto a mi me parece útil el “block bootstrapping”, en el que se dividen los datos en bloques de igual longitud ( aunque hay diversas variantes y papers ) y después se generan secuencias aleatorias de estos bloques conformando nuevas mediciones .

Por otro lado, veo que ha utilizado este rango de fechas para el backtest 2012-1-1 a 2019-1-1. ¿Lo ha escogido por alguna razón en particular? Para mi escoger la fecha es un punto crucial, siempre que hago algún backtest me da dolores de cabeza.
Quizás medirlo de “pico a pico” cogiendo un ciclo completo, como comentaba @Ruben1985 le pueda interesar.

11 Me gusta

Muchas gracias por la recomendación, he estado buscando acerca de la técnica de remuestreo que comenta, pero no he sido capaz de encontrar gran cosa. Podría facilitarme dichos papers.

En relación a la fecha, si que es cierto que comienza en 2012, generalmente cuando hago esto es por lo que tarda en calcular. He de decir que previamente lo había testeado desde 2007, obteniendo resultados y conclusiones semejantes, por lo que no lo he tenido en cuenta a la hora de subir el código.

Gracias por su aportación

3 Me gusta

El problema de empezar en 2007 es que en principio aún no tenemos un ciclo completo :sweat_smile: los value están deseándolo :grimacing:
Un libro interesante sobre los problemas del backtesting es el siguiente, uno mucho más actualizado es el de Lopez Prado que puse en el hilo:


Donde hablan de como implementar permutaciones de Montecarlo y técnicas de Bootstrapping.
He mirado en Quantopian y veo que no tienen nada similar implementado, no sé si son muy rigurosos.
Puedes echar un vistazo al módulo arch de Python donde ya tienes el trabajo bastante hecho:
https://arch.readthedocs.io/en/latest/bootstrap/bootstrap.html

Si buscas block bootstrapping quant/blog hay bastantes ejemplos por ahí, aquí tienes un notebook de jupyter por ejemplo :

Personalmente creo que el naive backtesting solo le puede llevar a uno a resultados mediocres, vamos que creo que solamente sirve para testar hipótesis y dejarlo quietecito.
Incluso entre gente supuestamente experta veo que se utilizan ciertas herramientas estadísticas de manera incorrecta.

11 Me gusta

He de decir que si el nivel es este, yo me descuelgo. No he entendido ni Flowers! :rofl: :flushed: @AlanTuring Denos alguna pista de lo que usted habla please!

10 Me gusta

Yo no entiendo un pijo, pero me leo todo, por si acaso me entero por dónde sopla el aire.

16 Me gusta

Básicamente se trata de conocer los puntos débiles de un backtest.
Todos sabemos que Internet está lleno de backtest con buena pinta y que si todos funcionasen tan bien esto de la inversión no sería tan difícil y solamente bastaría con ir buscando la fórmula mágica cambiando parámetros y voilá, todo solucionado.
Las razones por las que los backtest fallan son varias, una de esas razones es que están demasiado optimizados para el periodo en el que se prueba el backtest. Para intentar comprobar lo robusto que es con datos “fuera de muestra”, se pueden generar datos que respeten unas ciertas características de los datos originales pero con información diferente.
Poniendo un ejemplo simple de una técnica de bootstrapping por bloques ( hay que hacer más conversiones pero para que se entienda ), si tenemos un fondo con esta serie temporal :
mes 1 2 3 4 5 6
precio 20 30 16 25 33 11

y queremos generar datos fuera de muestra usando un algoritmo simple, podríamos dividr estos datos en longitud de 2 meses, y las combinaciones serían [1,2], [3,4],[4,5],[6,7] … etc.
Después podríamos generar mezclas de series temporales de esos grupos haciendo permutaciones y en diferente orden, por ejemplo
[1,2]+[6,7]+[3,4]+[2,3] y esto formaría otra serie temporal además de la original, y así sucesivamente hasta generar miles de versiones del índice principal y utilizar esos datos para introducirlos al backtest.
Esto nos daría la distribución de probabilidad empírica de ese fondo con ese backtest y podríamos comprobar qué resultados nos arroja y qué tal se comporta.
Luego hay técnicas más avanzadas aplicando técnicas de inteligencia artificial, como las de máquinas de aprendizaje etc etc.

12 Me gusta

Ah, vale, entonces es sencillo, @AlanTuring
:woozy_face: :flushed:

6 Me gusta

Jaja, me debo explicar fatal, solamente es reordenar la serie temporal para generar nuevas series temporales de una manera concreta que respete unas características de la serie temporal original.
Si tiene los datos del SP500 de un año, imagine ir cambiando de orden los datos de cada mes, el de enero ponerlo en febrero etc.
¿Así se entiende mejor?

9 Me gusta

@AlanTuring, podría decirnos 1 fondo que lleve en cartera, y por qué lo lleva?

Me gustaría conocer la motivación.

6 Me gusta

Este nivel es muy top @AlanTuring, @capascualm. Código, github, backtesting, python & jupyter notebooks, análisis de series,… Repito, muy top.

6 Me gusta

Está claro que el Sr @AlanTuring podría participar en un podcast o dos, que tal vez tenga que ir dando explicaciones poco a poco.
Creo que el Sr @jvas podría estar de acuerdo.
Voy a volver a leer el comentario. Mi relación con la estadística es casi para describir la epidemiología y ya está.
Saludos

11 Me gusta

El otro día me acorde @AlanTuring paseando por Oxford me tope con esta gestora y pense está gestión sólo la entienden unos pocos elegidos. Te pego su portal por si quieres curiosear https://www.oxam.com/. Fueea de bromas he de decirle q me tiene asombrado y disfruto sus reflexiones

5 Me gusta

https://www.winton.com/ esta también le parecera interesante

3 Me gusta

¿Como optimizan los siguiente datos de este Enero?

  1. Coronavirus: epidemia.
  2. Catastrofe de incendios en Australia.
  3. Muerte del número 2 Iraní a cargo de drones(tropa) estadounidense.
  4. Derribo de avión civil por dos misiles militares de Iran.

A todos estos factores es imprevisible como actúa el mercado dirigido en el corto plazo por las manos fuertes de los bancos de inversión grandes JP Morgan y CIA que nunca pierden en el corto plazo y pueden hundir o hacer volar las cotizaciones en el bipolar rabioso plazo de un par de dias o tres.

Todo esto para decirles que creo se equivocan buscando la excelencia de la parametrizacion. Solo es mi.opinión, la psicología, la evolución de las empresaa así como las políticas monetarias y nuevos paradigmas son difíciles de optimizar. Hacer 2,3,4 cosas o parámetros es poco pero puede ser mucho más óptimo.

A todo esto me gusta el hilo y lo sigo con interés aunque como @Fernando8751 mi GPS neuronal pierde la señal la mayoría de las veces.

Deseando también ese Podcast.

7 Me gusta

Mi cartera es bien simple y aburrida! En el foro hay gente que sabe muchísimo más que yo sobre fondos e inversión. No la he tocado desde que empecé a invertir por que no sé aún lo que quiero, está aún en construcción y considero que no es ejemplo de nada, aún no tengo claro nada, así que tampoco es que lo que yo tenga sirva de mucho. Me he pasado todos estos meses dándole vueltas a varias cosas y aún no me he decidido por una estrategia clara por que no hay nada que me convenza del todo.

De momento he priorizado los fondos por su traspasabilidad, aunque preferiría usar algunos ETFs por su gran variedad y tengo un plan más o menos en mente, pero los fondos que llevo no son nada nuevo que no lleve la gente en la comunidad. Llevo un par de fondos de gestión activa, Adarve y MFS European Smaller y el resto es una cartera indexada a mi manera + unas pocas acciones de Tesla que compré al empezar en esto de la inversión de las que últimamente voy vendiendo para cubrir posición después de la locura que se ha despertado y unos bonos convertibles también de Tesla para 2022, con los que espero tener la misma suerte y cruzo los dedos, por que no será por ser un gran inversor si va bien, si no por la suerte, ya que el criterio para invertir es básicamente que me gusta lo que hacen como ingeniero y me mantengo informado desde un punto de vista técnico desde hace años :rofl:. En principio no es mi intención comprar acciones individuales nunca más, aunque considero que renunciando a esta flexibilidad estoy renunciando seguramente a posibilidades, prefiero dedicar mi tiempo a otras cosas.

Respecto a los fondos, Adarve me parece un fondo perfecto para como veo yo la inversión, flexible y con una ejecución muy particular, la inversión sistemática me parece algo indispensable en cualquier fondo, aunque me gustaría conocer muchos más detalles de los modelos para ganar confianza y poder aumentar la posición aún más.

Del fondo de MFS pues podría contar muchas cosas, pero básicamente quería complementar mi cartera indexada sobreponderando Europa con otro tipo de empresas de menor capitalización alejándome del índice MSCI Europe y me pareció un candidato excelente tanto por los bajos costes de la clase con la que accedí a través de BNP, como por ser de una gestora de confianza, lo analicé desde un punto de vista factorial sacando unas gráficas que mostraban por diversas métricas los valores del fondo, le apliqué algunos modelos de regresiones lineales para ver como había ido evolucionando su estilo con el tiempo etc. Al final tras darle muchas vueltas y simplificándolo en una frase, me parece que es un fondo que no baja mucho más que su índice y que gana un poquito más que su índice cuando recupera, lo cual se adapta a mi manera de ver la inversión, si el azar quiere y ese sector europeo va bien, el fondo creo que irá bien. Tampoco tengo un criterio demasiado profundo.

Me interesa agregar otras cosas a la cartera, pero de momento aún no tengo claro nada. A seguir investigando hasta que encuentre algo con lo que me sienta a gusto a largo plazo.

20 Me gusta