Pythonを使って複利計算 してみよう!FIREに向けた複利の勉強

Pythonを使った複利計算 データサイエンティスト

資産運用を始める時期は早ければ早い方が良いと言われていることの理由は、「時間」で資産を増やせるからです。それは、早くにはじめるほど、失敗しても後のがんばりで取り返しがつくチャンスが多いこと、そして「複利」の効果により資産が増える期待が高いからです。

この複利の効果はかの天才アインシュタインに「人類最大の発明」とまで言わせた非常にもので、運用期間が長くなるほど効果が大きくなります。

実際にその効果を色々と数値を変えて試したい人は以下の「金融庁HP」にあるシュミレーターを試してみてください。

https://www.fsa.go.jp/policy/nisa2/moneyplan_sim/index.html

複利は実際に自分で値を入れながら色々と試して理解するのが早いですが、上記のようなシュミレーターでなく実際に自分で作ってみたい、という人もいるかと思います。色々なページでExcelを用いた計算式などは紹介してありますが、今回は「 Pythonを使って複利計算 」するコードを紹介します。

なるべく簡単なコードを使って複利効果を計算できるようにしましたが、もしもPython自体に興味があれば以下の記事も参照ください。

機械学習を理解するために Pythonを独学で学ぶ

Pythonを使って複利計算 するコード

ここでは例として100万円の元本を年間4%の利回りで運用し年100万円の積立てをしていくことを想定しています。

Pythonのpandasとnumpyを用いて、まずは100万円を元本に1年間運用して100万円の積立を追加した時の計算を行います。以下の単位は金額は「万円」で示しております。

import pandas as pd
import numpy as np

#複利計算 1年間運用して4%の複利を得て、追加で100万円の元本を積立した場合

ganpon = 100
fukuri = 0.04
tsumitate = 100
total = ganpon*(1+fukuri)+tsumitate

print(str(total))

上記を実行すると、204万円の結果が得られます。

複利の計算ではこの運用で得られたお金にさらに100万円を積立て次の1年の運用をします。

#複利計算 1年間運用して4%の複利を得て、追加で元本投入した場合

ganpon = 100
fukuri = 0.04
tsumitate = 100
total = ganpon*(1+fukuri)+tsumitate

#2年目には元本が1年目のtotalから開始する
ganpon = total
total = ganpon*(1+fukuri)+tsumitate

print(str(total))

上記を実行すると、312万円の結果が得られます。

Pythonでは繰り返し計算を「for文」にて組むことができますので、以下のように組むことで任意の年数で運用を続けた場合の複利計算を行うことができます。
また、計算結果を`print()`で表示してわかるようにテキスト表示しております。

#複利計算を任意の年数繰り返す
total = 0
cum_ganpon = 0
ganpon = 100
fukuri = 0.04
tsumitate = 100

#2年目以降の繰り返し処理をいれる
# 繰り返し年数を定義
year = 10

for i in range(year):
    ganpon = total
    total = ganpon*(1+fukuri)+tsumitate
    cum_ganpon = tsumitate + cum_ganpon
    print(str(i) +"年目は"+ str(total) + "万円です。累計追加元本は" + str(cum_ganpon)+"万円です。")

これを実行することで、1年目から10年目までの複利効果とそれに必要な累計追加元本を示しております。

このままテキスト表示だとみづらく、またその後の加工性を上げるためにPythonのDataFrameで作成します。まず始めに空リストを作成してarrayを作成した後にDataFrameへ変換します。

#空リストを用意する
list = []
list_ganpon = []
list_year = []

#複利計算を任意の年数繰り返す
total = 0
cum_ganpon = 0
ganpon = 100
fukuri = 0.04
tsumitate = 100
# 繰り返し年数を定義
year = 10

#2年目以降の繰り返し処理をいれる

for i in range(year):
    ganpon = total
    total = ganpon*(1+fukuri)+tsumitate
    cum_ganpon = tsumitate + cum_ganpon
    list = np.append(list, total)
    list_year = np.append(list_year, i)
    list_ganpon = np.append(list_ganpon, cum_ganpon)
    
# numpy arrayをdataframeに変換する
df = pd.DataFrame({
    'year': list_year,
    'ganpon': list,
    'tsumitate': tsumitate,
    'cum_ganpon': list_ganpon,
})

df

これでDataFramとしてもデータが得られました。

最後に

複利をシュミレーターでなく実際に自分で作ってみたい、という人に向けて今回は「 Pythonを使って複利計算 」するコードを紹介しました。

今回は簡単な複利効果の計算でしたが、今後Pythonを利用して資産運用・管理をより効果的に行えるようなツールを紹介していきます。もしも資産運用全般に興味があれば以下の記事もご参照ください。

20代の今だからこそ資産運用を始めよう! お金の増やし方・育て方12選

コメント

タイトルとURLをコピーしました