Skip to content
Tax efficient ETF portfolio balancing
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

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}]'

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.



You can’t perform that action at this time.