Top Posiciones
Por Sector
Por Tipo de Activo
TIPO
ActivoTipoSector PosiciónP.Coste medio Precio act.Valor € Inv. puro €Comisiones € G/P €G/P %

* G/P calculada sobre inversión pura (precio × cantidad), sin incluir comisiones ni impuestos.

PERÍODO
Tipo:
Fecha Tipo Broker Ticker Nombre Cant. Precio Comisión € Impuestos € Inv. pura € Total €
Dividendos & Cupones
Renta por Activo
Historial
FechaTipoTickerNombreNeto €
Evolución de la Cartera
Valor real desde snapshots diarios · coste acumulado donde no hay snapshot
Total Invertido
Valor Mercado
Valor Total (incl. renta+GP)
Distribución
Métricas Clave
📈 Rentabilidad vs Benchmarks
Calculado automáticamente · Haz clic en un % de benchmark para editarlo
Año Aportado € Val.Inicio € Val.Fin € Renta € G/P Real. € Bonus € Mi ROR S&P 500 % MSCI W. % IBEX 35 % Alpha Veredicto

* ROR = (ValFin − ValIni − Aportado + Renta + Bonus + G/P Real.) / ValIni  ·  Renta = divid.+cupones+staking+interés  ·  Bonus separado  ·  Cash excluido  ·  Clic en % para editar

❓ Ayuda & Guía de uso
🚀 Primeros pasos

Bienvenido al MAF Portfolio Tracker. Sigue estos pasos para empezar:

PasoQué hacer
1Configura tus brokers — ve a ⚙️ Configuración → Brokers y añade los brokers que usas
2Añade tus movimientos — pulsa + Añadir o importa desde CSV (Movimientos → Importar CSV)
3Actualiza precios — desde Netlify/PWA se hace automáticamente; desde archivo local, manualmente en Cartera
4Haz backup — Backup → Exportar. Guarda el .json en un lugar seguro. Importa al abrir la app
5Instala como PWA — Safari → □↑ → Añadir a pantalla de inicio. Así los datos persisten sin backup manual
💡 Orden recomendado para introducir datos históricos
Introduce los movimientos en orden cronológico: primero Depósitos, luego Compras, luego Dividendos y Ventas. Así el efectivo y los cálculos de coste medio serán correctos desde el principio.
📋 Movimientos y tipos

Cada operación que realices se registra como un movimiento. La app calcula automáticamente tu cartera, efectivo y rentabilidad a partir de ellos.

TipoCuándo usarloCampos obligatorios
CompraCompra de cualquier activoTicker, Cantidad, Precio
VentaVenta de cualquier activoTicker, Cantidad, Precio
DividendoCobro de dividendo de acción o fondoTicker, Importe neto
Cupón BonoCobro de cupón de bono o renta fijaTicker, Importe neto
DepósitoEntrada de dinero en el brokerImporte
RetiradaSalida de dinero del brokerImporte
BonusBonificación, cashback del brokerTicker, Importe neto
Staking / InterésRendimientos de cripto o cuenta remuneradaTicker, Importe neto
Traspaso SalidaSalida de fondo origen en traspasoTicker, Cantidad, Precio mercado
Traspaso EntradaEntrada en fondo destino en traspasoTicker, Cantidad, Precio mercado
SplitDesdoblamiento de accionesTicker, Cantidad a añadir
⬆ Importar CSV

Puedes importar movimientos masivamente desde un archivo CSV. La primera fila debe ser la cabecera. El separador puede ser coma, punto y coma o tabulador.

⚠️ Si usas coma decimal (ej: 0,91), usa punto y coma como separador de columnas

Formato completo:

fecha,tipo,ticker,nombre,tipo_activo,sector,divisa,cantidad,precio,comision,tc,broker

Ejemplos:

# Depósito 2025-01-10,Depósito,,,,,,1,5000,0,1,DEGIRO # Compra EUR 2025-02-01,Compra,ITX.MC,Inditex,Acción,Cons. Discrecional,EUR,50,38.50,3.00,1,Santander # Compra USD 2025-02-10,Compra,AAPL,Apple Inc.,Acción,Tecnología,USD,10,182.50,5.00,0.92,Interactive Brokers # Dividendo 2025-03-10,Dividendo,ITX.MC,Inditex,Dividendo,Cons. Discrecional,EUR,1,62.50,0,1,Santander # Traspaso 2025-04-01,Traspaso Salida,FONDO_A,Fondo Origen,Fondo Inversión,Diversificado,EUR,500,20.00,0,1,MyInvestor 2025-04-01,Traspaso Entrada,FONDO_B,Fondo Destino,Fondo Inversión,Diversificado,EUR,400,25.00,0,1,MyInvestor # Split 4:1 — tenías 10 acciones, añades 30 2025-06-01,Split,AAPL,Apple Inc.,Acción,Tecnología,USD,30,0,0,0.92,Interactive Brokers
💵 Efectivo y cash por broker

La app calcula automáticamente el efectivo disponible en cada broker. Todo en euros internamente.

MovimientoEfecto en efectivo
Depósito+ suma
Retirada− resta
Compra− resta el total pagado
Venta+ suma el total recibido
Dividendo / Cupón / Bonus+ suma el importe neto
💡 Efectivo negativo
Indica compras registradas sin depósito previo. Útil para detectar datos incompletos.
💱 Divisas y Tipo de Cambio (TC)

Todos los importes se almacenan en euros. El campo TC indica cuántos euros vale 1 unidad de la divisa del activo.

DivisaTC ejemploSignificado
EUR1Sin conversión
USD0.921 USD = 0,92 €
GBP1.171 GBP = 1,17 €
💡 TC en ventas y dividendos
Usa el TC del día de la operación, no el de la compra original.
🔄 Traspasos entre fondos

Un traspaso es fiscalmente neutro — el coste del fondo origen se hereda en el destino. Se registra con dos movimientos:

PasoTipoDescripción
1Traspaso SalidaCierra posición en fondo origen al precio de mercado
2Traspaso EntradaAbre posición en fondo destino heredando el coste
📌 Usa la misma fecha e importe total en ambos movimientos
✂️ Splits de acciones

Un split aumenta el número de acciones sin cambiar el valor total. En Cantidad introduce las acciones adicionales que recibes (negativo para split inverso).

RatioTienesAñadesResultado
2:150+50100
4:110+3040
1:10 inverso100−9010
💰 Dividendos, Cupones y otras rentas

El importe que introduces es siempre el neto recibido en cuenta (ya descontadas retenciones).

💡 Ejemplo con retención
Dividendo bruto: 100€ · Retención 19%: 19€ → Introduce 81€ como importe neto

Las rentas suman al efectivo del broker y aparecen en la pestaña Dividendos filtradas por año y ticker.

💾 Backup y persistencia de datos

La app guarda los datos en el navegador (IndexedDB). La persistencia depende de cómo accedas:

Modo de usoPersistencia
📱 PWA instalada (iPhone o Mac)✅ Permanente
🌐 Netlify en Safari (sin instalar)⚠️ Puede borrarse
📄 Archivo local file://❌ No persiste en Safari
📋 Flujo de backup manual
1. Al terminar → Backup → Exportar → guarda portfolio-datos.json
2. Al abrir → Backup → Importar → selecciona el .json
3. El archivo sobreescribe siempre el anterior (no acumula copias)

El botón ↩ Deshacer revierte las últimas 10 acciones en la misma sesión.
💡 Instalar como PWA — solución definitiva
Safari → botón compartir (□↑) → Añadir a pantalla de inicio. Los datos persisten permanentemente sin backup manual.
💼 Cartera y filtros

La pestaña Cartera muestra todas tus posiciones abiertas con tres niveles de filtros combinables:

NivelFiltroEjemplo
1Broker (barra arrastrable)Global · DEGIRO · Santander…
2Tipo de activo (pills)Acciones · ETFs · Bonos · Cripto…
3Sector + Divisa (dropdowns)Tecnología + USD
💡 Los filtros son acumulables — usa ✕ Limpiar filtros para resetear
🔄 Precios automáticos

Al arrancar, la app actualiza automáticamente los precios de todos tus tickers desde Yahoo Finance (máximo una vez cada 15 minutos). El indicador en la barra superior muestra el estado:

IndicadorSignificado
🔄 actualizando…Fetch en curso
✅ hh:mmTodos los precios actualizados correctamente
⚠️ N ok · N manualAlgunos tickers no tienen precio en Yahoo — introdúcelos manualmente haciendo clic en el precio en Cartera
⚠️ Solo funciona desde URL (Netlify, servidor…)
Desde archivo local file:// el navegador bloquea las llamadas a Yahoo Finance.
📊 Análisis

Métricas clave

MétricaQué muestra
Valor de mercadoPrecio actual × cantidad de todas las posiciones abiertas
Beneficio latenteValor mercado − Coste de compra, con % sobre coste
Retorno totalBeneficio latente + dividendos cobrados + G/P realizadas
Renta recibidaSuma de dividendos, cupones, staking e intereses
ComisionesTotal pagado en comisiones y su % sobre coste total
Mejor / Peor posiciónTicker con mayor y menor G/P% en la cartera actual
Mayor concentraciónTicker con más peso y su % sobre el total del portfolio

Gráfico de evolución

Tres líneas a lo largo del tiempo: Total Invertido (coste acumulado), Valor Mercado y Valor Total (incluyendo renta y G/P realizadas).

📸 Snapshots — cómo se construye el historial
El gráfico usa snapshots diarios (fotos del valor de la cartera en un momento concreto).

· Se guardan automáticamente cada vez que se actualizan los precios
· Puedes guardar uno manualmente con el botón 📸 Snapshot
· Períodos con snapshot → valor real (punto visible en el gráfico)
· Períodos sin snapshot → coste acumulado como aproximación

Con el tiempo, los snapshots diarios irán completando el historial real.

Donut de distribución

VistaAgrupa por
Por brokerPeso de cada broker ponderado por coste real de compras
Por tipoAcciones, ETFs, Bonos, Cripto…
Por sectorTecnología, Financiero, Salud…
📈 Rentabilidad vs Benchmarks

Compara tu rentabilidad anual (ROR — Rate of Return) con los principales índices bursátiles. Los datos de benchmarks se obtienen automáticamente desde Yahoo Finance al arrancar la app.

¿Qué es el ROR?

El ROR mide cuánto han crecido tus inversiones en un año, descontando el dinero nuevo que hayas aportado ese año. Si metes 10.000€ en diciembre y el mercado no se mueve, tu ROR es 0% — no has ganado ni perdido nada.

🧮 Fórmula ROR anual
(Valor fin año − Valor inicio año − Aportaciones + Rentas + G/P realizadas) / Valor inicio año × 100
· Valor inicio año — coste acumulado de la cartera al 1 enero
· Aportaciones — compras y traspasos entrada realizados ese año
· Rentas — dividendos, cupones, staking, intereses cobrados
· G/P realizadas — plusvalías de ventas ejecutadas ese año

Columnas de la tabla

ColumnaQué significaFuente
Mi RORTu rentabilidad anual realCalculada de tus movimientos
S&P 500 %Retorno del índice de las 500 mayores empresas de EE.UU.Yahoo Finance ^GSPC
MSCI World %Retorno del índice mundial de países desarrollados (~1.500 empresas)Yahoo Finance IWDA.AS
IBEX 35 %Retorno del índice español de las 35 mayores empresasYahoo Finance ^IBEX
AlphaTu ROR menos el S&P 500. Positivo = batiste al mercado americanoCalculada
Veredicto✅ Positivo si tu ROR > 0% · ❌ Negativo si tu ROR < 0%Calculada

¿Por qué comparar con estos índices?

Estos índices representan lo que habrías ganado comprando un ETF de mercado en vez de gestionar tu propia cartera. Si tu ROR supera al S&P 500 de forma consistente, estás añadiendo valor con tu selección de activos — algo que la mayoría de gestores profesionales no logran a largo plazo.

⚠️ Limitación del ROR en años pasados
Para calcular el ROR de un año pasado necesitarías el valor de mercado real de tu cartera el 31 de diciembre. Como la app no tiene precios históricos de tu cartera, usa el coste acumulado como aproximación — lo que hace que el ROR de años anteriores sea 0% o incorrecto.

Con el tiempo, los snapshots diarios automáticos irán mejorando esta precisión. Solo el año en curso tiene ROR fiable.
✏️ Edición manual de benchmarks
Haz clic en cualquier celda de benchmark para editarla manualmente. El dato manual tiene prioridad sobre el automático. Útil si el fetch falla o si tienes fuentes más precisas.
🔄 Actualización automática
Los benchmarks se fetchen al arrancar desde Yahoo Finance (requiere conexión y URL https, no funciona desde file://). El año en curso siempre se refresca. Los años anteriores se cachean y no se vuelven a pedir.
🧮 Fórmulas y cálculos
ConceptoFórmula
Inversión puraCantidad × Precio / TC
Total pagadoInv. pura + Comisión/TC
Coste medioSuma(inv. puras) / Cantidad total
G/P latente €Valor actual − Inversión pura
G/P latente %(G/P € / Inversión pura) × 100
G/P realizada(Precio venta − Coste medio) × Cantidad vendida
Retorno totalG/P latente + Dividendos + G/P realizadas
Yield(Total dividendos / Inversión pura) × 100
ROR anual(Val.Fin − Val.Ini − Aportado + Rentas + G/P real.) / Val.Ini × 100
AlphaROR − S&P 500 %
Efectivo brokerDepósitos − Retiradas − Compras + Ventas + Rentas
📌 G/P latente vs realizada
La G/P latente se calcula sobre inversión pura (sin comisiones). La G/P realizada usa el coste medio real acumulado de todas las compras del ticker en el mismo broker.