Portfolio balancing

JenniferMurphy

Well-known Member
Joined
Jul 23, 2011
Messages
2,532
Office Version
  1. 365
Platform
  1. Windows
Is there a simple formula for calculating how to distribute a new investment among several funds in a portfolio to bring them all as close into balance as is possible? If all of the funds are more or less in balance, then the job is easy. But if any of them would be over-valued even if none of the new funds are invested in that fund, then the task becomes more complicated.

Consider this scenario:

2New Investment $1,000
C/RCDEFGHI
4Funds
Fund A
Fund B
Fund C
Fund D
Sum
Formulas
5Target %10%20%30%40%100%
6Current Balance$700$2,000$2,800$4,500$10,000
7Target Current Balance$1,000$2,000$3,000$4,000$10,000=BalanceBegTotal*PCTgt
8Difference-$300$0-$200+$500$0=BalOld-BalOldTgt
9Current %s7.0%20.0%28.0%45.0%100%=BalOld/BalanceBegTotal
10Difference-3.00%0.00%-2.00%+5.00%0%=PCOld-PCTgt
11Current % New Balance6.4%18.2%25.5%40.9%91%=BalOld/BalNewTot
12Difference-3.64%-1.82%-4.55%+0.91%-9%=BalOldBalNewPC-PCTgt
13Target New Balance$1,100$2,200$3,300$4,400$11,000=BalNewTotTgt*PCTgt
14Difference$400$200$500-$100$1,000=BalNewTgt-BalOld
15Investment$384$167$449$0$1,000
16New Balance$1,084$2,167$3,249$4,500$11,000=BalOld+InvestmentEach
17New %s9.9%19.7%29.5%40.9%100%=BalNew/BalNewTot
18Difference98.5%98.5%98.5%102.3%100.0%=PCNew/PCTgt

<tbody>
</tbody>

I own 4 funds (A, B, C, & D) and my target allocation for them is 10%, 20%, 30%, & 40%. I have $1,000 to invest. I see that the funds are slightly out of balance. Fund A is down $300 (D8) or 3% (D9). Fund B is right on target. Fund C is down $200 or 2%. And Fund D is up $500 or 5%.

In Row 11, I calculate the % the current balances are of the new total balance and in Row 12 the difference. I see that Fund D will be over valued even after the new total investment balance of %1,100 (G11 & G12). So, clearly, I don't want to put any more money into that fund. But how to I allocate the $1,000 among the other 3 funds to bring them as close to being in balance as possible?

I ended up using a trial and error method to arrive at the investment allocations in Row 15. I fiddled around with the numbers until the % differences (Row 18) were equal.

A couple of questions:


  1. Is this allocation the most balanced?
  2. Is there a closed form formula for calculating each one without trial and error or iterations?


Thanks
 
I'm sorry for such a long distracting response to Stephen. I should have let it go for now.

Sorry, my post #5 was too curt. Absolutely no disrespect or dismissiveness intended!

Nor was I intending to imply that my interpretation was necessarily correct - I have been wrong plenty of times on this forum.
 
Upvote 0

Excel Facts

Excel Can Read to You
Customize Quick Access Toolbar. From All Commands, add Speak Cells or Speak Cells on Enter to QAT. Select cells. Press Speak Cells.
Sorry that I was not helpful. And I will not be able to help you further.

Oh well, I'll give it one more shot.

First, let me say that the across-the-board "no sells" restriction runs contrary to the goals of rebalancing for long-term portfolio management; exceptions are reasonable. But as Investopedia defines it: "Rebalancing involves periodically buying or selling assets in a portfolio to maintain an original desired level of asset allocation". There are specific reasons for doing that.

Be that as it may, the following solution is one way to implement that strategy. And perhaps my example will provide an "aha!" moment regarding the "no sell" restriction. The solution works for 4 funds. I would use a VBA implementation to generalize it for n funds. The solution does not necessarily provide an optimal solution. As I said, that is a linear programming problem; perhaps the Solver LP Simplex method in Excel 2010 (I think) and later.

Basically, the solution "iterates" until the solution has no negative changes (sells). That should require at most 4 iterations for 4 funds. So the "iterations" are evaluated in separate tables. The formulas are designed so that you only have to look at the last table.


A
B
C
D
E
F

1

Fund AFund BFund CFund D

2
Target %10.00%20.00%30.00%40.00%

3
Current
Balance
$4,154.00$1,777.00$2,251.00$1,818.00$10,000.00
4
Current %41.54%17.77%22.51%18.18%

5
Diff %31.54%-2.23%-7.49%-21.82%

6
Additional
Funds




$1,000.00
7







8
Allocate



$11,000.00
9
Target
Balance
$1,100.00$2,200.00$3,300.00$4,400.00$11,000.00
10
Change-$3,054.00$423.00$1,049.00$2,582.00$1,000.000-3 might be negative
11
New %10.00%20.00%30.00%40.00%

12
Diff %0.00%0.00%0.00%0.00%

13







14
Allocate



$6,846.00
15
Target
Balance
$4,154.00$1,521.33$2,282.00$3,042.67$11,000.00
16
Change$0.00-$255.67$31.00$1,224.67$1,000.000-2 might be negative
17
New %37.76%13.83%20.75%27.66%

18
Diff %27.76%-6.17%-9.25%-12.34%

19







20
Allocate



$5,069.00
21
Target
Balance
$4,154.00$1,777.00$2,172.43$2,896.57$11,000.00
22
Change$0.00$0.00-$78.57$1,078.57$1,000.000-1 might be negative
23
New %37.76%16.15%19.75%26.33%

24
Diff %27.76%-3.85%-10.25%-13.67%

25







26
Allocate



$2,818.00
27
Target
Balance
$4,154.00$1,777.00$2,251.00$2,818.00$11,000.00
28
Change$0.00$0.00$0.00$1,000.00$1,000.000 might be negative
29
New %37.76%16.15%20.46%25.62%

30
Diff %27.76%-3.85%-9.54%-14.38%


<tbody>
</tbody>
Code:
F3:  =SUM(B3:E3)
B4:  =B3/$F3      copy into C4:E4
B5:  =B4-B$2      copy into C5:E5

F8:  =F3+F6
F9:  =SUM(B9:E9)
F10: =SUM(B10:E10)
B9:  =$F8*B2     copy into C9:E9
B10: =B9-B$3     copy into C10:E10
B11: =B9/$F9     copy into C11:E11
B12: =B11-B$2    copy into C12:E12

Copy A8:F12 into A14; change:
F14: =IF(COUNTIF(B10:E10,"<0")=0, 0, $F$8-SUMIF($B$10:$E$10,"<0",$B$3:$E$3))
B15: =IF($F14=0, B9, IF(B$10<0,B$3,$F14*B$2/SUMIF($B$10:$E$10,">=0",$B$2:$E$2)))
Copy B15 into C15:E15

Copy A14:F18 into A20; change:
F20: =IF(COUNTIF(B16:E16,"<0")=0, 0, $F$8-SUMPRODUCT(--(($B$10:$E$10<0)+($B$16:$E$16<0)>0),$B$3:$E$3))
B21: =IF($F20=0, B15, IF(OR(B$10<0,B$16<0),B$3,$F20*B$2/SUMPRODUCT(($B$10:$E$10>=0)*($B$16:$E$16>=0),$B$2:$E$2)))
Copy B21 into C21:E21

Copy A20:F24 into A26; change:
F26: =IF(COUNTIF(B22:E22,"<0")=0, 0, $F$8-SUMPRODUCT(--(($B$10:$E$10<0)+($B$16:$E$16<0)+($B$22:$E$22<0)>0),$B$3:$E$3))
B27: =IF($F26=0, B21, IF(OR(B$10<0,B$16<0,B$22<0),B$3,$F26*B$2/SUMPRODUCT(($B$10:$E$10>=0)*($B$16:$E$16>=0)*($B$22:$E$22>=0),$B$2:$E$2)))
Copy B27 into C27:E27
 
Last edited:
Upvote 0

Forum statistics

Threads
1,215,053
Messages
6,122,888
Members
449,097
Latest member
dbomb1414

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top