このページについて
従来の積立シミュレーターは「年利5%で20年運用すると確実に1,238万円」という決定論的計算です。 しかし実際の市場では毎年の収益率が大きく変動します。 モンテカルロ法では収益率を確率分布からランダムにサンプリングし、 数万回の試行から「80%の確率で900万円以上」「最悪ケースで480万円」という 確率的な結果を得ます。
モバイル&ワイヤレスブロードバンドでインターネットへ
一律の年利計算を超えて、リターンのランダム変動・インフレ・取り崩しを考慮した
確率論的資産シミュレーション。WebGPU compute shader で10万回を高速並列実行します。
従来の積立シミュレーターは「年利5%で20年運用すると確実に1,238万円」という決定論的計算です。 しかし実際の市場では毎年の収益率が大きく変動します。 モンテカルロ法では収益率を確率分布からランダムにサンプリングし、 数万回の試行から「80%の確率で900万円以上」「最悪ケースで480万円」という 確率的な結果を得ます。
AUTO では WebGPU → WebGL2 → CPU の順に対応状況を判定し、 利用可能な最上位のバックエンドを自動選択します。 いずれかが実行に失敗した場合も、自動的に下位のバックエンドへフォールバックします。
1,000 → 100,000 回まで試行回数を段階的に増やし、利用可能な全バックエンド(WebGPU / WebGL2 / CPU)の処理時間を計測します。 お使いの環境でどのバックエンドが速いかを比較できます。※ CPU は大規模試行で時間がかかります
中央の白枠が現在の設定値。青系が低リスク・赤系が高リスク。
各シミュレーションで毎年の収益率を正規分布 N(μ, σ²) からサンプリングします。 ブラウザのMath.random()はメルセンヌツイスターに近い品質ですが、 WebGPU版ではGPU上でPCG(Permuted Congruential Generator)を実装します。
環境に応じて最適なバックエンドを自動選択します。 各バックエンドは同一の計算ロジック(PCG乱数・Box-Muller変換)を異なる実行基盤で実装しています。
| バックエンド | 実行方式 | 特徴 |
|---|---|---|
| ① WebGPU | compute shader | 最速。GPGPU専用設計で大量並列に最適 |
| ② WebGL2 | transform feedback | 頂点シェーダーで計算し結果を頂点バッファに書き戻す。広く対応 |
| ③ CPU | JavaScript | 完全互換。バッチ処理でUIフリーズを防止 |
RASTERIZER_DISCARDでラスタライズを無効化し、
頂点シェーダーの計算結果を transformFeedbackVaryings で
頂点バッファに書き戻すことで、汎用計算(GPGPU)に転用しています。
各頂点が1シミュレーションを担当します。