Index Fund Rebalancing Date Problem

Posted on Saturday, 31 October 2026

Hi all. In this post I’d like to document a little niche problem that’s widely known by index fund managers in Indonesia, and it’s related to the rebalancing date of an index fund.

I will assume that you’re already familiar with the concept of stock market index and index fund.

Index providers such as IDX would usually post something like this when there’s about to be a change in the index constituents:

IDX30 Announcement July 2026

On the above table we can see the “effective period” of the IDX30 Index constituents; in this case, it’s from 3 August 2026 until 30 October 2026.

Suppose you’re a fund manager for an IDX30 Index Fund. My question is this: if you want your fund return to closely mimic the index, when should you rebalance the fund to reflect the new constituents and weightings?

If you answered 3 August 2026 (the start of the effective period), then you’d be wrong. The correct answer should be 31 July 2026, which is one trading day before 3 August 2026 (1 & 2 August 2026 were week-ends). More specifically, it should be done on market close on 31 July.

We can prove this empirically by trying to reverse-engineer the index return calculation. Below I have copied the important data for this exercise:

Stock Price (31 Jul’26) Price (3 Aug’26) Index Num. of Shares (Old) Index Num. of Shares (New)
AADI 9225 9100 1,505,984,866 1,449,919,246
ADMR 1515 1500 4,803,673,951 4,864,997,449
ADRO 2460 2470 8,329,037,976 7,594,690,321
AMRT 1325 1325 17,037,503,048 16,979,368,745
ANTM 2880 2870 8,372,318,430 8,372,318,430
ASII 5100 5050 17,780,376,539 17,614,393,971
BBCA 6325 6300 34,508,121,608 29,249,047,645
BBNI 3530 3520 14,370,953,045 14,263,872,459
BBRI 3040 3020 68,696,723,571 61,383,870,893
BMRI 4190 4170 36,183,839,998 35,952,839,998
BRPT 1845 1820 25,058,631,383 25,218,001,654
BUMI 165 168 153,881,386,473 160,602,557,069
CPIN 3290 3160 5,598,277,200 5,590,078,200
DEWA 460 464 - 20,274,548,484
EMTK 530 520 16,542,143,384 13,734,954,552
GOTO 50 50 814,825,542,102 799,427,802,994
ICBP 6975 7200 2,270,573,488 2,267,074,915
INCO 5275 5200 2,150,116,045 2,148,008,088
INDF 6975 7075 4,235,677,744 4,236,555,786
INKP 8400 8475 2,199,882,241 2,191,675,766
JPFA 2150 2180 4,811,413,805 4,758,644,217
KLBF 725 725 17,934,210,299 17,854,627,533
MBMA 505 515 28,910,373,907 28,294,800,014
MDKA 2720 2720 11,710,322,734 11,698,086,243
MEDC 1285 1305 6,098,049,702 5,502,321,021
PGAS 1500 1510 10,431,120,977 10,431,120,977
PGEO 1010 1005 4,583,809,197 4,634,088,640
PTBA 2320 2320 3,774,167,970 -
TLKM 2630 2740 46,529,523,137 40,001,323,063
UNTR 23950 23800 1,304,055,244 1,267,126,906
UNVR 1755 1740 5,363,890,000 5,352,445,000

Below is the IDX30 index level (from Investing.com):

The index return should be 350.00 / 349.77 - 1 = 0.066%.

Now we can test the hypothesis:

To test H1, we can calculate the index return as follows:

\[R_{H1} = \frac{\sum_i S_{i,\text{old}} P_{i,\text{3 August}}}{\sum_i S_{i,\text{old}} P_{i,\text{31 July}}} - 1\]

where $S$ is the index number of shares and $P$ is the stock price; subscript $i$ indicates the individual stock.

To test H2, we use this formula:

\[R_{H2} = \frac{\sum_i S_{i,\text{new}} P_{i,\text{3 August}}}{\sum_i S_{i,\text{new}} P_{i,\text{31 July}}} - 1\]

Below is the result:

As you can see, $R_{H2}$ is much closer to the actual index return of 0.066%. The difference of 0.001% can be attributed to rounding error (related to how the index level itself is calculated).

Therefore, if we want our fund to closely mimic the index return, then we should rebalance one trading day before the start of the new effective period.

Now this may sound like a trivial problem to you, but the real problem is that the capital market regulator doesn’t seem to recognize this fact. If you rebalance before the start of the effective period, your fund would be marked as breaching a rule.

Anyway, that’s it for this post. I hope you learn something new today.