The current simulator produces a single deterministic trajectory per config. For real token-economy design we care about the distribution of outcomes — e.g. "what's the 5th-percentile treasury balance after 24 months if churn is Beta(2, 8)".
Proposal: add a monte_carlo mode:
- Each config value can be either a scalar or a scipy-style distribution (e.g.
{'dist': 'beta', 'a': 2, 'b': 8}).
simulate(config, n=10_000, seed=...) runs n independent trajectories.
- Output is a dataframe with one row per trajectory + aggregation helpers for p5 / p50 / p95 and probability of ruin.
Deliverables:
- New
token_simulator.monte_carlo module.
- Example notebook showing a vesting schedule + churn Beta distribution → distribution of circulating supply at t=24mo.
- Tests confirming reproducibility under a fixed seed and that scalar inputs collapse to the deterministic path.
The current simulator produces a single deterministic trajectory per config. For real token-economy design we care about the distribution of outcomes — e.g. "what's the 5th-percentile treasury balance after 24 months if churn is Beta(2, 8)".
Proposal: add a
monte_carlomode:{'dist': 'beta', 'a': 2, 'b': 8}).simulate(config, n=10_000, seed=...)runsnindependent trajectories.Deliverables:
token_simulator.monte_carlomodule.