Investment Journey Simulator
Decisions compound too.
Investment Journey Simulator is an open-source Python investment planning simulator with a Streamlit interface.
It models how contributions, lump sums, pauses, withdrawals, timing, rebalancing, goals, taxes and uncertain return paths can change a long-term investment journey - and helps explain why two journeys finish differently.
Project website | Try it online | Source code | Documentation
Install
pip install investment-journey-simulator
Launch
investment-journey
This starts the Streamlit application locally and opens the simulator in your browser.
What it can model
Investment journeys
- SIPs and recurring contributions
- lump-sum investments
- contribution step-ups
- pauses, resumes and restarts
- one-off and recurring withdrawals
- full exits and later restarts
- multi-fund portfolios
Portfolio decisions
- target allocations and portfolio drift
- portfolio rebalancing
- multiple rebalancing policies
- fees and expense-ratio effects
Goals and returns
- goal planning and goal seek
- XIRR and post-tax XIRR
- nominal and inflation-adjusted values
- drawdowns
- contribution-versus-growth analysis
Risk and history
- historical replay
- rolling backtests
- sequence-of-returns risk
- Monte Carlo and stochastic simulation
- block-bootstrap paths
Compare journeys
- side-by-side scenario comparison
- timing-effect analysis
- Shapley-based attribution when several decisions change together
Outputs and audit
- interactive charts
- PDF reports
- Excel exports
- JSON scenarios and results
- visible assumptions
- validation and audit information
Global core, regional depth
The core contribution, portfolio, rebalancing, risk and scenario engine does not assume a particular country or currency.
Additional tax depth is available for the supported Indian resident-individual scope, including lot-level capital-gains treatment and related statutory rules.
Validation
The published validation record includes:
- 2,488 tests passing
- 93% statement coverage
- Ruff clean
- mypy clean
- approximately 29,000 untaxed randomized independent cross-checks
- approximately 4,800 taxed randomized independent cross-checks
See the detailed evidence and limitations:
Statutory parameters and modelling conventions:
Important
Investment Journey Simulator is a simulation and educational tool.
Future returns are assumptions, not forecasts or guarantees. Historical data is used for replay, backtesting, sequence-risk analysis, stochastic simulation and validation - not to claim that past returns predict future returns.
Tax and regulatory treatment can change and may depend on individual circumstances.
This software is not financial, investment, tax or legal advice.
You define the assumptions. It shows you their consequences.
Metadata
Release files for investment-journey-simulator 4.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| investment_journey_simulator-4.4.4.tar.gz | 547.6 kB | Without provenance | Details for investment_journey_simulator-4.4.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| investment_journey_simulator-4.4.4-py3-none-any.whl | Python 3 | none | any | Details for investment_journey_simulator-4.4.4-py3-none-any.whl |
Total release size: 952.7 kB
Release files / investment_journey_simulator-4.4.4.tar.gz
| Download URL | investment_journey_simulator-4.4.4.tar.gz |
|---|---|
| Size | 547.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f2da479b9b994be4573504658f6cb66483965041fb5df9c3aeb9215bafa2134
|
|
BLAKE2b-256 checksum How to use checksums |
a23e46f87f03859ef687d783a9f06b1a8c3906f256ed3011f8d6864ada04a422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / investment_journey_simulator-4.4.4-py3-none-any.whl
| Download URL | investment_journey_simulator-4.4.4-py3-none-any.whl |
|---|---|
| Size | 405.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bf6c7b0e89232a8c98b6df7a5d29a121c38bc58f214d98fd4c3e10daf6137198
|
|
BLAKE2b-256 checksum How to use checksums |
a3b774bcf9d47b4689362fc6f0869439b1a8956d9557ee68b591167fa45642b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Security for investment-journey-simulator 4.4.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.