etf_balancer 1.1.0

Balance a portfolio of ETFs across multiple accounts
Documentation
[![Build Status](https://travis-ci.org/gnmerritt/etf-balancer.svg?branch=master)](https://travis-ci.org/gnmerritt/etf-balancer)

# etf-balancer

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

## features

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](https://httpie.org/)):

```bash
http POST https://etf.gnmerritt.net/balance 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](https://docs.google.com/spreadsheets/d/1o8sxqQx-XOBXjGqna-EQ-8smx7PInTiPLUEc6tUZhr4/edit?usp=sharing). If you make yourself a copy you can start using it to balance your own accounts.

![dashboard](./spreadsheet/dashboard.png)

![accounts](./spreadsheet/accounts.png)