定額積立投資シミュレーション(初期投資額あり)
最初に初期投資額を入れて運用を開始するが、追加で毎月一定額を積み立て、年間平均の利回りと標準偏差を月ごとに変換した数字を掛け合わせ積み重ねてくプログラムです。
いつもやっているのはR言語での処理なのですが、JavascriptとHTMLでもでシミュレーションができるようだったので、勉強のため実装してみました。
※数字を変えてシミュレーションできるようになってます。
※あくまでシミュレーションのため、未来を断言するものではありません。
※処理が重たいかもしれません。
※シミュレーションを行う期間を延ばしすぎないようにしてください。
※一度シミュレーションをしたらやり直す場合には再度ページを読み込むようにしてください。
※正直、一気に作ったので、計算がおかしな挙動示す可能性もあります。
★シミュレーション結果はここに出ます↓
計算の流れ
月末に投資し、翌月から前月までの投資分とそれまでの含み益(損)を足して月間の利回りと月間の標準偏差分を考慮し乱数発生しモンテカルロシミュレーションを行う。
- 1か月目のシミュレーション値は月額積立金額 (seed) と初期投資額を足した額と同額。
- 2か月目以降は前月の残高に月間利回りと月間標準偏差の乱数値を適用し、追加投資額を足す。
- 計算コストを減らすため、ループを減らし、事前に乱数での標準偏差分の計算値はリストにしておく。
- 各月のシミュレーション値は以下の式で計算される:
balances[j] = balances[j - 1] * (1 + rates[j]) + seed
- これを今回は10000回固定でシミュレーションして順位付けする。
- 全シミュレーション結果から、25パーセンタイル、50パーセンタイル、75パーセンタイル、2.5パーセンタイル、97.5パーセンタイルを計算。
定額積立投資シミュレーション(初期投資額あり)