As readers of this blog know, we think automated rebalancing is changing wealth management. It has the ability to reduce costs, improve customization and generate tax alpha greater than most advisor’s fees — at much lower cost than current processes. It is becoming table stakes, and advisors who don’t take advantage of what automated rebalancing makes possible will be at an insupportable competitive disadvantage.
But automated rebalancing has a weakness: it only works if the data it relies on is accurate. There’s an old computer science saying: garbage in, garbage out. If you feed an automated rebalancing system incorrect holdings or model data, it’s not likely to generate useful trades. The solution? It comes in two steps:
Let’s walk through these one at a time.
The first line of defense in protecting against bad data is to suspend trading of accounts that may be affected by bad data. There’s lots of possible sources of bad data. In practice, we see three:
The solution is the same in each case: suspend trading for accounts affected by the bad data. However, the details of how this is done will vary from system to system. Here’s how it works in ours:
With these data integrity checks in place, it is exceedingly rare for any account to be traded on bad data. For most of our clients, there have never been any bad-data trades. For others, it’s a once-every-few-years event.
Fortunately, when it does happen, the bad trades are auto-corrected as soon as the data is fixed. This auto self-correction only works because automated rebalancing systems support a uniform daily rebalancing workflow. If, instead, you had a calendar-based rebalancing workflow — say, every quarter — you’d need a special process to make sure you go back and fix errors caused by bad data. But if you have a daily rebalancing workflow, this isn’t necessary. The problem is just caught and corrected the next day (or whenever the data problems are fixed).
Here’s how a daily rebalancing workflow works: every day, you trade any account that meets one or both of two conditions:
Here’s the thing. If one of these triggers causes an account to be traded, the system-generated trades will remove the trigger. Specifically, the trades always fix whatever constraint was being violated, and take advantage of any opportunity to improve the portfolio net of costs. So, after the account trades, there’s nothing left to do until circumstances change — e.g. there’s a tactical asset allocation change, a security swap in a model, a new loss harvesting opportunity, a change in the account’s customization settings, etc. This means that under normal circumstances, the account won’t trade again for a while — it will neither violate a constraint nor have trades that exceed a cost/benefit threshold.
However, this isn’t true if an account traded on bad data and that data is subsequently fixed. In this case, it is likely to trade the account twice in rapid succession — perhaps two days in a row. The first day it trades based on bad data; the second day, armed with good data, it undoes the previous day’s trades. The key point here is that there was no special process for correcting the error — just the application of the firm’s standard daily rebalancing workflow.
Automated rebalancing is extraordinarily powerful, but it does depend on clean data. The bad news is that there will never be a world with perfect data. The good news is that data integrity checks and a self-correcting rebalancing workflow can reduce the problems caused by bad data to near zero.