๐Ÿ“Š Financial Planner ๐Ÿ“ˆ

Dollars:
Portfolio โ†’ Auto Return & Volatility
Uses /api/portfolio_stats
ฮผ (CAGR): โ€” ฯƒ (Vol): โ€”
Portfolio Lab
Estimate return (CAGR) + volatility (ฯƒ), then apply into planner.
CAGR (annual)
โ€”
Volatility ฯƒ (annual)
โ€”

Allocation (will populate after Calculate in Step 2)
...
Ticker Weight Value Max Drawdown
Return (indexed growth)
Total Return
โ€”
Start โ†’ End
โ€”
CAGR (annual)
โ€”
Indexed growth (start = 1.0)
Drawdown (portfolio + components)
Max Drawdown
โ€”
Peak โ†’ Trough
โ€”
Recovery
โ€”
Underwater (portfolio drawdown % over time)
Components (using normalized weights)
Ticker Weight Max DD Trough
Run Calculate to populate.
ML Guide
Set style weights (must sum to 100%), or click a point on the frontier slice. Then click Load to fill Portfolio Lab inputs. (Per your rule: Load = hydrate only โ†’ you still click Calculate.)
Step 1: style weights
Style weights (sum must be 100%)
โ€”
โ€”

Efficient frontier slice (preview) โ“˜
ฯƒ (risk) vs CAGR
Click a point to generate the nearest 6 presets (2 safer, 2 riskier, 2 neighbors).
Target: โ€”
Note: this is a UI preview slice. Later youโ€™ll swap these preview points for true stats from your DB (RUN ETL) universe + ranking logic.
Presets (6)
Reality Check Pack
Adds 3 additional โ€œstress testโ€ runs on top of the main Monte Carlo (more compute, better reality check).
Stress window is fixed at first 5 years after retirement (same as your current stress logic).
More inputs

This tool doesnโ€™t predict markets. It stress-tests whether your plan survives different futures โ€” it tells you how much risk you can afford, not which ticker will win.

๐Ÿ“‰ Asset vs. Retirement Expense
๐Ÿ“‰ Monte Carlo Simulation: Retirement Asset Range
Benchmark (fixed): S&P 500 SPY โ€ข 20y โ€ข CAGR 10.8% โ€ข ฯƒ 19.4%
โœ… Probability of plan success (no depletion through age 90): 100.0%
Strong
Success = assets never hit $0 before age 90.
Band guide: <65% = caution, 66โ€“88% = okay, 89%+ = strong
If Caution: adjust one lever โ€” retire later โ€ข spend less โ€ข save more โ€ข reduce volatility.
๐Ÿ“Œ Executive dashboard
How safe is this plan?
Baseline success: 100.0% Strong
How fragile is it under stress?
Enable Reality Check Pack to see stress fragility.
What should I change first?
Run Sensitivity to show the top lever.
โš ๏ธ Depletion Risk Summary (Based on 300 Monte Carlo Simulations)
  • 0.0% chance of running out of money by age 75
  • 0.0% chance of running out of money by age 85
  • 0.0% chance of running out of money by age 90
๐Ÿ“ MC notes (end labels)
  • End age: โ€”
  • Median assets: โ€” (plan) vs โ€” (benchmark)
  • Depletion: โ€” (plan) vs โ€” (benchmark)
Monte Carlo results include volatility drag and sequence risk. Return Std Dev (ฯƒ) controls how โ€œbumpyโ€ yearly market returns are around your average return. Note: this version uses a single ฯƒ across pre- and post-retirement.
Assumes current savings, asset, CPP, expenses, and retirement age remain fixed. Market returns and inflation are randomly varied in each simulation.
โšก Live What-If
Restore sliders from the current inputs above.
More controls
๐Ÿงญ Strategy Coach (beta)
Lever (choose one)
๐ŸŽฏ Goals (beta) โ€” extra expenses or inflows

Enabled Name Type When Amount Infl.

Note: goals are merged client-side into asset liquidations (post-tax) before the live update call.


๐Ÿ”„ Compare Saved Scenarios
Scenario snapshot (saved in DB)
Select Scenario A / B above; this shows the key plan inputs saved on each scenario.
Scenario Plan snapshot Assumptions
Waiting for selectionโ€ฆ

๐Ÿ”„ Compare
Monte Carlo Simulation

Sensitivity โ€“ Dollar Impact (Core Inputs)
Retirement Age โ€“ Dollar Impact (Own Scale)
Tax-Aware Retirement Plan
These inputs mirror the top form; theyโ€™re tucked away to keep the page clean while reviewing Tax-Aware Visuals.

Applied each retirement year (unless RRIF minimum is explicitly enabled).
Tax Inputs (Tax-lite)
Common inputs (example): OAS Monthly โ‰ˆ $800 starting at 65; Clawback threshold โ‰ˆ $90,000/yr; Clawback rate 15%; RRIF start age 71. Check Index OAS to grow OAS with inflation. Adjust to your year/province.

Example only: ~$57,375 โ†’ ~14.5%; ~$114,750 โ†’ ~20.5%; income above that typically ~26-32% depending on province/territory. See simple bracket table (CRA) .
Note: With brackets ON the flat Income Tax Rate (%) is ignored. Use Taxable Drag (%) to include ongoing tax on taxable investment income. RRIF-min taxes still show under โ€œTax paid from Taxable (overlay)โ€.

Optional friction on Taxable growth only. Enter manually, or use the helper below and tick Auto-apply to fill this for you. If you want to overwrite the helper, simply uncheck Auto-apply and type your own value here.
Taxable Drag Helper
Stream Allocation (% of taxable) Yield (% on that slice) Effective Tax Rate (%) Contribution to Absolute Drag (%)
Eligible dividends 0.000
Interest (incl. foreign withholding) 0.000
Realized capital gains
Use effective rate (after inclusion), e.g. 50%ร—30% = 15%.
0.000
Absolute Drag (ฮฃ contributions) 0.000%
Implied Taxable Drag d = Absolute Drag รท Return Rate 0.00%
Allocation is the share of your Taxable balance in that stream (total โ‰ค 100%). Yield is the annual % paid/realized on that slice (e.g., 5% dividend yield; for realized capital gains, enter the % of that slice you expect to realize as gains this year โ€” for example, if you hold $300k of growth stocks and realize $15k of gains in the year, the Yield for that row is 15k รท 300k = 5%, even if you sold more than $15k worth of shares). For each row we compute Allocation ร— Yield ร— Effective Rate to get that rowโ€™s contribution to Absolute Drag (% of the taxable balance). Summing rows gives total Absolute Drag. We then divide Absolute Drag by your Return Rate to get the modelโ€™s Taxable Drag (%), which is applied to Taxable growth only.
Example (common inputs): 60% equities @ 2% yield taxed 10% โ†’ 0.12%; 40% bonds @ 4% yield taxed 30% โ†’ 0.48%. Absolute Drag = 0.60%. With an 8% return, Taxable Drag = 0.60 รท 8 = 7.5%.

Allocate your current assets across these three accounts. The total here should match your current portfolio balance.
Total allocated: $0
Pre-retirement contribution split: Each pre-retirement year we deposit savings in this order TFSA โ†’ RRSP โ†’ Taxable. Amounts below are annual targets; Taxable is auto-computed as Monthly Savings ร— 12 โˆ’ TFSA โˆ’ RRSP.
Tip: If TFSA + RRSP exceeds Monthly Savings ร— 12, weโ€™ll use TFSA first, then RRSP, and set Taxable to $0 for that year.
Savings grow each pre-retirement year by your Annual Saving Increase Rate (%) and are then split in this order TFSA โ†’ RRSP โ†’ Taxable.
TFSA cap grows automatically from $7,000 in 2025 by โ‰ˆ2.1%/yr for 2026+. We apply that cap before RRSP and Taxable in the yearly split.
Tax-Aware Visuals
Parity mode โ€” charts never block the table

Part A โ€” Six-withdrawal ledger: Year-by-year retirement flows by source using your chosen withdrawal order (e.g., Taxable โ†’ TFSA โ†’ RRSP), with OAS and RRIF-minimum overlays, tax on taxable and RRSP, and ending balances by account. Use the CSV to view all rows.

Age Baseline Assets (100% Taxable) From Taxable From TFSA From RRSP (Gross) RRIF Min % CPP / Support OAS (Gross) OAS Clawback OAS (Net) Tax on Taxable (overlay) Tax on RRSP (overlay) Taxable Drag End Taxable End TFSA End RRSP End Total

Optimize withdrawals (beta)
Next-$1 Analyzer (first retirement year)
RRSP marginal on next $1: โ€”
Taxable marginal on next $1: โ€”
OAS headroom / status: โ€”
Optimizer result (summary)
โ€”