Thursday, June 2, 2022

Measuring Rebalancing Profits and Losses

Investors often seek to maintain fixed percentage allocations to the various components of their portfolios.  This can be as simple as just choosing allocations to stocks and bonds, or it can include target percentages for domestic and foreign stocks and many other sub-categories of investments.  Portfolio components will drift away from their target percentages over time, requiring investors to perform trades to rebalance back to the target percentages.  A natural question is whether rebalancing produces profits, and if so, how much.

A long-time reader, Dan, made the following request:

I have a topic request. On the subject of portfolio rebalancing, I have read your many posts and whitepaper [see Calculating My Retirement Glidepath]. I have actually implemented something similar (but not exactly the same) myself.  I saw in one blog post, cannot find where, that you said something to the effect of “my rebalancing trades last year produced a profit”.

My topic request is, could you detail specifically, your method for tracking & determining profitability of those rebalancing trades?

It’s true that the rebalancing I did through the brief but fairly deep stock market decline at the start of the pandemic produced nontrivial profits for me.  These profits came from purely mechanical trades I made when my spreadsheet declared my portfolio to be too far out of balance.

However, I don’t consider profit to be the primary purpose of rebalancing.  I do it to maintain a sensible risk level for my portfolio given my age and the fact that I’m retired.  In fact, I expect to lose money over the decades from rebalancing, as I’ll explain before I get to the details of how investors can measure the profits and losses from rebalancing.  

There are two different effects that can occur as the prices of portfolio components vary.  One effect creates profits, and the other creates losses.

Rebalancing profits

Rebalancing is profitable when one asset, say U.S. stocks, rises faster than another asset, say Canadian stocks, and later the Canadian stocks catch up.  By selling some U.S. stocks to buy Canadian stocks just before Canadian stocks begin to perform better, the rebalanced portfolio outperforms just holding through the whole period.

In general, when two assets grow at roughly the same long-term rate, but the lead seesaws back and forth between them, rebalancing is profitable.

Rebalancing losses

Rebalancing gives losses when one asset, say stocks, consistently outperforms another asset, say bonds.  In this case, rebalancing usually involves periodically selling some stocks to buy bonds, and the rebalanced portfolio won’t perform as well compared to buy-and-hold.

Of course, there are times when bonds outperform stocks by a wide margin, mainly when the stock market crashes.  So, there will be periods when rebalancing will produce short-term profits to offset the long-term rebalancing losses from mainly selling stocks to buy bonds.

I expect the rebalancing between different classes of stocks to produce small profits, and to occasionally get rebalancing profits from rebalancing between stocks and bonds, but I expect the long-term losses from rebalancing from stocks to bonds to dominate.

So, why rebalance if we expect losses?

There is no guarantee that rebalancing will produce losses on balance.  If there is an extremely large drop in stock prices some time in the future, it’s possible that rebalancing will produce net profits.  By maintaining a fixed percentage in bonds instead of letting the bond percentage dwindle, the investor who rebalances will be spared somewhat when stocks crater.

So, even though I expect to lose out over the decades from rebalancing because I’m optimistic about the future of stocks, it’s possible that rebalancing will save me at a terrible time for stocks.  This is the main idea behind the risk-control value of rebalancing.  I’d rather get some protection if future returns disappoint than try to become even richer in case the future is very bright.

Calculating rebalancing profits and losses

Back in 2020, my spreadsheet told me to rebalance several times as stocks dropped sharply and then rebounded quickly.  Each time I rebalanced, I took a snapshot of my portfolio holdings.  Later, I looked at the snapshot from just before the first rebalancing, and calculated what my portfolio’s value would have been if I had never rebalanced through the pandemic.  The difference between this value and the actual portfolio value I ended up with as a result of rebalancing gave me my net rebalancing profit.  This difference proved to be larger than I expected.

In general, any discussion of profit and loss comes from comparing two different courses of action.  In this case, it comes from comparing an actual portfolio with rebalancing to a hypothetical portfolio without any rebalancing over a particular period of time.

I don’t do these calculations often.  I’m satisfied that rebalancing makes sense for me for risk reasons.  I’m not waiting for the outcome of an experiment to see whether rebalancing will be profitable over the long run.  I got interested in rebalancing through the pandemic and did some calculations out of curiosity.

A more serious approach

I don’t think it’s important to track rebalancing profits and losses, but I can understand that some technically-minded investors may be interested.  So, let’s dig into how one might implement tracking rebalancing profits and losses.

The biggest complication comes from portfolio inflows and outflows.  In addition to running your actual portfolio and deciding which assets to buy or sell each time you add or withdraw money, you’d have to make these decisions for a hypothetical non-rebalanced portfolio.  An easier task is to take a snapshot of your portfolio before each rebalancing, and to track inflows and outflows.  This permits you to run a hypothetical non-rebalanced portfolio over any period of time and then compare its results to your actual portfolio’s results.

If the hypothetical portfolio isn’t supposed to have rebalancing, it’s not obvious what assets you should buy or sell when adding or withdrawing money.  The choices you make with the hypothetical portfolio could make a big difference in the measured values of rebalancing profit and loss.

When I looked at my rebalancing gains through the pandemic, I didn’t have any inflows and had only small outflows, so it didn’t make a lot of difference what assets I chose to sell for the outflows.  Over longer periods, the choice of what assets to buy or sell can make a big difference in the calculated rebalancing gains and losses.

Here are some possibilities for how to run the hypothetical portfolio:

  1. Add or withdraw from each asset class in proportion to its percentage of the portfolio.  This leaves asset class percentages unchanged.  This is what I did when I calculated my rebalancing gains through the pandemic.

  2. Add or withdraw from asset classes in a way that takes them closer to their target percentages.  This is a form of rebalancing with cash flows.  With this approach, what you’re measuring is the profits or losses from the “extra” rebalancing in your real portfolio that becomes necessary when asset classes diverge strongly enough that they can’t be kept in balance with cash flows.

  3. Perform cash flows the same way you do them for your real portfolio, and then rebalance on a fixed time schedule.  For those who use threshold rebalancing, this method compares the results from threshold rebalancing to the results of periodic rebalancing.

  4. Use one of the other three methods and reset the hypothetical portfolio to the real portfolio periodically (perhaps annually) after calculating the period’s rebalancing gain or loss.  This will give very different results from letting the hypothetical portfolio diverge from the real portfolio over many years.

No doubt there are many other possible approaches to running the hypothetical portfolio.  


There are so many choices for how to proceed to measure the value of rebalancing that whatever method you choose would be a personal customized measure of something that may or may not represent the long-term value of rebalancing.  For now, I’ll just compute short-term rebalancing gains or losses when the mood strikes.


  1. Interesting topic. I agree rebalancing is a complex and personal thing. The all in one ETF portfolios, and robo advisors do it automatically, but I don't think there is a good way to measure long term value of rebalancing. I am have a number of individual holding and have never sold to rebalance just put new money in to adjust my allocation back to targets. I assume during the withdrawal stage I would sale to keep things on target, but then there are bigger issues with RRSP draw down etc.. No easy answer.

    1. Rebalancing doesn't become an issue until cash flows are small compared to portfolio size, so that you can't stay balanced just with cash flows. I found it relatively easy to choose a rebalancing method, but trying to measure its profitability is difficult. I prefer to focus mostly on risk control.

  2. Hey! When your spreadsheet alerts you that rebalancing is required, does it also suggest what sell/buy instructions you should follow? I have a similar spreadsheet and while it's easy to alert when our portfolio is out of balance, the process of determining the moves to rebalance is tedious/iterative as it's between several accounts and with mixed-asset ETFs. Thoughts?

    Related, I know you've mentioned that it would be difficult to share a generic version of your portfolio spreadsheet, but if the Google Apps Script code you use would be easy to share and have value, I'd love to see it!

    Thanks again for all of your shared knowledge; you're definitely my favourite personal finance blogger :)

    Take care.

    1. Hi Sebastien,

      The script I use just alerts me that I need to do something. I have a spreadsheet tab that tells me what to do. You're right that it's tricky. Here's version of my script:

      function PortfolioEmail() {
      var spreadsheet = SpreadsheetApp.openById("spreadsheet's ID, a long string of random-looking characters");
      var sheet = spreadsheet.getSheetByName("this is the name of the tab");
      // Fetch the range of cells (B28..E28 in my case) starts at B28 and gets 1 row, 4 cols
      var dataRange = sheet.getRange(28, 2, 1, 4)
      // Fetch values for each row in the Range.
      var data = dataRange.getValues();
      for (i in data) {
      var row = data[i];
      var rebalance = row[0];
      var buy = row[2];
      var emailAddress = row[3];
      if (rebalance > 0 && buy > 0)
      var message = "Rebalance and Invest excess cash!";
      var subject = "Rebalance and Invest excess cash";
      MailApp.sendEmail(emailAddress, subject, message);
      if (rebalance > 0 && buy == 0)
      var message = "Rebalance";
      var subject = "Rebalance!";
      MailApp.sendEmail(emailAddress, subject, message);
      if (rebalance == 0 && buy > 0)
      var message = "Invest excess cash!";
      var subject = "Invest excess cash";
      MailApp.sendEmail(emailAddress, subject, message);

    2. Great! The script is straight forward. I'm curious how the spreadsheet tab calculates/determines what you should do (if beyond just determining that there's a rebalance and/or cash investment required).

    3. As for how to proceed with trying to automate the rebalancing, I started by doing it by hand at first. Then I created a spreadsheet tab that aided that process. Over time, I built it up to the point where I don't have to think much.