Skip to content

Changelog

v0.5

New Features

  • State income tax: flat state tax rate overlay on ordinary income + LTCG
  • NIIT (Net Investment Income Tax): 3.8% surtax on investment income above MAGI thresholds
  • Roth conversion modeling: fixed amount or fill-to-bracket strategies with configurable age window
  • Safe withdrawal rate finder: bisection-based search for maximum spending at target success rate
  • Expanded top-level exports: 18+ symbols importable directly from monteplan

Improvements

  • Sensitivity analysis supports policies target (state tax rate perturbation)
  • USFederalTaxModel.bracket_ceiling() for fill-bracket Roth conversion strategy
  • USFederalTaxModel.compute_niit_vectorized() for vectorized NIIT computation

v0.4

New Features

  • Stress testing: crash, lost decade, high inflation, sequence risk scenarios
  • 2D sensitivity heatmaps (run_sensitivity_heatmap)
  • Plotly-based charts in the Streamlit app (fan chart, spending fan chart, ruin curve, tornado chart)
  • Enhanced Streamlit UI with 6 pages and scenario comparison
  • Quick-start templates: fire_plan(), coast_fire_plan(), conservative_retiree_plan()
  • Full documentation site (MkDocs Material)
  • 5 interactive Jupyter notebooks with Colab support
  • GitHub Pages deployment

Improvements

  • Polished chart aesthetics with consistent theming
  • CSV export for wealth time series
  • Config hashing for caching and reproducibility

v0.3

New Features

  • Per-asset-per-account positions: (n_paths, n_accounts, n_assets) 3D array
  • 4 return models: MVN, Student-t, Historical Block Bootstrap, Regime Switching
  • 5 spending policies: constant real, percent-of-portfolio, guardrails, VPW, floor-and-ceiling
  • Tax models: flat (default), US federal (progressive brackets with LTCG)
  • Regime switching with 2-5 regimes, transition matrix, and coupled inflation
  • Antithetic variates for variance reduction
  • Simulation presets: fast (1,000 paths), balanced (5,000), deep (20,000 + antithetic)
  • Sensitivity analysis: OAT perturbation engine with parallel execution
  • Investment fees: expense ratio, AUM fee, advisory fee
  • Guaranteed income streams: Social Security, pensions, annuities with COLA
  • Spending time series with percentiles
  • Threshold rebalancing
  • Metrics: max drawdown distribution, spending volatility, ruin-by-age
  • CSV export
  • Config hashing via SHA-256

Infrastructure

  • 188 tests passing
  • pytest-cov added
  • mypy --strict passing

v0.2

New Features

  • Multi-asset correlated portfolios
  • Multiple account types (taxable, traditional, Roth)
  • Withdrawal ordering
  • Flat tax model
  • Click CLI
  • JSON config export/import
  • Streamlit app (basic)

Infrastructure

  • Pydantic v2 configuration models
  • Property-based tests with Hypothesis
  • Benchmark suite with pytest-benchmark

v0.1

Initial Release

  • Basic Monte Carlo engine with monthly time steps
  • Single-asset simulation
  • Constant real spending policy
  • Success probability and terminal wealth percentiles
  • Deterministic seeding with PCG64DXSM