Acceder

Inversión Indexada. Cómo replicar al mercado (y simularlo con Python)


La inversión indexada es una estrategia pasiva que busca replicar el rendimiento de un índice de mercado, como el S&P 500, el MSCI World o el MSCI ACWI. En lugar de intentar superar al mercado seleccionando acciones individuales, los inversores indexados compran fondos que replican un índice, obteniendo así el rendimiento promedio del mercado. Este enfoque ha ganado popularidad debido a su simplicidad, bajo coste y su buen rendimiento comparativamente alto a largo plazo.

Una de las principales ventajas de la inversión indexada, que suele pasar desapercibida (pero no debería), es su eficiencia en costes. Los fondos indexados, ya sean ETFs o fondos mutuos, suelen tener comisiones mucho más bajas que los fondos gestionados activamente, lo que a largo plazo puede marcar una gran diferencia en los rendimientos netos de los inversores. Además, como no requieren una gestión activa, no es necesario estar constantemente monitorizando el mercado o ajustando la cartera, con lo cual es una de las estrategias de inversión más fáciles de gestionar a lo largo del tiempo.

Otra ventaja clave es que los estudios han demostrado que, a largo plazo, la grandísima mayoría de los gestores de fondos activos no logran superar consistentemente a los índices de mercado. Esto significa que, al seguir una estrategia de inversión indexada (siempre que elijamos el índice correcto, lo cual no es tema menor), los inversores obtienen el rendimiento promedio del mercado, que históricamente ha sido positivo a largo plazo, sin asumir el riesgo adicional de intentar superar al mercado.

1. Perfil de Inversor Ideal


Esta estrategia es la "piedra angular" de la inversión para la gran mayoría de las personas. Es ideal para:

  • Inversores con poco tiempo: Quienes tienen su trabajo, su familia y no quieren (o no pueden) dedicar horas a analizar balances de empresas o mirar gráficos a diario.
  • Mentes racionalistas: Aquellos que aceptan que batir al mercado a largo plazo es estadísticamente muy difícil y prefieren asegurarse el rendimiento medio del mercado en lugar de arriesgarse a quedarse por debajo.
  • Horizonte temporal largo: Como la volatilidad de la renta variable se suaviza con los años, es recomendable tener un horizonte de 7 a 10 años.

2. Ventajas y Desventajas


Ventajas:

  • Costes bajísimos: Los ETFs o fondos indexados pueden tener comisiones (TER) desde el 0,10% hasta el 0,40%, frente al 1,5% o 2% habitual en la gestión activa.
  • Diversificación instantánea: Con una sola compra (ej. un ETF MSCI World) tienes exposición a más de 1.500 empresas de todo el mundo.
  • Simplicidad y paz mental: Compras, haces aportaciones periódicas y básicamente no tienes que hacer nada más.

Desventajas:

  • No hay protección a la baja: En una crisis financiera, tu cartera caerá exactamente lo mismo que el mercado. No hay gestor que venda a tiempo para protegerte.
  • Aburrimiento psicológico: Para algunos inversores, la falta de acción es difícil de gestionar.
  • Riesgo de concentración geográfica o sectorial: Índices como el S&P 500 están muy concentrados actualmente en EE. UU. y en el sector tecnológico.

3. Cómo Implementarla (La Mecánica)


  1. Elegir el índice: La opción más filosóficamente pura es un índice global como el MSCI ACWI (85% países desarrollados + 15% emergentes) o el MSCI World (solo desarrollados). Para los más conservadores, un índice de Renta Fija Global (Bonos Aggregate).
  2. Elegir el vehículo:
    • Fondos indexados: Perfectos para automatizar aportaciones mensuales y eficientes fiscalmente en España (permiten traspasos).
    • ETFs: Más flexibles, cotizan en bolsa como acciones. Recomendamos elegir siempre los de acumulación (reinvierten dividendos) para diferir impuestos.
  3. Aportaciones periódicas (DCA): Configurar una transferencia mensual automática de tu cuenta bancaria al fondo/ETF. Comprarás más cuando el mercado baje y menos cuando suba.
  4. Rebalanceo anual: Revisar una vez al año si tu porcentaje de acciones vs. bonos se ha desviado de tu objetivo y ajustarlo.

4. Errores Comunes a Evitar


  • Síndrome del "Maestro del Mercado" (Market Timing): Intentar dejar de comprar porque "el mercado está caro" o vender porque "viene una crisis". Esto destruye la rentabilidad de la indexación.
  • Confundir indexación con comprar cualquier ETF: Un ETF sectorial de IA o de criptomonedas no es inversión indexada a largo plazo, es una apuesta especulativa. La indexación busca abarcar toda la economía.
  • Mirar la cartera todos los días: Cuanto más mires, más sufrirás con la volatilidad diaria. Pon aportaciones automáticas y míralo una vez al trimestre.

5. Ejemplo Práctico y Simulación con Python


Una de las mejores formas de entender el poder de la inversión indexada es ver cómo habría evolucionado una inversión en los últimos 10 años, no solo en rentabilidad, sino en riesgo. 


Para ello, hemos desarrollado un script en Python. Si nunca has programado, no te preocupes. Te facilitamos el código y el manual para que puedas ejecutarlo fácilmente.

📁 Acceso a los ficheros y código


Puedes descargar el código y el manual desde los siguientes enlaces (o desde nuestro repositorio):


¿Cómo ejecutarlo en Google Colaboratory?
Puedes ejecutar el código fácilmente y sin instalar nada de dos maneras:

  1. Importa el fichero .ipynb en tu Google Drive y ábrelo con Google Colaboratory.
  2. Importa el fichero directamente desde la web de Google Colab.

Antes de ejecutar el código, es importante entender de dónde obtenemos los datos y las responsabilidades que conlleva su uso.


⚠️ Advertencia Legal y de Uso de Datos (yfinance)


Para trabajar con datos históricos de fondos o activos, tienes dos opciones principales:


🔹 Opción A: Descargar datos desde las gestoras oficiales Descarga los datos directamente desde las páginas web de las gestoras (ej: Renta 4, Vanguard, iShares, Amundi, etc.). Son datos oficiales y precisos, sin diferencias respecto a la fuente, y su uso no conlleva riesgos legales. Guárdalos en una carpeta específica (ej: Datos_fondos_csv/) para mantener el proyecto organizado.


🔹 Opción B: Uso de plataformas públicas (Yahoo Finance + yfinance) Para facilitar la automatización, los scripts de esta guía utilizan la librería yfinance (licencia Apache 2.0) para descargar datos desde Yahoo Finance.


Precauciones y limitaciones de yfinance:

  • No oficial: yfinance es una herramienta no oficial y no está afiliada, avalada ni respaldada por Yahoo Inc.
  • Términos de Servicio: El uso de yfinance puede violar los Términos de Servicio de Yahoo. El usuario es el único responsable de cumplirlos.
  • Uso permitido: Los datos descargados a través de este código son exclusivamente para uso educativo o personal. No está permitido redistribuirlos, venderlos o usarlos con fines comerciales.
  • Precisión: Estos datos pueden presentar pequeñas diferencias con respecto a las fuentes oficiales. Para decisiones críticas de inversión, se recomienda contrastar la información con la documentación oficial de la gestora.

Simulación: Cartera para un inversor de 70 años (40/40/20)


Para este ejemplo, vamos a simular la cartera de un inversor de 70 años. A esa edad, el objetivo principal ya no es multiplicar el capital agresivamente, sino preservarlo frente a la inflación y evitar que una crisis bursátil afecte a su estilo de vida. 


Hemos configurado una cartera con una inversión inicial de 10.000€ repartida de la siguiente manera:

  • 40% Renta Variable Global: Vanguard Global Stock (0P00000WLG.F)
  • 40% Renta Fija Corto Plazo: Vanguard Short Bond (0P00012NJH.F)
  • 20% Renta Fija Largo Plazo: Vanguard Global Bond (0P00012I69.F)

Para demostrar la importancia del punto 3 (el Rebalanceo Anual), el script compara dos escenarios:

  1. Buy & Hold: Compramos los fondos el 1 de enero de 2014 y nunca volvemos a tocarlos, dejando que la renta variable crezca libremente.
  2. Rebalanceo Anual: Cada 1 de enero, vendemos/compramos para forzar que la cartera vuelva a estar exactamente al 40/40/20.

Al ejecutar el script, este descarga los datos reales, calcula métricas profesionales de riesgo y emite un diagnóstico automático. Este ha sido el resultado real de la simulación:


📊 MÉTRICAS: CARTERA 40/40/20 (CON REBALANCEO ANUAL)

  • Retorno Total: 26.34%
  • Rentabilidad Anual (CAGR): 3.96%
  • Volatilidad Anualizada: 6.70%
  • Ratio de Sharpe: 0.59
  • Máxima Caída (Max Drawdown): -14.65%

🧠 DIAGNÓSTICO: CARTERA 40/40/20 (CON REBALANCEO ANUAL)


🟢 Ratio de Sharpe bueno (0.59): Buena relación entre rentabilidad y riesgo. 🟡 CAGR modesto (3.96%): Crece, pero apenas supera la inflación esperada. 🟡 Caídas máximas moderadas (14.65%): Se requieren nervios de acero durante las crisis bursátiles.

📊 MÉTRICAS: BUY & HOLD (MISMOS ACTIVOS, SIN TOCAR)

  • Retorno Total: 29.67%
  • Rentabilidad Anual (CAGR): 4.41%
  • Volatilidad Anualizada: 7.74%
  • Ratio de Sharpe: 0.57
  • Máxima Caída (Max Drawdown): -16.32%

🧠 DIAGNÓSTICO: BUY & HOLD (MISMOS ACTIVOS, SIN TOCAR)


🟢 Ratio de Sharpe bueno (0.57): Buena relación entre rentabilidad y riesgo. 📈 CAGR bueno (4.41%): Supera con creces la inflación histórica media. 🟡 Caídas máximas moderadas (16.32%): Se requieren nervios de acero durante las crisis bursátiles.

Análisis de los resultados: ¿Por qué es importante el rebalanceo?


A simple vista, uno podría pensar: "Si el Buy & Hold me da un 4.41% de rentabilidad y el rebalanceo solo un 3.96%, ¡mejor no toco la cartera!". 

Sin embargo, la magia está en el riesgo. Al no tocar la cartera (Buy & Hold), la renta variable fue creciendo y desequilibrando la proporción inicial. Por eso, en la peor crisis (como el Covid en 2020), la cartera sin tocar cayó un -16.32% y tuvo una volatilidad del 7.74%. 

En cambio, la cartera rebalanceada vendió acciones cuando estaban caras y compró bonos, manteniendo siempre el perfil conservador del inversor de 70 años. Esto hizo que su caída máxima fuera menor (-14.65%) y su volatilidad también (6.70%). La consecuencia es que su Ratio de Sharpe (que mide la rentabilidad ajustada al riesgo) es superior (0.59 vs 0.57). 

El rebalanceo nos ha hecho ganar un poco menos, pero lo hemos hecho asumiendo menos riesgo. Para un inversor de 70 años, dormir tranquilo vale ese 0.45% de diferencia.

¡Prueba a descargar el código y modificar los pesos o los fondos en Google Colab! Verás cómo, a pesar de las caídas puntuales, la tendencia a largo plazo y el colchón de renta fija hacen su magia.

6. Conclusión


La inversión indexada no es la estrategia que te hará rico de la noche a la mañana, pero es estadísticamente la más segura para construir un patrimonio sólido a lo largo de las décadas. Es el punto de partida perfecto: incluso si más adelante decides aprender Value Investing o Inversión en Dividendos, la indexación debería seguir siendo el núcleo de tu cartera.


🚫 Aviso Legal y Exención de Responsabilidad Este proyecto se proporciona "tal cual", sin garantías de ningún tipo. No constituye asesoramiento financiero, fiscal ni de inversión, sino un contenido puramente educativo e informativo. El rendimiento pasado no garantiza resultados futuros. Cualquier decisión de inversión tomada basándose en este código o en los textos de este artículo es responsabilidad exclusiva del usuario.


3
¿Te ha gustado mi artículo?
Si quieres saber más y estar al día de mis reflexiones, suscríbete a mi blog y sé el primero en recibir las nuevas publicaciones en tu correo electrónico
  1. en respuesta a drlucafiorini
    -
    #3
    21/08/26 20:50
    He revisado el código y el manual de usuario, que os recomiendo leer. También he mejorado el texto de esta entrada, incluyendo el enlace al repositorio en el que se encuentran los dos ficheros. Si continúas teniendo problemas, no dudes en decírmelo. Una mejora importante que he incorporado en el código es la comparación de la evolución de la crtera, manteniendo la inversión (B&H) y aplicando la estrategia.
  2. #2
    21/08/26 18:54
    Gracias por el codigo.
    • Al menos en mi version de python (3.8.10), al ejecutar el plt.plot  me dice que 
    "Multi-dimensional indexing (e.g. `obj[:, None]`) is no longer supported. Convert to a numpy array before indexing instead".
    La solución es sencilla (usar .values):
    plt.plot(valor_cartera.index.values, valor_cartera.values, label='Cartera 40/40/20 (70 años)', color='darkgreen', linewidth=2)

    • Estos instrumentos tienen historico (en yahoo finance) solo a partir de Enero 2018, así queha fecha de comienzo de 2014 se queda desfasada.

    Saludos.
  3. #1
    12/08/26 16:25
    🤝 Colaboración: Si tenéis algún problema al ejecutarlo o identificáis alguna métrica en los resultados que no os encaje, os agradezco que me lo hagáis saber en los comentarios. El objetivo es depurar el código entre todos para hacerlo cada vez más fiable.