1. Purpose

Because the market is in constant flux, a portfolio's allocation may divert from its intended target allocation. Thus, occasional rebalancing is required to bring a portfolio back in line. This tool aims to simplify the rebalancing process as much as possible by providing model portfolio storage, real-time security prices, and automatic steps generation.
This web app is also useful for knowing the exact number of units you need to buy or sell whenever you want to invest or take out money from your portfolio.

2. Usage

First, recreate your model portfolio either by using one of the default model portfolios available, or by starting from scratch. For each security, enter the symbol and the target allocation in the first two columns. If your allocations do not add up to 100, they will be normalized.
Prices will automatically be fetched from www.alphavantage.co based on the symbols provided. Be sure to account for different exchanges. For example, the symbol "XEC" is "Cimarex Energy Co" on The New York Stock Exchange. To get "ISHARES CORE MSCI EMG MKTS IMI ETF", which has the same symbol, on The Toronto Stock Exchange, specify the exchange by entering "TSX:XEC" or "XEC.TO". Prices from exchanges other than the default ones will be daily rather than real-time, so they may be oudated by at most 24 hours. Finally, enter the number of units you currently have of each security in the last column.

Finally, enter how much cash you wish to invest or take out and press the "Generate Steps" button. A list of steps for rebalancing your portfolio will be generated.
You can register to gain the ability to save model portfolios. Only model portfolio names, symbols, and allocations are saved. You can verify this from the  source code.

3. Source code

You can view the source code here: https://github.com/AlexisDeschamps/portfolio-rebalancer.

4. Contact

Contact the author, Alexis Deschamps, at descalexis@gmail.com with any feedback or questions.