This blog post was originally published on the MoneyGeek.ca blog by Jin Choi. The website no longer exists, but Jin has graciously allowed us to re-publish his research for the benefit of future investors forever.
Since I started MoneyGeek, readers have frequently asked me questions such as the following:
"Should I keep U.S. stocks in my RRSP account?"
"Which items in MoneyGeek's portfolio should be contained within RRSP, TFSA, and non-registered portfolios?"
In summary, readers wanted to know how they should divide their money between RRSP, TFSA and non-registered accounts in such a way as to minimize taxes over their lifetimes.
Answering such questions, however, was tricky. The answer depended on each person's unique circumstances, including but not limited to their age and income level. I promised my readers that I would work on a tool that would answer this question for them.
Today, I'm happy to announce that the wait is over. Ladies and gentlemen, please allow me to introduce the "Investment Tax Optimizer". You can access the public version of this tool by clicking on this link, or by going to the Resources menu.
What The Tool Does
The investment tax optimizer takes in various information about your financial circumstances, as well as your expectation regarding your investments, and spits out a breakdown of where you should hold your investments.
For example, if you say you want to hold $20,000 in Canadian stocks and $10,000 in Canadian bonds, it might spit out an answer that says you should hold the $20,000 worth of Canadian stocks in the TFSA, and the bonds in the RRSP.
That's what the tool does, but how does the tool come up with the answer? Let me explain as best I can.
How The Tool Calculates Your Answer
Basically, the tool gets the answer by trying out a lot of different scenarios and by picking out the best one.
Each scenario consists of sets of priorities, which consist of the order of the investments, and the order of the tax vehicles.
For example, one priority might look something like this: [Canadian Stocks, Canadian Bonds], [TFSA, RRSP, non-registered]. In plain language, this means the tool will first try to fit as many Canadian stocks into the TFSA account as it can. If the TFSA account gets full, it will try to put the rest inside the RRSP. If that gets full, it will put the rest inside a non-registered account.
Once all the Canadian stocks are fitted inside the accounts, the tool will try to fit the bonds in the same order. In other words, it will try to fit as many bonds inside the TFSA first, and then try the RRSP, and then the non-registered account.
The algorithm tries all possible priorities. In other words, it will try priorities including [Canadian Bonds, Canadian Stocks], [RRSP, TFSA, nonregistered] (i.e. Fit the bonds inside RRSPs first) and [Canadian Stocks, Canadian Bonds], [TFSA, non-registered, RRSP] (i.e. Fit the stocks inside the TFSA first), as well as all other possibilities.
Once the algorithm allocates investments according to a priority, the algorithm simulates the growth of these investments inside each of these accounts, while maintaining the same priority. For example, if our priority calls for having Canadian stocks inside TFSAs first, then the algorithm will try to put as many Canadian stocks inside the TFSA in the simulated future as well.
I've taken the liberty of making a few assumptions about the user as the tool simulates the future. I've assumed that the user's bond component will increase while the stock component will decrease as the user gets older. I've also assumed that everyone retires at age 65, upon which time the user stops saving and starts withdrawing money. The user withdraws an increasing percentage of his/her money every year, and withdraws every penny by the time he/she is 94.
As people grow older, their financial circumstances change. Therefore, I believe it's unrealistic to expect that the investment priority should stay the same over the person's lifetime. Therefore, I've programmed the algorithm so that once in their lifetime, the user's priorities change.
For example, a person might start with the priority [Canadian Stocks, Canadian Bonds], [TFSA, RRSP, non-registered]. Then, the algorithm will try to change the priority to [Canadian Bonds, Canadian Stocks], [TFSA, RRSP, non-registered] after a number of years into its simulation.
The algorithm will try every possible age for switching priorities. For example, it will try switching priorities 5 years from now, as well as 15 years from now. The tool will record the results of the simulation for every single possibility.
After examining the tax implications of every one of these different scenarios, the algorithm will choose the winning priority and switching age based on the most amount of money the user would receive during retirement. The tool will then display the breakdown of where you should put your investments based on the winning priority.
Further Considerations
That, in a nutshell, is how the tool works, but there are a few other things you should know about it.
First, the public version only optimally allocates Canadian stocks and Canadian bonds. MoneyGeek's regular and premium members have access to the members only tool, which allows the user to allocate U.S. stocks as well.
Secondly, I would like to emphasize that this is merely a tool, and you shouldn't regard the results of this tool as advice. Minimizing taxes involves more than just knowing how to split your investments between TFSA, RRSP and non-registered accounts. Many other considerations come into play as well, so I suggest you talk to an accountant or a tax professional if you want a comprehensive tax planning solution.
That's all I have to say about the tool. I hope you find it useful. If you have any questions, please ask using the comment box below, so that everyone can benefit.
This blog post was originally published on the MoneyGeek.ca blog by Jin Choi. The website no longer exists, but Jin has graciously allowed us to re-publish his research for the benefit of future investors forever.