Acceder

(I) La herramienta gratuita para analizar activos como un profesional (sin Excel ni saber programar)


Una herramienta gratuita para analizar los valores de tu cartera


Sin Excel, sin fórmulas, sin conocimientos informáticos.

📥 Descarga el notebook:  Analizar_Valor_blog_4.ipynb 

Puedes subirlo a tu Google Drive y ejecutarlo desde ahí, abrirlo directamente en Google Colaboratory.

¿Qué es exactamente esta herramienta?


Durante los últimos meses he ido construyendo —con ayuda de inteligencia artificial— un pequeño programa en Python que hace algo muy concreto: analiza cualquier fondo o acción con la profundidad de una hoja Bloomberg, pero sin coste y sin necesidad de saber programar.

No es un robot de trading. No toma decisiones por ti.

Es, más bien, como tener un analista técnico y cuantitativo que nunca se cansa de calcular ratios, generar gráficas y darte un diagnóstico claro.

Todo ello en tu propio ordenador, sin cuotas mensuales ni datos personales en la nube de nadie.

¿Para quién es?


Para el inversor particular conservador que gestiona su propia cartera y quiere entender:

  • si un fondo lo está haciendo bien ajustado por riesgo
  • si la volatilidad es razonable
  • si el gestor aporta valor
  • cómo se compara frente a un benchmark

…pero sin pelearse con Excel ni aprender Python.

El programa funciona en modo menú: eliges lo que quieres ver y listo.

Aviso legal


Esta herramienta es exclusivamente educativa.
No constituye asesoramiento financiero.
Contrasta siempre los resultados con otras fuentes y, si tienes dudas, consulta con un asesor profesional certificado.

¿Qué problema resuelve?


El inversor conservador típico tiene entre 5 y 15 fondos: monetarios, renta fija corto plazo, mixtos defensivos, retorno absoluto… Y aunque sabe que existen métricas para evaluar el riesgo, calcularlas a mano es tedioso y los portales gratuitos suelen mostrar solo la rentabilidad bruta.

¿Cuántas veces has visto un fondo con un 8% anual y has pensado:

“¿Pero cuánto riesgo está tomando para conseguirlo?”

Eso es exactamente lo que resuelve este programa:

  • Descarga los datos históricos automáticamente desde Yahoo Finance
  • Calcula todas las métricas relevantes de un vistazo
  • Te da un diagnóstico con semáforos: 🟢 bien / 🟡 atención / 🔴 mal
  • Compara tu fondo con S&P 500, Ibex 35 o MSCI World
  • Genera un informe HTML y un Excel que puedes guardar

Las métricas que calcula (y qué significa cada una)


Una de las claves del programa es que no solo da el número, sino que explica qué significa y cómo interpretarlo.


Métricas


Además, incorpora indicadores técnicos como RSI, MACD, Bandas de Bollinger, ADX y Estocástico.

Las 11 funcionalidades del menú

📊 1. Análisis básico rápido


Rentabilidad total, volatilidad y días de datos.

⚙️ 2. Análisis técnico completo


Las 10 métricas principales con tu importe real invertido.

🩺 3. Diagnóstico detallado


Semáforos explicados y puntuación global sobre 16 puntos.

📈 4. Gráficas completas


Precio, medias móviles, MACD, RSI, Bollinger y volumen.

📄 5. Informe HTML


Listo para abrir o compartir.

🎯 6. Comparación con benchmark


Beta, Alfa, R², Tracking Error e Information Ratio.

🔄 7. Backtesting de estrategias


Buy&Hold, medias móviles, RSI, MACD…

📐 8. Optimización Markowitz


Frontera eficiente y pesos óptimos.

🚨 9. Alertas automáticas


Por precio o RSI.

📊 10. Gráfico interactivo Plotly


Velas japonesas con zoom y filtros.

📑 11. Exportar a Excel


Resumen, datos históricos e indicadores técnicos.

Fondos incluidos por defecto


Fondos incluidos por defecto


Añadir tus propios fondos es tan simple como editar tres líneas del diccionario.
Dentro de la categoría que corresponda, añade estas tres líneas al diccionario 'FONDOS_DATA?.

'Nombre completo de tu Valor/fondo': {
    'ISIN': 'ESxxxxxxxxxx',
    'ticker': 'xxxxxxxx.F'
}
,

Cuándo es especialmente útil

1) Comparar dos fondos de renta fija


El A da 4,2% y el B 3,8%.
Pero el Sortino muestra que el A asume el doble de volatilidad negativa.
El B gana.

2) Evaluar un fondo activo caro


Si pagas 1,5% de comisión, comprueba su Alfa.
Si es negativo, estás pagando por rendir peor que un indexado.

3) Revisar tu cartera completa


Con Markowitz puedes ver qué combinación de pesos minimiza riesgo o maximiza Sharpe.


Lo que el programa NO hace

  • No accede a tu bróker ni a tu cartera real
  • No predice el futuro
  • No considera fiscalidad ni costes personales
  • Yahoo Finance puede tener lagunas en fondos españoles
  • No sustituye a un asesor financiero

Próximo post


En la segunda entrada explicaré:

  • cómo instalar Python en Windows sin complicaciones
  • cómo lanzar el notebook
  • cómo hacer tu primer análisis
  • cómo añadir tus propios fondos al diccionario

Si tienes dudas o sugerencias, estaré encantado de leerlas en los comentarios.
Y si ya conoces Python y quieres contribuir, bienvenido.

📌 El código es libre y gratuito.  
Úsalo, modifícalo y compártelo bajo tu responsabilidad.




8
¿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 Juan Omni
    -
    #8
    05/04/26 23:27
    Descaraga el fichero de instalación para anaconda 3. Le das permisos para ejecución. Si a todo lo que te pida. Te creara un directorio denominado 'anaconda3'. 
    Para abrir la aplicación vas a la terminal (en linux)  o a la equivalente en Windowsa haciendo
    • Pulsa Win + R, escribe cmd y Enter
    • O busca “Símbolo del sistema” en el menú Inicio

    Guía paso a paso para arrancar Jupyter Lab desde la carpeta de Anaconda


    01 Abrir una terminal en Windows


    Necesitas una consola para ejecutar los comandos de Anaconda.

    • Pulsa Win + R, escribe cmd y presiona Enter
    • O abre PowerShell desde el menú Inicio
    • También puedes usar Windows Terminal si la tienes instalada

    02 Ir a la carpeta donde se instaló Anaconda3


    Jupyter Lab se encuentra dentro de la carpeta principal de Anaconda.

    cd C:\\Users\\TU_USUARIO\\anaconda3
    • Sustituye TU_USUARIO por tu nombre real de usuario en Windows
    • Si instalaste Anaconda en otra ruta, usa esa ruta en su lugar

    03 Ejecutar Jupyter Lab

    Inicio del entorno

    Una vez dentro de la carpeta correcta, puedes lanzar el entorno.

    jupyter lab
    • Se abrirá automáticamente en tu navegador por defecto
    • Si no se abre, copia la URL que aparece en la terminal y pégala en el navegador

    Una vez abierta la aplicación, buscas el directorio donde has descargado el notebook y lo ejecutas pulsando dos veces con al ratón.
    ¡Animo y suerte!. 
  2. en respuesta a efueyo
    -
    #7
    05/04/26 23:00
    Ya me funciona, voy a ver si instalo anaconda. Gracias por la ayuda.
  3. en respuesta a Juan Omni
    -
    #6
    05/04/26 19:24
    De todas formas, en Colaboratory, la ejecución de los  scripts van  muy lenta. Es bueno para 'no informáticos', pero, mi recomendación es que, en paralelo, vayáis intentando instalar anaconda (contienepython,  jupyter lab y  además muchos de los paquetes que posteriormente vamos a necesitar. Merece la pena gastar un poco de tiempo y esfuerzo intentándolo. Yo os puedo ayudar.
  4. en respuesta a efueyo
    -
    #5
    05/04/26 14:57
    Buenas tardes, lo estoy ejecutando en Colaboratory, veo que si ha creado las carpetas y descargados los .csv. Voy a probar a borrar y empezar otra vez. A ver si si atranco ayer y arrastraba algo inicial.
  5. en respuesta a efueyo
    -
    #4
    04/04/26 16:41
    Esta es la configuración de directorios que crea y cómo se refiere a ellos en el interior del script

    '# Configuración de rutas
        config = {
            "entorno": entorno,
            "NOTEBOOK_DIR": base_dir,
            "DIR_CARTERAS": directorios["Carteras"],
            "DIR_DATOS": directorios["Cotizaciones_CSV"],
            "DIR_DESCARGAS": directorios["Cotizaciones_CSV"],
            "DIR_EXPORTS": directorios["exports"],
            "DIR_ALERTAS": directorios["Alertas"],
            "CSV_DIR": directorios["Cotizaciones_CSV"],
            "DOWNLOAD_DIR": directorios["Cotizaciones_CSV"],
            "EXPORT_DIR": directorios["exports"],
        }'

    Prueba a crar tu mismo estos directorios ''Carteras', 'Cotizaciones_CSV, exports y Alertas'. El programa detectará que ya existen y continuará.
  6. en respuesta a Juan Omni
    -
    #3
    04/04/26 16:37
    Lo primero que hay que ejecutar es la celda '

    Detectar el entorno y crear las carpetas necesarias'. Este script se encarga de detectar si te encuentras en Colaboratory o en tu ordenador y, lo que hace es crear en el directorio donde estas ejecutando el notebook, las carpetas 'Carteras, Cotizaciones_CSV, exports y alertas'. En la carpeta 'Cotizaciones_CSv', al ejecutar el script que va a continuación 'Analizar un valor', lo primero que solicita es si quieres importar/actualizar las cotizaciones o no. Si dices 's', recomendable la primera vez que lo ejecutes, descarga las cotizaciones de los valores incluidos en el diccionario 'FONDOS_DATA = {
        'Renta variable': {
            'Cobas LUX SICAV - Palm Harbour Global Value Fund-F Acc EUR': {
                'ISIN': 'LU1935059029',
                'ticker': '0P0001H8HK.F'
            },
            'Vanguard Global Stock Index Fund EUR Acc': {
                'ISIN': 'IE00B03HD191',
                'ticker': '0P00000WLG.F'
      ...', en ficheros CSV, en la carpeta 'Cotizaciones_CSV'. El nombre de esos ficheros es '[ISIN].csv'. En esa misma carpeta puedes introducir otros ficheros de cotizaciones que hayas podido obtener de otros bancos o gestoras en formato CSV, que tengan almenos una columna con el nombre 'Date', y otra con 'Close'. Mejor si tienen las mismas columnas con los mismos nombres que los ficheros descargados de Yahoo. Esos nombres los puedes modificar tu fácilmente. A media que vaya conociendo las dificultades que encontráis, trataré de mejorarlo pra hacerlo más amigable.

  7. en respuesta a Juan Omni
    -
    #2
    04/04/26 16:23
    ¿lo estás ejecutando en Colaboratory o en yu oredandor?. Si es en tu ordenador, es en Jupyter lab o en otra aplicación?
  8. #1
    04/04/26 14:53
    Gracias por la aportación tan completa. Lo he instalado y ejecutado, pero me da un error y no finaliza; 
    ❌ Error inesperado: name 'DIR_DATOS' is not defined
    Traceback (most recent call last):
      File "/tmp/ipykernel_13546/1660194873.py", line 2007, in <cell line: 0>
        menu_principal_v3()
      File "/tmp/ipykernel_13546/1660194873.py", line 1639, in menu_principal_v3
        manager = DownloadManager(DIR_DATOS, FONDOS_DATA)
                                  ^^^^^^^^^
    NameError: name 'DIR_DATOS' is not defined