Calculating Daily Portfolio Returns Between Monthly Rebalances
Summary
The document shows how to calculate daily returns for a portfolio whose target weights are reset monthly. Begin with the capital allocated to each asset at the start of the month, apply each asset's daily return to its current dollar value, and sum the updated values. The portfolio's daily return is the change in total value relative to the previous day's total. Weights drift as asset values change, so they need not continue to sum to their original target allocation when treated as fixed numbers; current weights are each holding's value divided by total portfolio value.
A two-stock example follows this process over successive days and distinguishes the daily return from the cumulative month-to-date return. At month end, the total portfolio value is retained while the holdings are rebuilt according to the next month's target weights. The example is an accounting procedure, not a performance study, and assumes returns can be applied directly to dollar holdings without addressing trading costs, taxes, cash flows, or execution effects at rebalance.
Key ideas
- Track each holding's dollar value and update it by that asset's daily return.
- Compute portfolio daily return from the change in total value relative to the prior day.
- Portfolio weights drift between rebalances as holdings earn different returns.
- At month end, redistribute the portfolio's total value according to the next target weights.
- Daily returns and cumulative month-to-date returns use different comparison periods.
Tags
Full text
# Monthly rebalancing portfolio of daily returns # Monthly rebalancing portfolio of daily returns Tried to ask this already, but I am still a bit unsure on how to proceed. What I wonder is how to handle the returns and weights of the stocks in a portfolio after rebalancing monthly, so within the month. At the first day of the month, each stock is assigned its predetermined weight and it is then held for a month together with the other stocks in the portfolio. How do the return of the portfolio develop daily within the month? Say there are only two stocks in the portfolio, that are equal-weighted: Day 1: stock A have 1% return and stock B has 2% return. Weights are 0.5 for both. Day 2: Should not stock A now have w = 0.51.01 and stock B have w=0.51.02? And so it continues throughout the month? The problem I see with this is that the portfolio suddenly have weights that sum up to more the 1. So maybe it is even more correct to say: W day 2 = W1*(1+r1)/(sum of weight*(1+r) for both stocks). So for stock A day 2 it becomes: Stock A: w = 0.5*(1.01)/(0.5*(1.01)+0.5*(1.02)) = Is this the correct approach for monthly rebalancing? ## Answer by nbbo2 (score 1) https://quant.stackexchange.com/a/63238 Let's say the amount invested on December 31, 2020 is 1 dollar (you can think of 1 million dollars if you prefer). This is the initial portfolio value. The initial weights are [0.5 0.5] by your example. This means the dollar amounts invested are also [0.5 0.5]. ### Day 1 Stock 1 has a 1% return and Stock 2 has a 2% return. Therefore the dollar values are now [0.5(1+0.01) 0.5(1+0.02)] = [0.505 0.51]. The total portfolio value is 0.505+0.51 = 1.015 dollars. Since the portfolio was worth 1.0 on Day 0 and is worth 1.015 On Day 1, the portfolio return is 1.5% on Day 1. ### Day 2 Assume Stock 1 has a 2% return and Stock 2 has a 3% return. The dollar value of the stocks are now [0.505(1+0.02) 0.51(1+0.03)] = [0.5151 0.5253]. The total portfolio is now worth 0.5151+0.5253 = 1.0404 dollars compared to 1.015 the day before Therefore the portfolio return on Day 2 is -1+1.0404/1.015 = 2.5025% The month to date portfolio return is -1+1.0404/1.0 = 4.04% ### EOM We continue like this until the end of the month. The portfolio weights may be changing but I did not even bother to compute them since I am doing everything in terms of dollar amounts. If you want, you should be able from the above numbers to compute weights (for example when the dollar amounts are [0.5151 0.5253] the weights are [0.495098 0.504902] but these numbers are useless for my calculations). After computing the return on the last day of the month, we have to do the rebalance. We can think of this as the sale of the entire portfolio for cash and the reinvestment of the cash according to the new weights. Let's say the new weights are [0.5 0.5] again (they could also be [0.3333 0.3333 0.3333] if there are now 3 stocks in the portfolio instead of 2 for example. The entire portfolio gets rebuilt on a rebalance date). The portfolio is now worth 1.0404 so the repartition (is that a word in English?) on January 31 gives the following dollar amounts: [0.5202 0.5202] The rebalance is now complete. We are now ready to compute portfolio returns for the first day of February by the same logic as before: the application of daily returns to the dollar values of the stocks.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.