A User's view of Hledger

Learning about hledger

Mutual Funds Part 5: Share Split

A mutual fund can split shares of one of its funds. This is similar to a company splitting its stock shares. If this ever happened, how would I handle that? Here are my thoughts.

Let’s begin with a staring balance of one share of the hypothetical Acme’s BigIndex fund, symbol BGINX:

2026-01-01 Starting balance
    assets:Acme Mutual Funds:BigIndex         1.0000 BGINX
    equity:start                             -1.0000 BGINX

Running the aregister command “hledger areg assets:Acme” tells us:

2026-01-01 Starting balance              eq:start                       1.0000 BGINX   1.0000 BGINX

The starting balance looks good, so let’s move along.

At the end of January our mutual fund as a 2-for-1 split. Since we have one share currently, we need to add one share to double it to two shares. Here is the transaction to add one share:

2026-01-31 BigIndex 2-for-1 share split
    income:Acme Mutual Funds:BigIndex         -1.000 BGINX
    assets:Acme Mutual Funds:BigIndex          1.000 BGINX

Note that there is no mention of dollars in the above transaction. This works for me, as my goal is to track shares as opposed to the dollar value of the shares.

Also, even if I were tracking dollars, a share split does not change the dollar value of a holding. For example, if there is a two-for-one split (i.e., the number of shares is doubled), the price per share is halved. Yes, you have twice as many shares, but since the shares are now worth only 50% of their value that they had immediately before the split, you don’t gain or lose any money.

Repeating the above aregister command, we see that we now have two shares:

2026-01-01 Starting balance              eq:start                       1.0000 BGINX   1.0000 BGINX
2026-01-31 BigIndex 2-for-1 share split  in:Ac:BigIndex                 1.0000 BGINX   2.0000 BGINX

Let’s now look at a 5-for-1 split. We currently have two shares, and this split will result in a total of 10 shares. Adding an extra 8 shares will bring us up to the new amount (i.e., 2 + 8 = 10). Here’s the transaction:

2026-02-15 BigIndex 5-for-1 share split
    income:Acme Mutual Funds:BigIndex        -8.0000 BGINX
    assets:Acme Mutual Funds:BigIndex         8.0000 BGINX

We run our aregister command one more time, which shows that we now have 10 shares of BGINX:

2026-01-01 Starting balance              eq:start                       1.0000 BGINX   1.0000 BGINX
2026-01-31 BigIndex 2-for-1 share split  in:Ac:BigIndex                 1.0000 BGINX   2.0000 BGINX
2026-02-15 BigIndex 5-for-1 share split  in:Ac:BigIndex                 8.0000 BGINX  10.0000 BGINX

Looks like it works. As a result, I believe that if the need ever arose, I would be able to handle a mutual fund share split without suffering a splitting headache.