by Leon Beckert
Launch Demo
·
Report Bug
·
Request Feature
"Cash Flow Rebalancing" promises the advantages (additional returns) of regular portfolio rebalancing without its disadvantages (taxes, transaction costs).
In classic portfolio rebalancing, a rebalancing adjustment occurs once every quarter, semester or yearly. Assets that have performed better and are now overweight get sold off and the resulting cash inflow gets invested in the underperformers. The result is a completely rebalanced portfolio.
The disadvantages of this approach are clear: Gains have to be realized, taxes have to be paid and transaction costs occur for every asset.
"Cash Flow Rebalancing" helps us defer taxation and reduce transaction cost.
By only investing in the assets that negatively deviate the most from our target distribution we do not need to sell any assets. This can be done on a monthly basis in our savings phase and reversely (selling the overweight assets) in the consumption phase.
In the savings phase we are deffering taxation indefinitely in a buy-and-hold strategy because we do not realize any gains. At the time of writing (2023), monthly savings plans on ETFs are widely available and mostly free in the western world. Using this strategy, we can expect 0.1% to 0.4% additional yearly returns when rebalancing the same asset class: globally diversified stock ETFs (Gerd Kommer 2018).
This cash flow rebalancing calculator offers users the ability to set up their portfolio structure initially within the python executable only returning monthly (or yearly) to calculate their cash flow rebalancing amounts.
Rebalancing fully with an amount that is larger than the necessary rebalancing amount
Rebalancing fully in detail with the exact amount needed
Approximating our target distributions with less cash flow
### Built With
To get a local copy up and running follow these simple steps.
This is a list of things you need to use the software and how to install them.
- Clone the repo
git clone https://github.com/leonbeckert/cash-flow-rebalancing-calculator.git
- Install NumPy and prettytable
pip install numpy
pip install prettytable
- Run python script
python cash_flow_rebalancing_calculator.py
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
Before contributing please read our Code Of Conduct.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See LICENSE
for more information.
email: [email protected]
Project Link: https://github.com/leonbeckert/cash-flow-rebalancing-calculator
Creator: