ゴールデンハンドカフ・フィクサー 2000
公開中· ベータ海外駐在員向けのMonte Carlo財務シミュレーター。退職か継続かの意思決定を支援します。7つのシナリオ(勤務、退職、パートタイム、Coast FIRE、地理的裁定)を並べて比較、またはフェーズごとの人生タイムラインをモデル化。損益分岐点分析、破産確率の追跡、Die With Zero計算機能を搭載。
AI生成: この技術解説はプロジェクトのソースコードからAIが作成したもので、不正確な記述を含む場合があります。
ゴールデンハンドカフ・フィクサー 2000は、「退職か継続か」を判断するためのMonte Carlo財務シミュレーターです。報酬の高い仕事を続けるべきか、それとも貯蓄を頼りに辞めるべきか。市場リターンをランダム化したうえでポートフォリオのシミュレーションを実行し、単一の楽観的な予測ではなく「資金が尽きる確率」を報告します。モードは2つ。Compareは最大7つのシナリオを並べて比較し、Planはそれらを一本の連続した人生タイムラインにつなぎます。すでに公開・利用可能ですが、背後のモデルは意図的に単純化されており、ビルドはまだベータ段階です。
アーキテクチャ
シミュレーションのコアはサーバー往復のない純粋なTypeScriptで、すべてブラウザ内で動作します。年次の市場リターンは対数正規分布から抽出します。算術平均と標準偏差(デフォルト10% / 18%)を対数正規のmu/sigmaに変換し、サンプルはBox-Muller法による正規変換から生成します。1回の試行はポートフォリオを年ごとに進めます。その年のリターンを適用し、収入から(インフレ調整後の)支出を引き、頭金は最初に差し引く。純資産が初めてゼロに達した年に、その試行を「破産」と記録します。runMonteCarloはこれをmonteCarloRuns回(設定のデフォルトは500、最大2,000まで設定可能)繰り返し、全試行の各年における純資産を集計して、10th/25th/50th/75th/90thパーセンタイルの推移に加え、破産確率と中央値/最悪/最良ケースのランウェイを報告します。
generateReturns simulateSingleRun
(対数正規, (年ごと:
Box-Muller) リターン · 収入 · 支出 · インフレ)
│ │
└──────────┬───────────────┘
▼
runMonteCarlo (×N回)
│
▼
パーセンタイル (10/25/50/75/90) · 破産確率 · ランウェイ7つのシナリオは同一のエンジンを共有し、コスト関数と収入関数だけが異なります。勤務+購入、勤務+賃貸、退職+購入、退職+賃貸、パートタイム(勤務60%)、Coast FIRE、地理的裁定です。非自明なものは正直にモデル化しています。パートタイムは生活費を固定したまま総収入だけが縮小するため、純貯蓄は不釣り合いに減り、マイナスにもなり得ます。Coast FIREは収入を総支出と等しく設定し(純貯蓄ゼロ、ポートフォリオはリターンのみで成長)、日本で退職すると会社員が払わない国民年金と国民健康保険のコストが加わり、地理的裁定はコスト乗数を適用するか、姉妹アプリの予算計算機から実際の生活費データを取り込みます。支出は毎年インフレし、勤労者の収入は昇給とともに上昇しますが、退職者の収入は上昇しません。
フェーズドシミュレーション
Planモードは人生を順序付きのフェーズのリストとしてモデル化します。例えば「勤務5年 → パートタイム3年 → 退職12年」のように。各フェーズを独立に計算するのではなく、simulatePhasedRunは一つのポートフォリオをフェーズ境界をまたいで連続的に引き継ぎ、各フェーズの開始時に収入・支出・住居のパラメータを切り替えつつ、インフレは絶対年ゼロから複利で積み上げます。ライフイベント(市場暴落、相続、子育て/医療の継続的支出、失業)は絶対年に紐づけられ、境界をまたいで自然に適用されます。結果は、つぎはぎのセグメントではなく一本の整合した推移になります。
損益分岐点とDie-With-Zero
フェーズドエンジンの上には、いずれも二分探索による派生計算機が2つ載っています。
- 損益分岐点 は「退職が安全になるまであと何年働く必要があるか」に答えます。勤務フェーズの期間を二分探索し(約15回の反復、年単位の精度)、固定された期間を
[勤務N年] → [退職 残り]に分割して各ステップでフェーズドMonte Carloを再実行し、破産確率を閾値(デフォルト5%)未満に保つ最小勤務年数に収束させます。全期間働いても基準を満たせない場合は、実行可能な解なしと報告します。 - Die With Zero は通常の問いを反転させます。「この支出ペースで持つか」ではなく、最終純資産の中央値がゼロに最も近づく最大の持続可能な支出額を二分探索します。つまり、おおよそ半数の試行は資金を残して終わり、半数はわずかに足りなくなります。複数フェーズのプランでは、
calculatePhasedDWZが座標降下法でフェーズごとの支出を最適化します。他のフェーズを固定したまま一つのフェーズの支出を二分探索し、総支出の変化が約500ドル/年未満に落ち着くまで最大5ラウンド反復します。
状態(設定、選択したシナリオ、支出ペース、ライフイベント、フェーズ、モード)はlocalStorageに永続化され、共有可能なURLにエンコードされます。これは助言ではなくモデルであり、現実にはこれが捉えきれない変数が加わります。