🛠️ToolsShed

Zinseszinsrechner

Berechnen Sie das Zinseszinswachstum für Investitionen über die Zeit.

Der Zinseszinsrechner zeigt, wie eine Investition oder ein Sparkonto wächst, wenn Zinsen nicht nur auf das Kapital, sondern auch auf die in früheren Perioden angesammelten Zinsen verdient werden.

Geben Sie Ihren Hauptbetrag, den jährlichen Zinssatz, die Zinseszinsfrequenz (täglich, monatlich, vierteljährlich oder jährlich) und die Anzahl der Jahre ein. Der Rechner zeigt den Endsaldo, die gesamten verdienten Zinsen und eine jährliche Aufschlüsselung.

Das Verständnis von Zinseszinsen ist für die Rentenplanung, die Bewertung von Sparkonten, den Vergleich von Darlehenskosten und fundierte Investitionsentscheidungen unerlässlich.

Häufig gestellte Fragen

Code-Implementierung

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.