Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

equitycalc

Model equity and generate spreadsheets.

Caution

This project is under active development and is highly unstable. Use at your own risk.

Quick Start

  1. Install Rust via curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Run cargo run -- --portfolio-path examples/acme incremental-report
  3. Open incremental.csv

Next, try describing your own portfolio.

Reports

Several types of reports can be generated. Each report is generated by a different subcommand.

Total Report

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.

Incremental Report

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.

Portfolio Specification

Tip

Explore the example portfolios.

A portfolio consists of:

  1. A psp.yaml file describing the preferred stock price over time. Example:
    date: 2020-01-01
    price: 1.00
    ---
    date: 2021-01-01
    price: 1.75
    ---
    ...
  2. An option_grants.yaml file 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
      ...
    ---
    ...
  3. An rsu_grants.yaml file 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
    ---
    ...

TODO

  • 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

About

Model equity and generate spreadsheets

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages