Model equity and generate spreadsheets.
Caution
This project is under active development and is highly unstable. Use at your own risk.
- Install Rust via
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Run
cargo run -- --portfolio-path examples/acme incremental-report - Open
incremental.csv
Next, try describing your own portfolio.
Several types of reports can be generated. Each report is generated by a different subcommand.
cargo run total-report
Generates a daily portfolio total report saved to total.csv. Report is broken down by vested/unvested and options/RSUs.
To view the report options, run cargo run -- total-report --help.
cargo run incremental-report
Generates an incremental vesting report, showing the value of equity that vests per quarter. Report is saved to incremental.csv. The vesting amount is broken down by grant and quarter.
To view the report options, run cargo run -- incremental-report --help.
Tip
Explore the example portfolios.
A portfolio consists of:
- A
psp.yamlfile describing the preferred stock price over time. Example:date: 2020-01-01 price: 1.00 --- date: 2021-01-01 price: 1.75 --- ...
- An
option_grants.yamlfile describing the options grants recieved. Example:name: New Hire date: 2020-01-01 grant_value: exercise_price: 1.00 shares: 1000 vesting_schedule: commences_on: 2020-01-01 events: - date: 2021-01-01 number_of_shares: 250 ... --- ...
- An
rsu_grants.yamlfile describing the RSU grants recieved: Example:name: 2020 Performance Grant date: 2021-01-01 grant_value: grant_price: 1.75 total_value: 1750 vesting_schedule: commences_on: 2021-01-01 events: - date: 2022-04-01 number: 109 --- ...
- RSUs
- PSP
- Options
- Recognize vesting commencement date
- Use a library for processing commands
- Generate a csv of vesting amounts over time, by quarter
- Parse portfolio models from YAML
- Add example portfolio
- Validate inputs / parsing DTOs can fail
- Write directly to file
- Logging
- Model grants as using natural language (i.e. not manual)
- Generate a spreadsheet that is already formatted
- CI
- Versioning / releases
- Installation via Homebrew and dotslash