Los Muertos No Hablan

La finanzas, al igual que el celuloide y la pasarela, cuentan con un encanto magnético que atrae a multitud de aspirantes. Todos conocemos a Leonardo DiCaprio. Admiramos a Naomi Campbell. Envidiamos a Warren Buffet y George Soros. El éxito rotundo de sus grandes figuras brilla con una tremenda intensidad.

Por contra, poco brillo tienen las vidas de todos aquellos que mendigan por Hollywood Boulevard, que lavan platos en el Soho londinense esperando su oportunidad, que continúan preparando fotocopias y cafés en una cochambrosa oficina de Wall Street. Es muy probable que si agrega todas las ganancias astronómicas y las divide entre el número de aspirantes, la remuneración media que matemáticamente le cabe esperar es menor que el salario de un contable.

Con esto no pretendo disuadirle de perseguir sus sueños, ni mucho menos. Si usted cuenta con el talento y la motivación, vuele alto y que el miedo no le corte las alas. Sólo quiero que sea consciente de lo que se conoce como el sesgo de la supervivencia: como los éxitos son mucho más visibles que los fracasos, tendemos a ponderarlos en exceso.

El Sesgo de la Supervivencia

Lo mismo acontece en la bolsa. Descontando las de reciente creación, todas las compañías que están a día de hoy en los mercados son empresas que lucharon, prosperaron y eventualmente triunfaron sobre sus competidores. Mientras tanto otras muchas firmas perdieron, quebrando o siendo absorbidas. A menudo de ellas no queda ni tan sólo el recuerdo y la conversación la acaparan los supervivientes. Los muertos no hablan.

Este sesgo afecta tremendamente el backtesting. Si tomamos series históricas de precios de los componentes de un índice para probar nuestros algoritmos, hemos de tener en cuenta dos cosas: Primero, varias de esas compañías en el pasado no eran miembros del índice, sino que precisamente consiguieron clasificarse a través del éxito y el crecimiento sostenido. Segundo, otras tantas de las compañías que sí formaban parte en el pasado fracasaron, algunas estrepitosamente, y perdieron su posición en la lista.

En consecuencia estaremos sobreponderando al alza e infravalorando a la baja. De forma común obtendremos buenos resultados de prueba, con subidas notables, pero las estrategias se caerán en pedazos ante la primera convulsión seria del mercado. Estamos entrenando a nuestro campeón en la playa y luego esperamos que corra la triatlón.

Sin duda un backtesting parcial es mejor que ninguno en absoluto. Pero permítame insistir, prefiero ser pesado que ignorado: no subestime este efecto pernicioso. Aún si deja de lado los índices y toma una muestra aleatoria de compañías en el mercado de hoy, lo sufrirá. Incluso si toma todas las empresas actuales, seguirá incurriendo en el sesgo de la supervivencia. Al igual que todas y cada una de las personas que pueblan este planeta puede trazar una línea ininterrumpida de triunfadores, al menos en términos evolutivos, que lo conectan con la primera célula viviente, la bolsa es un club de supervivientes.

La Máquina del Tiempo

¿Qué debemos hacer, entonces? Sólo hay una solución: tenemos que volver atrás en el tiempo y tomar nuestros activos de entre las compañías que poblaban los mercados pasados, en lugar de los actuales.

Por desgracia sin la ayuda de H. G. Wells esto resulta más complicado de lo que parece. A menos que tenga una suscripción de pago a una herramienta como Bloomberg o Factset, las fuentes de datos abiertas como Yahoo Finance no ofrecen componentes históricos, sólo actuales, y sus registros de empresas difuntas son bastante limitados. Difícil pero no imposible, nos va a requerir un poco más de esfuerzo.

Tomemos el IBEX 35, por ejemplo. Su composición es pública y podemos descargar desde la página web de la Bolsa de Madrid un informe histórico de entradas y salidas en formato PDF. He traspasado la información a IBEX-components.csv  para que podamos integrarlo cómodamente en nuestro entorno de backtesting utilizando components.py. Coloque el primer archivo en la raíz de su carpeta de backtesting y el segundo dentro de la carpeta de extensiones pyalgoext que creamos con anterioridad:

C:\backtesting\IBEX-components.csv
C:\backtesting\pyalgoext\components.py

Lo tiene todo ya ordenado si se descarga el repositorio GitHub de este proyecto, PyAlgoSamples. Ahora puede obtener una lista completa de componentes del IBEX para cualquier fecha con unas pocas líneas de código:

import pyalgoext.components as components

ibexToday = components.getList("./IBEX-components.csv")

date2005 = datetime.datetime(2005,01,01,0,0,0)
ibex2005 = components.getList("./IBEX-components.csv", date2005)

Por organización he incluido estas funciones en el archivo revisado Ibex2010Assets.py. Si lo ejecuta directamente obtendrá la lista de componentes del IBEX en el 2010, ordenada alfabéticamente y lista para incorporar en nuestra lógica de descarga de Yahoo. Aunque no se preocupe, también lo he hecho por usted. ¡De nada!

Cuando una compañía cambia de símbolo lo aplicamos retroactivamente porque no afecta nada, como es el caso de Sacyr (SCYR.MC, originariamente SYV.MC). Más complicado resulta el caso en el que una compañía de la lista absorbe a otra empresa, también de la lista, como es el caso de Banesto (BTO.MC, adquirida en 2013 por Banco Santander) e Iberdrola Renovables (IBR.MC, fusionada con Iberdrola en el 2011). Lo más sensato sería convertir esas posiciones en liquidez y reasignar el capital según convenga en nuestro sistema, pero de momento para simplificar las vamos a mantener fuera del estudio.

También tenga en cuenta que mantendremos posiciones incluso una vez que el título ha abandonado el índice, lo cual no es intrínsecamente malo, pero eventualmente querremos trabajar con un sistema de eventos que tenga en cuenta las absorciones, al igual que las entradas y salidas en el índice para poder reorganizar dinámicamente nuestras posiciones si así lo deseamos. En definitiva, esto no es perfecto pero se acerca lo suficiente, como usted mismo podrá experimentar. Ejecute los archivos revisados Ibex2010Data.py para descargar los datos e Ibex2010Sma.py para obtener los resultados, primero para el benchmark:

run_strategy(True, assets.instruments, 32, smaShort, smaLong)

benchmark2010

Y a continuación para la estrategia:

run_strategy(False, assets.instruments, 32, smaShort, smaLong)

estrategia2010

Podemos constatar cómo se ha reducido el gap anterior, 5.6% vs 4.9% anual. Como ya vimos anteriormente en el caso del S&P 500, el benchmark aventaja a la estrategia en rentabilidad, pero se queda a la zaga en el Ratio de Sharpe, 41% frente a 35%. La metodología gana en rentabilidad ajustada al riesgo asumido.

¿Nos damos por satisfechos? Ni mucho menos; estamos aplicando una estrategia muy sencilla basada en momento, que si bien nos ha servido para comenzar vamos a superar pronto mediante indicadores más potentes. Pero ya podemos mantener nuestra cabeza bien alta. En primer lugar, para aquellos que critican la gestión activa frente a la pasiva, hay que preguntarles: cuán “pasiva” es realmente esa gestión? Los índices cambian regularmente: en otro lugar comenté que en los años 20 y 30 las empresas permanecían en el S&P 500 por una media de 65 años. En los 90 esta media se había reducido a 10 años. Ahora debe rondar los 5 años de permanencia. ¿Dónde estaría hoy el IBEX si siguiesen en él Terra, Jazztel o Sogecable? Recibimos con laureles a los nuevos triunfadores y abandonamos a los ídolos de otros tiempos para que no nos arrastren en su caída.

En segundo lugar, más importante aún, ¿Quién tiene estómago para aguantar un 19.34% de volatilidad, un 39.58% de pérdida máxima, es decir; la experiencia asegurada de ver casi la mitad de su capital evaporarse en el aire antes de, tal vez, volver a ganar? Le recomiendo el libro Exuberancia Irracional de Schiller para ver qué sucede con los  inversores growth conservadores frente a una de esas caídas tremendas. Por muy rico que usted sea, se trata de corazón, y no de pulmón.

Nobody Knows You…

Me despido de ustedes dejándoles una canción que para mí representa de manera estupenda el sesgo de los supervivientes, en la versión de The Dawlins, una excelente banda de Country Ibérico como ellos mismos se definen y que, como tantos tesoros, tuve el placer de encontrar paseando por El Rastro de Madrid.

‘Cause no, no, nobody knows you
When you’re down and out.
In your pocket, not one penny,
And as for friends, you don’t have any.

En los próximos posts vamos a profundizar en las siguientes cuestiones:

• ¿Cómo reflejamos los mayores costes de intermediación en los que incurrimos con una estrategia activa frente a una pasiva?

• ¿Cómo podemos optimizar nuestros indicadores?

• ¿Cómo priorizamos entre diferentes oportunidades de inversión?

Anuncios

Un comentario en “Los Muertos No Hablan

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s