Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



36 Commits

Repository files navigation

Build Status


Try and optimally balance an account of Vanguard ETFs given a target allocation. Runs as an API for easy use from google sheets.


Balances funds to a target percentage across multiple accounts.

  • high-yield funds prioritized to tax-sheltered accounts
  • can avoid sales in taxable accounts
  • minimizes uninvested cash in each account
  • spreadsheet auto-updates to graph returns and balances over time

CLI usage:

Describe your target allocation, your accounts and provide current market quotes for the funds you're interested in balancing, something like this (via the excellent httpie):

http POST target:='{"VEU":0.7,"VOO":0.3}' accounts:='[{"name":"taxed", "tax_sheltered":false,"cash":1000, "positions":{"VEU":2, "VOO":2}}]' market:='[{"symbol":"VEU", "price":54.33},{"symbol":"VOO", "price":254.77}]' no_sale_accounts:='["taxed"]'

spreadsheet usage:

I talk to the API via a google sheet which contains my account info, you can find a template here: Google Sheet Template. If you make yourself a copy you can start using it to balance your own accounts.