Cascade is a fast, deterministic equity waterfall engine and CLI. It helps investors and operators model payouts to preferred and common holders under a given exit price, produce clean CSV reports, visualize flows, run sensitivity analysis, and process portfolios in bulk.
- Calculates precise payouts for each stakeholder based on rounds, liquidation preferences, and ownership.
- Exports clean results as CSV for quick review and sharing.
- Generates a Mermaid-based HTML diagram to visualize the waterfall.
- Runs sensitivity analysis across exit ranges to understand how outcomes change.
- Processes thousands of deals via a single CSV in bulk mode.
Build, run, visualize, analyze, and benchmark. Each command is a single copy‑paste line:
| Command | Description |
|---|---|
cargo build --release |
Build the release binary |
cargo run --release -- run examples/deal.yml --output result.csv |
Calculate payouts and save to result.csv |
cargo run --release -- viz examples/deal.yml --output waterfall.html |
Generate a Mermaid visualization (HTML) |
cargo run --release -- simulate examples/deal.yml --range 10M..100M --step 5M --output simulation.csv |
Run a sensitivity sweep across exit prices |
cargo run --release -- bench examples/deal.yml --scenarios 100000 |
Run performance benchmark |
Generate 1,000 synthetic sample deals and process them portfolio‑style. One command per line:
| Command | Description |
|---|---|
python3 scripts/gen_bulk_1k.py |
Generate 1,000 sample examples/bulk_1k/*.yml files and CSV |
mkdir -p output |
Create an output directory for bulk processing |
cargo run --release -- bulk examples/deals_1k.csv --output-dir output |
Process the portfolio CSV and write per‑deal CSVs into output/ |
CSV format for bulk:
- Header:
path - Each row: relative path to a deal YAML (e.g.,
examples/bulk_1k/deal_0001.yaml).
Apache-2.0 © 2025 su-network