#!/usr/bin/env python # coding: utf-8 # ## Die Macht der Schleifen! # # Mit Schleifen und Verzweigungen lassen sich bereits sehr komplexe Abläufe simulieren. Sie ersparen auch oft das Suchen und Entwickeln von analytischen Lösungen (Formeln). # # #### Unsere Aufgabe: # # Hurra, Sie haben 1000000 CHF in einer Lotterie gewonnen -- ist Ihr Leben nun finanziert? # # Genauer, ist dieses Startkapital ausreichend sich ein sparsames Leben ganz zu finanzieren? Sie haben gehört, dass bei Geldanlagen der Zinseszins wie ein Turbo der Geldvermehrung wirken soll. Sie haben aber auch gehöhrt, dass sich die Kaufkraft des Geldes durch die Inflation jedes Jahr verringern soll. Was überwiegt? # # Um hier eine Antwort zu bekommen, entschliessen Sie sich das Ganze zu simulieren. # Die Simulation vereinfacht sich wenn man nur in Jahresschritten rechnet, das heisst zu Beginn des Jahres entnehmen Sie den ganzen Jahresbedarf vom Kapital und das Restkapital wird zum Jahresende um seine Rendite erhöht. # Bei Lebenserwartung, Inflation und möglicher Rendite des Kapitals ist eine genaue Prognose schwierig. # Glaubt man Experten, so können Sie durchaus mit einer Lebenserwartung von 100 Jahren rechnen. Bei einer Investition in den SMI scheint langfristing eine Redite von 4% (nach Steuern und Kosten) möglich und in der Vergangenheit betrug die Inflation etwa 2 % im Jahr. # # # Für alle Grössen und Annahmen definieren wir uns je eine Variable. # # ```python # alter = 20 # aktuelles Alter # max_alter = 100 # die Lebenserwartung # kapital = 1000000 # der Lotteriegewinn # rendite = 4 # jährliche Rendite (Zins) in Prozent # inflation = 2 # jährliche Inflation in Prozent # m_bedarf = 2500 # monatlicher finanzieller Bedarf # ``` # # # # #### Schritt 1 # # Da die gesamte Aufgabe doch sehr komplex ist, beginnen wir mit einer einfacheren Teilaufgabe. # # Wie würde sich Ihr Lotteriegewinn vermehren wenn Sie diesen Ihr ganzes Leben lang nicht antasten würden? # In[4]: alter = 20 # aktuelles Alter max_alter = 100 # die Lebenserwartung kapital = 1000000 # der Lotteriegewinn rendite = 4 # jährliche Rendite (Zins) in % # Nachfolgend die Simulation while ( alter < max_alter ) : kapital = kapital * ( 1 + rendite/100) alter = alter + 1 print( "Im Alter von",alter ,"ist mein Kapital :", kapital) # #### Schritt 2 # # Eine weitere einfache Teilaufgabe ist, wie viel Geld benötigen Sie in Ihrem ganzen Leben bei konstanten Ausgaben? # In[5]: alter = 20 # aktuelles Alter max_alter = 100 # die Lebenserwartung m_bedarf = 2500 # der monatliche finanzielle Bedarf sum_bedarf = 0 # gesamter finanzieller Bedarf im Leben # Nachfolgend die Simulation while ( alter < max_alter ) : sum_bedarf = sum_bedarf + 12 * m_bedarf alter = alter + 1 print(" Bis zum 100. Geburtstag benötige ich:", sum_bedarf) # ### Schritt 3 # # Aber welche Rolle spielt nun die Inflation in dieser Rechnung? Inflation bedeutet, dass alles um die Inflation teurer wird! Entweder nehmen Sie in Kauf, dass Sie sich jedes Jahr weniger leisten können oder Sie erhöhen ihren Bedarf jedes Jahr um die Inflationsrate. Da 2500 CHF nicht allzu üppig sind, entschliessen Sie sich Ihren Bedarf jährlich anzupassen. # # Auf wieviel steigt nun Ihr gesamter Bedarf und auf wieviel der monatliche Bedarf wenn Sie die Kaufkraft erhalten wollen? # # Fromal ist dies zum Schritt 1 sehr ähnlich. # # # In[6]: alter = 20 # aktuelles Alter max_alter = 100 # die Lebenserwartung m_bedarf = 2500 # der monatl. finzielle Bedarf sum_bedarf = 0 # gesamter finanz. Bedarf im Leben infl = 2 # Inflation in % # Nachfolgend die Simulation while ( alter < max_alter ) : sum_bedarf = sum_bedarf + 12 * m_bedarf m_bedarf = m_bedarf * ( 1 + infl / 100 ) alter = alter + 1 print(" Bis zum 100. Geburtstag benötige ich:", sum_bedarf, "bei einem monatlichen Bedarf von: ", m_bedarf ) # #### Schritt 4: Alles fügt sich zusammen. # # Sie legen ihren Lotteriegewinn an und entnehmen Ihren Bedarf. # # Sie rechnen weiterhin nur in Jahresschritten, das heisst zu Beginn des Jahres entnehmen Sie den ganzen Jahresbedarf vom Kapital und das Restkapital wird zum Jahresende um die Rendite erhöht. # # Sie müssen noch festlegen was Sie eigentlich berechnen wollen. Es gibt mehrere Möglichkeiten: # # 1. Sie möchten wissen wie viel Kapital zu ihrem 100. Geburtstag noch vorhanden ist? # # 2. Sie möchten wissen bis zu welchem Alter Sie sich finanzieren können? # # Da es auf negatives Kapital keine Zinsen gibt, simulieren Sie nur bis zu dem Alter bei welchem noch Ihr gesamter Jahresbedarf gedeckt ist. # # # # In[7]: alter = 20 # aktuelles Alter kapital = 1000000 # der Lotteriegewinn rendite = 4 # jährliche Rendite (Zins) in % m_bedarf = 2500 # der monatliche finzanielle Bedarf infl = 2 # Inflation in % # Nachfolgend die Simulation while ( kapital - (12 *m_bedarf) > 0 ) : kapital = kapital - (12 *m_bedarf) kapital = kapital * (1 + rendite/100) m_bedarf = m_bedarf * (1 + infl/100) alter = alter + 1 print( "Im Alter von :",alter , " ist der monatl. Bedarf",m_bedarf,"bei einem Restkapital :", kapital) # In[ ]: # In[ ]: