…me cuesta entender esa lógica, la verdad!
El chico “cree” que el índice lo va a hacer mejor que su cartera de dividendos en los próximos 15 años.
Qué sentido tiene invertir en algo que crees que lo va a hacer peor durante 15 años?, si cuando realmente necesitas los dividendos es dentro de esos 15 años, no será mejor hacer crecer la cartera “más rápido” al principio y ya te pegaras un tiro en el pie dentro de 15 años pasándote a una estrategia peor?, según él, eeh, según él.
Ok, ok…gracias!
Si no me equivoco, esas rentabilidades de US500 y MSCI World son en USD.
Supongo que tienes la cartera en EUR. La comparación justa debería ser con la versión en euros que va a estar mucho más cercana a la rentabilidad de tu cartera
Muy buenas Roberto y gracias por pasarte por el hilo y feliz navidad!
Tienes toda la razón, si el objetivo es maximizar el patrimonio final, invertir en índices es el camino más eficiente. Sin embargo, la finalidad de la cartera de dividendos es construir una estrategia de flujos de caja, y lo mejor es empezar cuando antes por varios motivos.
- Si invierto todo en un índice y dentro de 15 años quisiera pasar a una estrategia basada en dividendos, tendría que vender toda la posición acumulada. Lo que me haría pasar por Hacienda.
- Además, quiero que la base de mi cartera sean empresas DGI. Si compro hoy compañías que aumentan su dividendo año tras año, mi rentabilidad sobre el coste inicial dentro de 15 años será mucho mayor que si compro esas mismas empresas en el futuro.
- Los diviendos me permiten contar con rentas periódicas que me ofrece flexibilidad. Puedo decidir si disfruto de esos ingeross, los reinvierto o aprovecho oportunidades de compra sin tener que vender nada de lo que ya tengo.
- El crear una cartera me motiva y me permite aprender acerca de negocios, gestión empresarial, comportamiento de la bolsa, etc. invitiendo en un fondo me resultaría más dificil
Hola Fran! Feliz Navidad!
Las rentabilidades de los fondos son en euros. He utilizado los sigueintes fondos para la comparativa
-
Vanguard U.S. 500 Stock Index Fund Investor EUR Accumulation
-
Fidelity MSCI World Index P-Acc-EUR
Con la respuesta de @ifrobertocarlos he hecho el siguiente ejercicio para evaluar la rentabilidad de una cartera DGI, el indice SP500 y el MSCI World, para ventanas de diferentes duraciones (desde corto plazo como 2 años hasta 20 años), y comparar al final de ese periodo los valores de cada opción.
He creado un script en Python para analizar el rendimiento final de una inversión inicial de 10.000 € en las siguientes tres opciones:
- Cartera DGI: 35 acciones equiponderas que han incrementado sus dividendos en los últimos 25 años. Empresas: AOS, ABT, AFL, APD, ALB, ADM, ATO, ADP, BRO, CAH, CAT, CB, CHRW, CLX, CL, CTAS, CVX, DOV, ECL, EMR, ES, EXPD, FDS, GD, GPC, HRL, ITW, LOW, NUE, PPG, PNR, ROP, SPGI, TROW, WMT
- SPDR S&P 500 ETF. He considerado este etf porque es el que más historico tiene, lo malo que no es de acumulación, por lo que hago reinversión de los dividendos
- iShares Core MSCI World UCITS ETF USD (Acc): solo tiene datos desde 2009 que fue cuando se creó por lo que antes de ese año no hay resultados
El proceso del análisis es el sigueinte:
- Selecciona una inversión inicial de 10.000 EUR
- Selecciona un horizonte de inverisión y un año de inicio un año de incio. Por ejemplo, para un horizonte de 10 años y un año de inicio de 2002, el script te dará el valor del activo tras 10 años, es decir, en 2012
- Calcula el tipo de cambio inicial mediante el histórico del bde
- Simula la compra de los activos
- Suma los dividendos netos (tras impuestos) y aumenta la cantidad de acciones
- Calcula el valor final en la fecha de cierre y lo devuelve a EUR
He asumido lo siguiente:
- En el caso de la cartera DGI y el SP500, el ingreso por dividendos se utiliza para comprar más acciones automáticamente a fehca del ex-dividend que es la fecha que me propociona la base de datos que estoy utilizando (no es realista, pero es una aproximación)
- Se aplica una retención del 19% sobre cada dividendo cobrado antes de ser reinvertido tanto en la cartera DGI como en SP500. La importancia es mínima en el análisis, pero lo he incluido por si alguien quiere analizar como afecta el pago de impuestos en los dividendos
- Se realiza cambio de divisa. En el caso de la cartera DGI y el SP500, la inversión comienza en euros, se convierte a dólares para comprar los activos, al final del periodo, el valor total se convierte de nuevo a euros. El cambio de divisa lo he sacado del histórico del Banco de España (enlace)
- En la cartera DGI, se compra la misma cantidad de dinero de cada una de las 35 acciones al inicio y se mantienen
- No se tienen en cuenta las comisiones de compraventa
Mi conclusión es que si se quiere tener rentas con una estrategía con dividendos crecientes se debe empezar cuanto antes. El principalmente reto de la estrategía es la elección de las empresas que quieres que conformen tu cartera, para así no distanciarte del indice. Evidentemente, en este análisis se han elegido empresas que tienen un gran histórico de dividendos crecientes. A toro pasado todos somos Manolete ![]()
Los resultados son los siguientes:
#Script por si alguno se anima a jugar con él
import yfinance as yf
import pandas as pd
from datetime import datetime
==========================
INPUTS
==========================
INVERSION_INICIAL_EUR = 10_000
AÑO_INI = 2002
VENTANAS = [2, 5, 10, 15, 20]
RETENCION_DIVIDENDO = 0.19 # 19%
DGI_STOCKS = [
“AOS”, # A. O. Smith Corp
“ABT”, # Abbott Laboratories
“AFL”, # Aflac Inc
“APD”, # Air Products and Chemicals
“ALB”, # Albemarle Corp
“ADM”, # Archer-Daniels-Midland Co
“ATO”, # Atmos Energy Corp
“ADP”, # Automatic Data Processing
“BRO”, # Brown & Brown Inc
“CAH”, # Cardinal Health
“CAT”, # Caterpillar Inc
“CB”, # Chubb Ltd
“CHRW”, # C.H. Robinson Worldwide
“CLX”, # Clorox Co
“CL”, # Colgate-Palmolive
“CTAS”, # Cintas Corp
“CVX”, # Chevron Corp
“DOV”, # Dover Corp
“ECL”, # Ecolab Inc
“EMR”, # Emerson Electric Co
“ES”, # Eversource Energy
“EXPD”, # Expeditors International
“FDS”, # FactSet Research Systems
“GD”, # General Dynamics
“GPC”, # Genuine Parts Co
“HRL”, # Hormel Foods Corp
“ITW”, # Illinois Tool Works
“LOW”, # Lowe’s Companies
“NUE”, # Nucor Corp
“PPG”, # PPG Industries
“PNR”, # Pentair plc
“ROP”, # Roper Technologies
“SPGI”, # S&P Global
“TROW”, # T. Rowe Price Group
“WMT”, # Walmart Inc
]
ETF_SP500 = “SPY” # SPDR S&P 500 ETF
ETF_MSCI = “EUNL.DE” # iShares Core MSCI World UCITS ETF USD (Acc)
==========================
Funciones auxiliares
==========================
def get_usd_eur():
df = pd.read_excel(‘tc_1_1.xlsx’, header = 4, usecols=[0,1])
df = df.iloc[1:]
meses_es = {‘ENE’: ‘JAN’, ‘FEB’: ‘FEB’, ‘MAR’: ‘MAR’, ‘ABR’: ‘APR’,
‘MAY’: ‘MAY’, ‘JUN’: ‘JUN’, ‘JUL’: ‘JUL’, ‘AGO’: ‘AUG’,
‘SEP’: ‘SEP’, ‘OCT’: ‘OCT’, ‘NOV’: ‘NOV’, ‘DIC’: ‘DEC’}
df.iloc[:, 0] = df.iloc[:, 0].astype(str).str.upper().replace(meses_es, regex=True)
mask = df.iloc[:, 0].astype(str).str.match(r'^\d{2}\s+[A-Z]{3}\s+\d{4}$')
df = df[mask]
df.iloc[:, 0] = pd.to_datetime(df.iloc[:, 0], format='%d %b %Y', errors='coerce')
df = df.dropna(subset=[df.columns[0]])
df.columns = ['fecha', 'eur_usd']
df =df.reset_index(drop = True)
return df
def simular_etf_acc_usd(ticker, inicio, fin, capital_usd):
data = yf.Ticker(ticker)
precios = data.history(start=inicio, end=fin)[“Close”]
dividendos = data.dividends.loc[inicio:fin]
if precios.empty:
return None
inicio_year = pd.to_datetime(inicio).year
primer_dato_year = precios.index[0].year
if primer_dato_year > inicio_year:
return None
participaciones = capital_usd / precios.iloc[0]
retencion = RETENCION_DIVIDENDO
for fecha, div in dividendos.items():
ingreso = participaciones * div
ingreso_neto = ingreso * (1 - retencion)
participaciones += ingreso_neto / precios.loc[fecha]
valor_final = participaciones * precios.iloc[-1]
return valor_final
def simular_etf_acc_eur(ticker, inicio, fin, capital_eur):
data = yf.Ticker(ticker)
precios = data.history(start=inicio, end=fin)[“Close”]
if precios.empty:
return None
inicio_year = pd.to_datetime(inicio).year
primer_dato_year = precios.index[0].year
if primer_dato_year > inicio_year:
return None
if precios.empty:
return None
participaciones = capital_eur / precios.iloc[0]
valor_final = participaciones * precios.iloc[-1]
return valor_final
def obtener_valor(v):
if isinstance(v, pd.Series):
return v.iloc[0]
return v
def main():
result_dict = {}
for w in VENTANAS:
resultados =
año_actual = datetime.now().year
ANIOS_INICIO = range(AÑO_INI, año_actual+1-w)
for anio in ANIOS_INICIO:
inicio = f"{anio}-01-01"
fin = f"{anio + w}-01-01"
fx = get_usd_eur()
fx = fx[(fx['fecha'] > inicio) & (fx['fecha'] < fin) ]
eurusd_ini = fx.iloc[0]['eur_usd']
eurusd_fin = fx.iloc[-1]['eur_usd']
capital_usd = INVERSION_INICIAL_EUR * eurusd_ini
final_spy_usd = simular_etf_acc_usd(ETF_SP500, inicio, fin, capital_usd)
final_dgi_usd = 0
for stock in DGI_STOCKS:
print(stock)
final_dgi_usd += simular_etf_acc_usd(stock, inicio, fin, capital_usd / len(DGI_STOCKS))
final_spy_eur = final_spy_usd / eurusd_fin
final_dgi_eur = final_dgi_usd / eurusd_fin
res = {
"Inicio": anio,
"Fin": anio + w,
"SPY (EUR)": round(final_spy_eur, 2),
"DGI Portfolio (EUR)": round(final_dgi_eur, 2)
}
final_msci_eur = simular_etf_acc_eur(ETF_MSCI, inicio, fin, INVERSION_INICIAL_EUR)
if final_msci_eur is not None:
res["MSCI World Acc (EUR)"] = round(final_msci_eur, 2)
vals = {"SP500": final_spy_eur, "DGI": final_dgi_eur}
if final_msci_eur is not None:
vals["MSCI"] = final_msci_eur
ganador = max(vals, key=lambda k: obtener_valor(vals[k]))
res["Ganador"] = ganador
resultados.append(res)
df = pd.DataFrame(resultados)
print(df.to_string(index=False))
result_dict[w] = df
return result_dict
Este texto estará oculto
Si simulas dos carteras que ganan lo mismo, una da 5% de dividendos y se revaloriza además un 5% y la otra lo tienes todo en un fondo que también se revaloriza al 10%, verás que contando los impuestos sale ganando la segunda. La primera pierde cada año dinero en los impuestos y compone con menos dinero de un año a otro. Además, al llegar a vender el fondo en 15 años, el hecho de tener que pagar los impuestos de golpe te ayudará a darte cuenta de es mejor seguir usando los fondos en vez de pasarte a los dividendos.
La rentabilidad sobre coste inicial no vale para nada.
Si metes 100 € en una acción que paga dividendos y otros 100 € en un fondo y los dos se revalorizan igual, 5% en dividendos más 5% en revalorización y 10% en el caso del fondo, al cabo de solo un año, tendrás 105 € en la acción de dividendos más 4 € (5€ menos impuestos del 20% para redondear) en efectivo (si lo reinviertes a coste 0€ tendrás 109€ en la acción de dividendos) y por el otro lado 110€. Esto al cabo de 15 años supone mucho dinero (haz el Excel) en favor del fondo que después de pasar por hacienda seguirá siendo mayor.
Imagina que en un sitio tienes 400€ (dividendos)y en el otro tienes 401€ (fondo). Si usas ese dinero del fondo trans impuestos para comprar las mismas acciones que tienes en la cartera de acciones. Cuánta rentabilidad te va a dar cada cartera? SIEMPRE será mayor la que vale 401€, son matemáticas y ya te digo que la diferencia no va a ser de 1€. Haz el Excel.
Da igual la rentabilidad sobre el coste inicial, ganas más con la cartera que vale más.
Flexibilidad 0. Cobras cuando la empresa quiera y la cantidad que la empresa quiera.
Si tuvieras el dinero en un fondo, si puedes decidir traspasar para otro fondo, todo o una parte o vender si necesitas cambiar las ruedas del coche solamente por el valor de las mismas. Flexibilidad total.
Cierto. ![]()
A cada uno nos motiva lo que nos motiva y queremos aprender sobre lo que queremos aprender, para todo lo demás indexate and enjoy.
Hablamos en 15 años
![]()
Ese es el fallo, tenías que haber elegido las acciones hace 20 años, ahora sabes las que tendrías que haber elegido pero hace 20 años hubieras elegido las que lo hicieron bien los anteriores 20 años, que seguramente no eran las mismas.
Lo que yo te intento explicar es que a igual rendimiento es mejor invertir en fondos que en acciones individuales que pagan dividendo. Con las acciones cada año pierdes un trozo de la bola de nieve y con los fondos no en cuestión impuestos.
Otra cosa es que me digas que tú sabes elegir mejor las acciones y van a superar al mercado por tú habilidad, entonces te diría que montes un fondo, compres esas mismas acciones and enjoy.
Yo a veces me pregunto lo siguiente
Los fondos de acumulacion con acciones que reparten dividendo, cuando esa accion reparte dividendos tienen retencion? Creo que las acciones españolas de fondos españoles no
Pero cuando reparten dividendos acciones no españolas… las retienen? Es que si retienen el 19% o lo que sea, matematicamente nos daria igual recibir nosotros el dividendo y reinvertirlo que lo reinvierta el fondo despues de la retencion que le hacen al fondo
Una vez lo discutimos en el foro pero no se donde porque desconociamos que pasaba con las retenciones de los dividendos cobrados por un fondo
Habria que conocer este punto para decidir, ya que si ambos (nosotros y el fondo) tenemos la misma retencion daria igual fiscalmente una opcion u otra. Alguien lo sabe con exactitud? Si diese igual, yo prefiero cobrar los dividendos yo y luego decidir que hago con ellos
No creo que los Gobiernos perdonen las retenciones de los dividendos que cobran los fondos
Otra cosa es ya la fiscalidad de ir vendiendo participaciones o cobrar dividendos
Actualmente, yo llevo el fondo Fidelity MSCI World Index P-Acc-EUR y si que tiene retención cuando las empresas subyacentes reparten dividendos. Lo que no tiene es impuesto adicional en destino, ya que el fondo esta domiciliado en Irlanda y allí no la hay.
En los fondos que tiene @ifrobertocarlos no sé si ocurre lo mismo, pero en este Fidelity concreto sí hay retención extranjera.
En el fondo Fidelity MSCI World Index P-Acc-EUR aparece el sigueinte texto en la pagina 39/508 del siguiente documento: enlace.
“The Fund may be liable to taxes (including withholding taxes) in countries other than Ireland on income earned and capital gains arising on its investments. The Fund may not be able to benefit from a reduction in the rate of such foreign tax by virtue of the double taxation treaties between Ireland and other countries. The Fund may not, therefore, be able to reclaim any foreign withholding tax borne by it in particular countries. If this position changes and the Fund obtains a repayment of foreign tax, the Net Asset Value of the Sub-Fund from which the relevant foreign tax was originally deducted will not be restated and the benefit will be reflected in the Net Asset Value of the Sub-Fund at the time of repayment.”
Por lo que, por ejemplo, si el fondo recibe un diviendo de una empresa estadounidense, llegará con una retención del 15%. Solo es el 15%, y no el 30%, porque EE.UU e Irlanda tienen el tratado de doble tirbutación.
Y esto para que sirve?
Todo el mundo viene con su yoc y demás, y yo creo que solo tendría validez respecto del valor aportado en el total, no respecto de lo que he aportado en una acción en concreto.
Incluso depende donde esté domiciliado el fondo…
Esta es una confusión común porque ambos porcentajes existen en el ámbito de los fondos, pero se aplican en momentos y a sujetos distintos.
Para responder directamente a tu duda: la retención que sufre un fondo de inversión español sobre los dividendos que cobra de una empresa española es del 1%, pero para ti como inversor individual, la retención es del 19%.
Aquí te detallo la diferencia para que no haya pérdida:
- La retención “interna” (El 1%)
Cuando un fondo de inversión español (como un fondo de renta variable que tiene acciones de Telefónica o Santander) recibe un dividendo de estas empresas, la normativa española establece que el fondo tributa al 1% en el Impuesto sobre Sociedades.
- Por qué: Se hace para evitar que el dinero se “agote” en impuestos antes de que llegue al inversor final, permitiendo que el interés compuesto trabaje mejor dentro del fondo.
- Dato extra: Si el fondo fuera extranjero (por ejemplo, un fondo luxemburgués), la empresa española le retendría inicialmente un 19%, aunque luego el fondo podría reclamar la devolución de la diferencia basándose en la jurisprudencia europea.
- La retención al inversor (El 19% o más)
Esta es la que te afecta a ti directamente cuando sacas el dinero:
- Fondos de Acumulación: No pagas nada mientras el dinero esté en el fondo. El dividendo se reinvierte (tras haber pagado ese 1% interno). Solo pagarás cuando vendas tus participaciones.
- Fondos de Reparto: Si el fondo te ingresa el dividendo en tu cuenta, el banco te aplicará una retención del 19% (el pago a cuenta estándar del IRPF para rentas del ahorro).
- Venta del fondo: Cuando vendes el fondo con ganancias, la retención que se te aplica es también del 19% sobre el beneficio.
Resumen de tributación 2025
Si finalmente decides vender o cobrar dividendos de un fondo de reparto, recuerda que el 19% es solo la retención inicial. En tu declaración de la renta, tributarás por tramos según el beneficio total del año:
| Tramo de beneficio (Base del ahorro) | Tipo impositivo |
|—|—|
| Hasta 6.000 € | 19% |
| De 6.000 € a 50.000 € | 21% |
| De 50.000 € a 200.000 € | 23% |
| Más de 200.000 € | 27% - 28% (dependiendo del tramo final) |
Si el fondo es un indexado al S&P 500 (como los que ofrecen Vanguard, iShares o Amundi), la situación cambia porque entra en juego la fiscalidad internacional y los tratados entre países.
En este caso, la retención que sufren los dividendos depende de dónde esté domiciliado el fondo (no de dónde seas tú). Aquí tienes los dos escenarios más comunes para un inversor en España:
- Fondo domiciliado en España (ISIN que empieza por ES)
Si el fondo es español pero invierte en el S&P 500, la cadena de retenciones es la siguiente:
- En origen (EE. UU. a Fondo): Las empresas de EE. UU. (Apple, Microsoft, etc.) pagan el dividendo al fondo. Gracias al convenio de doble imposición entre España y EE. UU., se aplica una retención del 15%.
- En el fondo (Impuesto de Sociedades): El fondo tributa al 1% por esos rendimientos.
- Resumen: El fondo recibe el dividendo “mordido” un 15% por el Tesoro de EE. UU. y luego paga un 1% en España.
- Fondo domiciliado en Irlanda (ISIN que empieza por IE)
Muchos fondos indexados y ETFs del S&P 500 que compramos desde España están domiciliados en Irlanda porque es muy eficiente fiscalmente:
- En origen (EE. UU. a Fondo): Al igual que con España, existe un convenio que permite que la retención en origen sea del 15%.
- En el fondo: Irlanda no aplica impuestos adicionales a los dividendos que recibe el fondo (tributa al 0% internamente).
- Ventaja: Son los favoritos para el S&P 500 porque ese 15% es lo mínimo que se puede pagar (sin el convenio, EE. UU. retendría el 30%).
- Fondo domiciliado en Luxemburgo (ISIN que empieza por LU)
- En origen (EE. UU. a Fondo): Curiosamente, el convenio entre Luxemburgo y EE. UU. es peor para fondos de inversión. A menudo sufren una retención del 30% en origen.
- Impacto: Esto supone una pérdida de rentabilidad (el famoso dividend leakage) comparado con los fondos irlandeses o españoles.
¿Cómo te afecta a ti?
Independientemente de lo que pase “dentro” del fondo (el 15% o el 30% que mencionamos arriba), para ti las reglas no cambian:- Si es de Acumulación: No ves la retención. El fondo recibe el dividendo (menos ese 15% de EE. UU.), lo reinvierte y tú solo pagarás el 19%-28% a Hacienda el día que vendas tus participaciones con beneficio.
- Si es de Reparto: Cuando el fondo te ingrese el dinero en cuenta, tu banco te retendrá el 19% (pago a cuenta del IRPF), independientemente de lo que ya haya retenido EE. UU. internamente.
Nota importante: En los fondos de inversión, tú no puedes reclamar ese 15% que EE. UU. le retuvo al fondo. Esa es una “pérdida” que asume el fondo y que ya va reflejada en el valor liquidativo. Solo podrías reclamar la doble imposición internacional si compraras las acciones directamente (por ejemplo, comprando acciones de Coca-Cola tú mismo).
Parece que mínimo te ahorras un 18% para españolas y un 19% para extranjeras y mejor que esté domiciliado en Irlanda. ![]()
Asi algo mas claro, gracias
Como me gustan los dividendos, me gusta cobrar los suficientes para vivir y el resto de la inversion a acumulacion
Cuando te decía que revisaras las cifras de rentabilidades era porque estaba seguro que no eran las correctas.
El fidelity indexado al MSCI World en euros llevará este año entorno al 7% mientras que ese mismo fondo en USD estará por encima del 21,5%.
Lo puedes ver en muchas webs. Aquí te dejo el link a la de la propia gestora
Algo menos en ambos casos para el indexado al S&P 500.
Muy buenos días a todos. Para aclarar las dudas sobre los porcentajes que he mostrado, es importante saber la diferencia entre la rentabilidad del fondo y la TIR. Son métricas distintas para objetivos distintos: la rentabilidad acumulada me dice cuánto dinero tengo, y la TIR me dice cómo de buena ha sido mi selección de activos frente al índice
Los porcentajes que he indicado de la TIR del 18-19%, no son la rentabilidad anual del fondo, sino la TIR de mis flujos de efectivo. He simulado que realizaba compras en esos fondos los mismos días en que compré mis acciones de mi cartera y por el mismo importe.
La TIR mide la velocidad de crecimiento de cada euro invertido. Debido que este año el mercado una fuerte corrección en la primera mitad y después una fuerte subida, las compras realizadas en esos suelos tienen una TIR muy alta porque han crecido mucho en poco tiempo. Recordar que empecé con la cartera en febrero, justo antes del “Liberation Day”, por lo que hubo compras en esa bajada de la bolsa.
Para evitar confusiones, mis rentabilidades son las siguientes:
-
Rentabilidad acumulada de mi cartera (Total return en EUR): 2.93%
*Calculada como: (Valor actual de las acciones + Dividendos netos cobrados - Inversión total) / Inversión total -
TIR de mi cartera: 5.49%
-
TIR simulada en indexados: 18-19%. Esto demuestra que, aunque mis puntos de entrada fueron buenos, pero las acciones que compré para mi cartera han tenido menos rendimiento que los índices en ese mismo periodo
Buenas @corepo, totalmente de acuerdo. Lo importante es fijarse en el YOC global, no solo en una acción concreta.
Por lo que entendí del comentario de Roberto, su idea es que primero conviene invertir en lo que más rentabilidad genera, los fondos indexados, y, más adelante, formar una cartera de dividendos para obtener rentas. Mi comentario trataba de explicar siguiendo esa estrategia, se pierden rentas con el paso del tiempo.
Para comprobarlo, he hecho una simulación con mis acciones estadounidenses (excepto PYPL, que no tiene datos de dividendos en yfinance) y el fondo iShares Core S&P 500 UCITS ETF (Acc). Supuse una compra de 10.000 USD por acción el 15/09/2010, coincidiendo con el inicio histórico del fondo. Lo he hecho en USD para no tener que hacer el cambios de divisas.
Comparé dos escenarios:
-
Comprar directamente las acciones en 2010 y reinvertir los dividendos pagando un 19% hasta 2025
-
Invertir en el fondo, venderlo en 2025, pagar un 19 % de impuestos y usar el importe neto para comprar las acciones.
En este caso, el resultado muestra que empezar antes a comprar acciones proporciona mayores rentas por dividendos a largo plazo. Evidentemente esto no siempre es así, depende mucho del momento de compra y venta
| Ticker | Inversión inicial en 2010 | Valor acción en 2025 | Valor fondo en 2025 | Valor fondo en 2025 después de pagar impuestos | Renta por dividendos en 2025 si compro acciones en 2010 | Renta por dividendos en 2025 si compro acciones después de vender fondo | Diferencia en la renta |
|---|---|---|---|---|---|---|---|
| HRL | 10000.00 | 50760.66 | 65813.27 | 55208.75 | 1517.09 | 1681.67 | -164.58 |
| PG | 10000.00 | 63752.39 | 65813.27 | 55208.75 | 1237.05 | 1084.75 | 152.30 |
| OXY | 10000.00 | 15786.89 | 65813.27 | 55208.75 | 230.74 | 813.99 | -583.25 |
| NVO | 10000.00 | 156278.18 | 65813.27 | 55208.75 | 2166.73 | 770.85 | 1395.88 |
| GIS | 10000.00 | 46357.16 | 65813.27 | 55208.75 | 1438.36 | 1745.35 | -306.99 |
| JNJ | 10000.00 | 54870.81 | 65813.27 | 55208.75 | 1529.83 | 1564.73 | -34.90 |
| PEP | 10000.00 | 53508.71 | 65813.27 | 55208.75 | 1553.47 | 1630.13 | -76.66 |
| DIS | 10000.00 | 43176.62 | 65813.27 | 55208.75 | 300.04 | 385.75 | -85.71 |
| GOOGL | 10000.00 | 158419.96 | 65813.27 | 55208.75 | 407.51 | 142.30 | 265.22 |
| NKE | 10000.00 | 54996.16 | 65813.27 | 55208.75 | 901.39 | 913.34 | -11.95 |
| CNI | 10000.00 | 51250.51 | 65813.27 | 55208.75 | 1015.19 | 1105.85 | -90.66 |
| NEE | 10000.00 | 121325.84 | 65813.27 | 55208.75 | 2870.28 | 1325.08 | 1545.20 |
| Suma | 120000.00 | 870483.89 | 789759.29 | 662505.03 | 15167.68 | 13163.78 | 2003.90 |
#Dejo por aquí el script:
import yfinance as yf
import pandas as pd
import numpy as np
========
INPUTS
========
INITIAL_INVESTMENT = 10_000
TAX = 0.19
START = “2010-09-15”
END = “2025-01-01”
acciones = [‘HRL’, ‘PG’,‘OXY’,‘NVO’,‘GIS’,‘JNJ’, ‘PEP’,‘DIS’,‘GOOGL’,‘NKE’,‘CNI’,‘NEE’]
FONDO = ‘CSPX.L’
fund_tkr = yf.Ticker(FONDO)
prices_fund = fund_tkr.history(start=START, end=END)[“Close”]
if prices_fund.empty:
raise RuntimeError(f"No hay datos para el fondo {FONDO} en el rango {START} - {END}")
shares_fund = INITIAL_INVESTMENT / prices_fund.iloc[0]
gross_fund_2025 = shares_fund * prices_fund.iloc[-1]
gain = gross_fund_2025 - INITIAL_INVESTMENT
tax_amount = max(gain * TAX, 0)
fund_value_2025_tax = gross_fund_2025 - tax_amount
rows =
for accion in acciones:
try:
acc = yf.Ticker(accion)
hist = acc.history(start=START, end=END)
prices_acc = hist[“Close”].dropna()
# Iniciales
shares_acc = INITIAL_INVESTMENT / prices_acc.iloc[0]
# Dividends entre START y END (ordenados)
dividends_acc = acc.dividends.loc[START:END].sort_index()
# Variables auxiliares
dividend_income_2024 = 0
# Iterar y reinvertir
for date, dividend_per_share in dividends_acc.items():
prices_before = prices_acc[prices_acc.index <= date]
price_on_date = prices_before.iloc[-1]
gross_dividend = dividend_per_share * shares_acc
net_dividend = gross_dividend * (1 - TAX) # impuestos al recibir
if date.year == 2024:
dividend_income_2024 += net_dividend
shares_acc += net_dividend / price_on_date
# Valor final de la acción en 2025 (tras reinversión)
acc_price_2025 = prices_acc.iloc[-1]
acc_value_2025 = shares_acc * acc_price_2025
# Renta por dividendos en 2024 si hubiese comprado en 2010 (ya acumulada)
annual_dividend_acc_2025 = dividend_income_2024
# Escenario fondo -> vender en 2025 (ya calculado arriba una vez)
shares_acc_from_fund = fund_value_2025_tax / acc_price_2025
# Dividendo por acción en 2024 (suma de pagos por acción en 2024)
divs_2024_per_share = acc.dividends.loc["2024"].sum()
annual_dividend_acc_from_fund = divs_2024_per_share * shares_acc_from_fund * (1 - TAX)
rows.append({
'Acción': accion,
'Inversión inicial': INITIAL_INVESTMENT,
f'Valor actual de acción con compra en {START.split("-")[0]}': acc_value_2025,
'Valor fondo antes de vender': gross_fund_2025,
'Valor fondo después de vender y pagar impuestos': fund_value_2025_tax,
f'Renta por dividendos si compro acciones en {START.split("-")[0]} (2024)': annual_dividend_acc_2025,
'Renta por dividendos si compro acciones después de vender fondo (2024)': annual_dividend_acc_from_fund,
'Diferencia en la renta': annual_dividend_acc_2025 - annual_dividend_acc_from_fund
})
except Exception as e:
print(f"Error procesando {accion}: {e}")
continue
df_result = pd.DataFrame(rows)
Si , pasar por caja para pasarte a dividendos tiene la desventaja de que hacienda te mete el mordisco …. Pero no te has parado a pensar si en ese listado tienes alguna General Electric, Telefónica , walgreen boots , o cualquiera de esta que te parte el ojete en cualquier momento ?
Porque los excels están muy bien , pero yo después de más de 20 años me rio del buy and hold ese que dicen , porque he cambiado más de chaqueta que Girauta de partido político y ya no me fío ni de las cuentas de Coca Cola. Y como bien dice Roberto Carlos , cuanto más tarde pagamos a la Marihesu , más rentabilidad de nuestro lado.
Y que conste que digo esto cuando mi cartera es un engendro de acciones , etfs, y fondos . Pero dejando aparte la rentabilidad , si quiero rentas , cada vez me convencen más los etfs de reparto ; con sus plusvalías ahí metidas año tras año .
Si vas acumulando en fondos (indexados, tematicos…) llegado el momento lo traspasas a uno de reparto
No tienen una RPD muy alta pero evitas pasar por Hacienda
Si no te llega con esos dividendos vendes alguna participacion que es lo mas optimo fiscalmente
Y como esto es una carrera de fondo, empiezas con los fondos de acumulacion y cuando te falten sobre el papel 5 o 10 años para la IF puedes empezar a comprar acciones de dividendo
Hay muchas opciones

