前回は、積立投資を含めた複利計算を作成しました。
入力した条件から、将来の最終資産額を計算できるようになりました。
しかし、シミュレーターとして考えると、もう1つ必要な機能があります。
それは、途中経過の表示です。
例えば、
「10年後にいくらになるか」
だけではなく、
「1年後はいくらか」
「5年後はいくらか」
という資産の変化も確認できるようにします。
今回は、複利計算の結果を毎年保存し、資産推移のリストを作成します。
最終結果だけではグラフを作れない
前回作成した計算では、最終的な資産額を取得していました。
例えば、
- 元本100万円
- 毎月1万円積立
- 年利5%
- 10年間運用
の場合、
10年後の資産額を計算できます。
しかし、この結果だけでは問題があります。
資産がどのように増えていったのか確認できません。
また、後からグラフを表示することもできません。
そこで今回は、計算途中の結果を保存する処理を追加します。
計算結果をリストに保存する
Pythonでは、複数のデータを順番に保存するときにリストを使います。
今回は、毎年の資産額をリストへ追加していきます。
作成した関数はこちらです。
def asset_suii(asset_start, monthly, rate, years):
assets = [asset_start]
rate_100 = rate / 100
rate_monthly = rate_100 / 12
for i in range(1, years + 1):
month_total = i * 12
if rate_100 == 0:
results = asset_start + (monthly * month_total)
else:
results = (
asset_start * (1 + rate_100) ** i
+
monthly * ((1 + rate_monthly) ** month_total - 1)
/ rate_monthly
)
assets.append(round(results))
return assets
assetsリストの中身
この関数では、最初に、
assets = [asset_start]
としています。
これは0年目の資産を保存するためです。
その後、計算した結果を、
assets.append(round(results))
で追加します。
例えば、5年間運用した場合は、
[
1000000,
1170000,
1350000,
1550000,
1760000,
1990000
]
のようなデータになります。
それぞれ、
- 1つ目 → 0年目
- 2つ目 → 1年目
- 3つ目 → 2年目
という意味になります。
なぜリスト化するのか
では、なぜ最終結果だけではなく、推移を保存するのでしょうか。
理由は、データを可視化するためです。
例えば、資産推移をグラフ表示する場合、
横軸には年数、
縦軸には資産額を使用します。
そのためには、
年数
[0,1,2,3,4,5]
と、
資産額
[1000000,1170000,1350000,1550000,1760000,1990000]
のようなデータが必要になります。
つまり、リスト化することで、
- グラフ表示
- 表形式での表示
- 将来的なデータ分析
などへ利用できるようになります。
複利計算についての注意点
今回のシミュレーターでは、入力した年利を12分割して毎月計算しています。
つまり、
月利 = 年利 ÷ 12
という考え方です。
ただし、実際の投資では毎月一定の利回りになるわけではありません。
株式市場は毎月変動します。
そのため、この計算結果は将来の利益を保証するものではありません。
あくまで、
「一定の利回りで運用できた場合のシミュレーション」
として利用します。
まとめ
今回は、複利計算の結果をリスト化し、資産推移を取得できるようにしました。
前回までは、
「最終的にいくらになるか」
を計算する処理でした。
今回は、
「そこへ到達するまでに、どのように増えていくか」
を確認できるようになりました。
この資産推移データを利用することで、次回はグラフ表示機能を追加できます。
Pythonで作る資産シミュレーターが、少しずつアプリらしい形になってきました。





コメント