Stock Picker helps allocate funds across multiple brokerage accounts.
It allocates funds accross 401k, IRA, taxable accounts, HSA, etc. Optimially finding an allocation that:
- Has a risk tolerance defined by the user
- Minimizes tax liability
- Minimizes management fees
The calculations are done offline, and the results can then be executed by the account holder.
Stock picker uses OR-tools Glop linear solver.
Current asset value is calculated via Google Sheets Google Finance functions. The Sheet is then downloaded by the user and parsed by Stock Picker.
- Clone this repo
- Download OR-tools java into the libs/ortools folder - https://drive.google.com/folderview?id=0B2yUSpEp04BNdEU4QW5US1hvTzg&usp=sharing#list
NOTE: Only the lib folders content should be in the ortools folder.
On OSX I ran: tar -xvzf Google.OrTools.java.MacOsX64.3750.tar.gz cp -r ~/Downloads/or-tools.MacOsX64/lib/ stock-picker/libs/ortools/
- Make sure everything runs correctly by running ./gradlew run
- Make a copy of this Account holdings Google Sheet and fill it out https://docs.google.com/spreadsheets/d/1FHmZpNUhMbcM2kIfxSCh28zVzac-0OOkn4cldMOrrnA/edit#gid=1156966902
- Download your copy of the Account holding Google Sheet using File -> Download as -> Microsoft Excel .xlsx
- Copy the downloaded .xlsx into the main repo folder, replacing solverTemplate.xlsx
- Run!