概要
個人の資産形成を考えるためのツールとして、資産推移シミュレーターを開発したので、それについて紹介したい。
背景
私はMoney Forwardを使って資産管理をしているが、将来の資産推移のシュミレーションにはSpreadsheetを使ったものを利用していた。
Spreadsheetでもそれなりの精度(実際の資産推移のズレが数十万程度に済むような正確性)でシミュレーションできていたが、月一回程度の更新が面倒で、より簡易的な解決策を模索しており、今回開発に至った。
シュミレーションの正確性を高めるにはそれなりの計算や変数の設定が必要になるが、個人の資産形成の上では概算に近い形でも有用と考えている。
シュミレーションの結果、実際の資産状況はシュミレーションよりも上振れるというのが理想であると考えている。(下振れるとライフプランに影響が出るため。)
資産推移シミュレーターについて
主な特徴
1. シンプルなシュミレーション機能
- 最長50年間の資産推移をシミュレーション
- 複数通貨対応で、為替レートの変動も考慮
- 収入、支出、投資、ローンなど、包括的な資産状況を反映
ライフプランのための概算ができる程度の作りになっている。
2. 直感的なユーザーインターフェース
- レスポンシブデザインでモバイル/デスクトップに対応
- インタラクティブなグラフによる視覚的な結果表示
- アコーディオン形式の入力フォームで簡単データ入力
- 詳細なデータテーブルで数値の確認が可能
計算結果を年次・月次で確認できるようにしており、資産推移の傾向を把握しやすくしている。
3. 計算エンジン
- 複利計算による投資リターンのシミュレーション
- 元利均等返済方式のローン計算
- 為替レートの変動に対応
- 実質賃金上昇率を考慮した収入予測
- 負債の影響を考慮した資産推移の計算
- 運用資産の成長をシミュレート
運用資産については、正確性のために実際の株価などを反映できると良いが、株価の推移の予測は難しいため、運用中の資産の成長率を設定できるようにしている。
運用利回りは資産に与える影響が大きいため、この利回り設定を厳しくすることで堅実なシュミレーションができる。
使用技術
- フロントエンド: HTML5, CSS3, JavaScript (ES6+)
- グラフ描画: Chart.js
- ビルド/開発: npm, webpack
- テスト: Jest
アプリケーションはNetlifyにポンッとデプロイしている。
主要機能の詳細
資産状況入力
- 収入・支出の設定(複数通貨対応)
- 現金・預貯金残高の入力
- 投資資産の登録
- 住宅ローンなどの負債情報の設定
シミュレーションパラメータ
- シミュレーション期間の設定(最長50年)
- 実質賃金上昇率の設定
- 投資リターンの設定
- 為替レートの変動予測
結果表示
- 純資産推移グラフ
- 資産配分の円グラフ
- 主要指標のサマリーカード
- 詳細な月次データテーブル
使い方
-
基本情報の入力
- 現在の収入・支出状況
- 保有資産の状況
- 負債の詳細
-
シミュレーション条件の設定
- 期間の選択
- 各種パラメータの調整
-
結果の確認と分析
- グラフやテーブルで推移を確認
- 必要に応じてパラメータを調整
- 異なるシナリオでシミュレーション
今後の展望
シュミレーションの精度は改善の余地があるので、シンプルさを保ちながらも、精度を調整していきたい。
フロントエンドのみで簡潔しているが、もし利用者が増えればバックエンドを構築してそれなりのサービスにできたら面白いかもしれない。(今のところ無風)
現在の資産状況を可視化して、将来の資産推移を意識することで、資産形成の計画を立てやすくなると思っているので、ぜひ利用してみてほしい。