Actionable insights on equities, fixed-income, macros and personal finance Start 14-Days Free Trial
Actionable investing insights Get Free Trial
Premium Portfolio

How smallcase users can save on transactions costs when rebalancing


This article is for Capitalmind Momentum smallcase users and how they can save a little on transaction costs.

The potential saving is about ~ ₹3000 / year in transaction costs, irrespective of your portfolio size. If you deploy the minimum portfolio size, that’s like +0.5% incremental net monthly return. (This is not applicable if you are a Premium subscriber not using smallcase to execute momentum rebalances)

If you have larger amounts invested, the % saving might not be worth your time and effort. But decide for yourself.

Update Oct 2021

1 year since we published the original article, smallcase has now modified the rebalance logic to exclude some of the minor buy and sell transactions generated during rebalance.

They have added a “rebalance order generation buffer” (excerpt below from smallcase documentation)

Rebalance orders which follow the below logic would not be shown in the rebalance configuration:

Order Amount (X) <= 500 OR Order Amount (X) <= 1 % of net worth will not be shown in the rebalance configurations.

The above has been done to avoid multiple transactions of low ticket size which would attract depository participant charges ( which would become significant proposition to the smaller ticket sizes)

The following example will attempt to illustrate the changes made:

  • Earlier, for larger net worth portfolios (for example, 10 lakhs), if a rebalance consisted of 10 ITC stocks ( worth Rs 2360) and 1000 TATAMOTORS stocks (worth Rs 3,30,000). Both these orders would get placed.

  • Post the change in calculation, the above ITC order would get rejected as the order value worth Rs 2360 is less than the 1% of 10 lakh (or Rs 10,000). Only those order items such as the TATAMOTORS order which satisfy the above criteria would be placed.

Our take: This should reduce the number of unnecessary rebalance transactions and so save on transaction costs. However, by applying a filter as a % of total portfolio size, it’s possible that for large portfolios, changes in model portfolio weights take longer to reflect in the actual portfolio. Example, consider a theoretical model portfolio where a stock is 1% weight. If the that stock’s model weight now gets doubled to 2%, the above logic will not generate buys since the total increase will be lower than 1% of portfolio.

An alternate way to reduce unnecessary transactions, that we have implemented with CM EasyInvest is to apply “tolerance” at the individual stock level so that as long as the actual weight and the model portfolio differ by less than the user-defined tolerance (let’s say 100bps), no transactions are generated. This ensures the deviation between the actual and model portfolios is always within a reasonable range and is not a function of total portfolio size. Capitalmind Premium subscribers get automatic access to CM EasyInvest. Read more about CM EasyInvest here

Depository Participant Charges

If you look at the charges page on zerodha, you will see the list of charges applied for equity buys and sells. While the other charges are a % of transaction value, there is one fixed charge that depends on the number of distinct stocks being sold and not the value.

Relevant section is highlighted here.

How smallcase users can save on transactions costs when rebalancing

Ok, what is a Depository and a Depository Participant?

Here’s a snippet from a financial express article to explain

Depository is a place where financial securities are held in dematerialised form. It is responsible for maintenance of ownership records and facilitation of trading in dematerialised securities. However, a Depository Participant (DP) is described as an Agent (law) of the depository. They are the intermediaries between the depository and the investors….There are two depositories which are functional in India – National Securities Depository Ltd (NSDL) and Central Securities Depository Ltd (CDSL). Various Depository Participants linked to each one of them in India. All the details in form of electronic records of equity and debt are kept there.

Every depository participant (e.g. zerodha) pays the Depository (CDSL or NSDL) a fee for every sell transaction. This charge reflects on the invoice from your broker.

So for every individual stock sold, you pay ₹ 13.5 + GST = ₹ 15.8 per stock sold

But this charge is irrespective of quantity of stocks sold. This means if you sell 1 share each of 8 different stocks, your DP charges are 8 * 13.5 + GST = ₹ 127.44. If you sell 100 shares each of those 8 stocks, you pay the exact same amount. A little crazy if you think about it but it’s probably because the extent of activity at the Depository end is the same irrespective of the value of the transaction.

We rebalance the Capitalmind Momentum smallcase weekly, and so this can add up. You can reduce this amount by making a small change to the smallcase rebalance order screen before hitting ‘Confirm’.

smallcase rebalances

Some context on how smallcase rebalances work. smallcase takes stock weights as the input when we (smallcase manager) upload portfolios to the back-end. It then generates the buys and sells on your individual smallcase account by applying those weights to arrive at the number of shares that need to be bought and sold.

The rebalanced portfolios are uploaded the previous night, so while the smallcase manager considers the last closing price to arrive at target weights, smallcase uses prices at the time of your rebalance.

That’s when more buys and sells than required are generated on the smallcase.

Here’s a simplified example:

Assume this 5-stock portfolio is the latest portfolio added to smallcase

How smallcase users can save on transactions costs when rebalancing

Assume that we are replacing only Stock 5 in this rebalance. This means you already hold Stocks 1 to 4. You want to Sell old stock 5 and Buy new stock 5. That’s all we want to do. But that’s not all that happens.

The next morning, when markets open, prices change, some stocks go up, others go down. For simplicity, assume the price of only stock 2 changes overnight, going from 194.65 to 209.

How smallcase users can save on transactions costs when rebalancing

smallcase generates:

    1. sell order for old stock 5
    2. buy order for new stock 5
    3. sell order for 1 share of stock 2

Because the price of Stock 2 goes up, its new weight in the portfolio deviates from target weight. So the minimum number of shares needed to maintain target weight drops from 9 to 8.

The first 2 transactions are fine. But that 3rd order is unnecessary from our point of view. And yet it costs you ₹13.5 + GST. Remember usually its tiny sell and buy orders for many such stocks that we don’t want to touch in the rebalance. Assume 5 such unnecessary sells each week, and you’re racking up an annoying amount on them. Buy orders don’t incur DP charges.

Customise your rebalances

You can customise your smallcase orders to remove “unnecessary” buy and sell orders and minimise transaction costs.

How will you know what’s unnecessary? The stocks where you see small buy and sell amounts as % of your portfolio value (# of shares X price) are most likely unnecessary. Going forward, we’ll also explicitly mention the stocks impacted by the rebalance in the update email you receive.

Compare the list of buys and sells with the stocks mentioned, and remove all other orders.

Here’s how (screenshots for illustration)

Step 1: When you click on ‘Rebalance Now’, you see the screen below. Instead of ‘Confirm Update, click ‘Review Update’

How smallcase users can save on transactions costs when rebalancing

You see a list of buy and sell transactions that will be executed as part of this rebalance. The ‘Change’ column in the image below shows how many shares of each stock will be bought or sold.

How smallcase users can save on transactions costs when rebalancing

Step 2: Scroll to the bottom of this screen and click ‘Customise Update’. The ‘New Qty’ numbers now become editable.

Step 3: For all stocks not mentioned in the rebalance update email, change the amounts so the ‘Change’ column shows zero (like in the highlighted row below). Compare the quantity against IPCA Laboratories in the previous image and this one. But do this only for the stocks not part of the rebalance.

How smallcase users can save on transactions costs when rebalancing

After you’ve done this for all unimpacted stocks, click ‘Confirm Update’ to execute the rebalance.

You will have saved (number of sell transactions that you changed to zero) * ₹ 15.93. After all, every little bit counts.

Also read, the five things to consider if you’re looking for the best smallcase to invest in 2022

How smallcase users can save on transactions costs when rebalancing

Note: This is only applicable to smallcase users and not Premium members who don’t use smallcase to rebalance because we use number of stocks per lot and not weights and so there are no “unnecessary” buys and sells during rebalance.

To access our premium research, model portfolios, and join our member community, upgrade to Capitalmind Premium. Use Code CMPOFF10 to get 10% off regular price. The Momentum smallcase is available for subscription here.


Like our content? Join Capitalmind Premium.

  • Equity, fixed income, macro and personal finance research
  • Model equity and fixed-income portfolios
  • Exclusive apps, tutorials, and member community
Subscribe Now Or start with a free-trial