Calculadora de interés compuesto
Calcula el crecimiento por interés compuesto de inversiones a lo largo del tiempo.
La calculadora de interés compuesto muestra cómo crece una inversión o cuenta de ahorros cuando el interés se gana no solo sobre el capital sino también sobre los intereses acumulados de períodos anteriores. Pequeñas diferencias en la tasa o el tiempo pueden resultar en resultados dramáticamente diferentes a lo largo del tiempo.
Introduce el capital, la tasa de interés anual, la frecuencia de capitalización (diaria, mensual, trimestral o anual) y el número de años. La calculadora muestra el saldo final, el total de intereses ganados y un desglose año por año.
Comprender el interés compuesto es esencial para planificar la jubilación, evaluar cuentas de ahorro, comparar costos de préstamos y tomar decisiones de inversión informadas. La clave es que empezar antes y reinvertir los rendimientos puede generar significativamente más riqueza.
Preguntas Frecuentes
Implementación de Código
def compound_interest(principal, annual_rate, years, n=12, contribution=0):
"""
Calculate compound interest with optional regular contributions.
Parameters:
principal - initial investment
annual_rate - annual interest rate (e.g. 0.07 for 7%)
years - investment duration in years
n - compounding frequency per year (12 = monthly)
contribution - periodic contribution (same frequency as n)
Returns dict with final balance, total invested, and total interest.
"""
r = annual_rate / n
periods = int(years * n)
balance = principal
for _ in range(periods):
balance = balance * (1 + r) + contribution
total_invested = principal + contribution * periods
return {
"final_balance": balance,
"total_invested": total_invested,
"total_interest": balance - total_invested,
}
def rule_of_72(annual_rate):
"""Estimate years to double at a given annual rate."""
return 72 / (annual_rate * 100)
# Simple formula (no contributions)
def compound_formula(P, r, n, t):
"""A = P(1 + r/n)^(nt)"""
return P * (1 + r / n) ** (n * t)
# Examples
result = compound_interest(10000, 0.07, 20, n=12, contribution=500)
print(f"Final balance: ${result['final_balance']:,.2f}")
print(f"Total invested: ${result['total_invested']:,.2f}")
print(f"Total interest: ${result['total_interest']:,.2f}")
print(f"Years to double: {rule_of_72(0.07):.1f} years at 7%")
# Compounding frequency comparison
for label, n in [("Annual", 1), ("Monthly", 12), ("Daily", 365)]:
A = compound_formula(10000, 0.12, n, 10)
print(f"{label:8}: ${A:,.2f} (EAR = {((1 + 0.12/n)**n - 1)*100:.4f}%)")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.