STT or security transaction tax was introduced in 2004 when Long term capital gain tax (LTCG or tax paid on any gains from stocks which are held for more than 1 year) was removed by the then finance minister P M Chidambaram. STT since it is collected upfront by the exchanges is so much more easier for the government to collect than LTCG which requires investors to voluntary declare and pay. In the budget of 2018, LTCG of 10% for gains over Rs 1lk was introduced, but STT wasn’t reduced.
For like 15+ years now, first as a trader and now as a broker, every budget day I get up hoping that STT is removed or reduced, but if anything it has only gone up. For very active traders, STT is a very high cost. In terms of transaction taxes, we are probably among the top few markets in the world.
Historical STT in India
STT - Security transaction tax on Equity & Equity derivatives (in %)
Exercised Options (contract value)
Buy and Sell
1st Oct 2004
0.017 (contract value)
1st June 2005
0.017 (contract value)
1st June 2006
0.017 (contract value)
1st June 2008
0.017 (premium value
1st June 2013
0.017 (premium value)
1st June 2016
0.05 (premium value)
CTT- Commodity transaction tax on Commodity & Commodity derivatives (in %)
Options (Sell - premium value)
Sale of an Exercised Option (contract value)
1st July, 2013
No STT on Currency derivatives
Taxes paid by Zerodha customers
If you add up STT, Stamp duty, & GST, customers of Zerodha end up paying ~Rs 200 crores a month or ~ Rs 2500 crores a year in transaction taxes. This is outside of the income tax (10% for LTCG over Rs 1lk, 15% for STCG, and as per income tax slabs for intraday & F&O) that has to be paid on any gains. Of course the last year has been a much more active year as well, it would have been much lower before 2020.
Impact of transaction tax on customers
Transaction costs eat up into the trading capital. If you add impact costs to this (money lost due to bid-ask spread), I think most active traders lose more money to transaction tax + Impact cost than to the markets. So lesser transaction tax is definitely good for customers, not only directly but also indirectly as lower transaction tax increases liquidity and hence reduce the impact cost as well.
The counterview to the above is that lower costs can also get customers to trade more often and frequently, leading them to take higher risks, which may not be good as well.
Impact of STT on trading behavior
We had mentioned this in the post you shared,
Until 2008, trading was mostly in futures, but it is mostly options today. The interest in options shot up once the minimum contract value for F&O went up from Rs 2L to Rs 5L around Nov 2015, which meant that small traders who didn’t have sufficient margin to trade futures shifted to trading options. STT for options trading reducing from STT on Strike+Premium to only Premium from 2008 also helped. This trend has only continued after the restriction of intraday leverages on margins in 2020.
While increases in margins for futures and equity have definitely helped the popularity of options trading, there is also a section of market participants who believe that STT being lower for options as compared to futures or stocks is the reason as well. As you can see from the table shared above, STT for options was reduced (rightly so) from contract value to premium value in 2006. While the big bump in options trading started only in 2015 when minimum contract value went up F&O contracts, it had started trending up from 2007 when STT for options was reduced. Btw, no STT hasn’t really caused trading volumes in currency derivatives to shoot up.
We as traders have to pay a lot of taxes like STT, GST, Stamp duty, SEBI charges and of course the LTCG and STCG.
The other charges, although painful, are at least less in terms of cost. But STT is really painful. For example my father made 18k profit last month on which he had to almost pay 1700 rs as STT (Thats a ridiculous amount)
I was referring to active traders, folks who trade frequently. If you look at the overall gross P&L (without charges), the difference is usually < All charges + Impact cost. This means that for many active traders, whatever is generated as gross profits is usually lesser than charges+impact cost (in case of losses, it gets extended). While charges data is available, the impact cost number isn’t. Talking to many active traders over time, all the good traders factor in impact cost to be at least equal to the all the fixed charges they pay while backtesting any strategy.
Thanks for this post. It made me look at my costs in detail…
I not only noticed the huge Exchange Transaction Cost, which I would have rationalized as “Cost of doing business”… But on further research, I was happy to discover a huge difference int these costs, between CDS and BCD for currency futures.
I just did some digging and found this data for today’s session:
Volume (Contracts) Traded Value ( Cr.) OI #Trades
BCD: 1,439,525 10,719.61 2,922,023 25,166
CDS: 2,168,661 16,151.76 2,147,897 74,444
According to this CDS has 50% more contracts traded compared to BCD, as you rightly pointed out… but I am willing to try it tomorrow since it’s not too dry a well.
According to the brokerage calculator at Zerodha, for a round-trip order of about 200 contracts, the difference in costs CDS = 405.95 vs BCD = 168.44.
Thats a big difference per order, esp if you place multiple orders intraday.
Another thing I noticed in the data is the number of contracts/trade is nearly double at BCD. Avg contracts per trade is 57 at BCD, and only 29 at CDS. More retail trades at CDS, I assume.
Just wanted to share my observations and thank you for the heads up.
#Trades refers to the number of Orders placed.
So, people are trading using higher # of contracts per order placed in BCD, meaning larger traders.
As for why? I have no idea, maybe people more experienced can answer this definitively.
But I would speculate that the default settings in the largest retail brokerage firm might have something to do with it If you type USDINR in Zerodha, by default the CDS contract is displayed, so most people just run with that, like I did.
That’s why I found the original post above helpful.
No, the number of trades are Lower in BCD. But the contracts per order is higher.
Maybe cos they are bigger players, they realise the cost difference involved and trade there, whereas retail traders, like myself, just go with the default contract on Zerodha…. which is CDS…. Until now
if the volume is less in BCD (compare to CDS) , obliviously ; there would be spread difference between the bid and the ask .
if this is so , then , although the number of trades are Lower in BCD. then , But how come the contracts per order is higher ? are the traders fools ? there could be huge impact cost as to the spread difference between the bid and the ask .
The first trading related lesson I learned was from my first trade of a penny stock. Even though I made a small profit the next day my contract note said that I made a loss. I learned that I need to pay a transaction cost to the exchange, govt etc in addition to brokerage (which was just 1 or 2 paise with reliance money at that time).
Then over the years it dawned upon me that the way to reduce STT which forms a big chunk of the transaction cost was to reduce the number of transactions itself . So I switched to ultra low frequency trading system using daily charts (other strong motivations do exist). But I still hope that govt will one day reduce or eliminate STT.
This is the data published by the exchange. Since these are facts, any “contradictions” are in one’s thinking.
Instead of assuming, this can be easily verified by observing both the contracts order books, through the course of a day.
I prefer to think in terms of “What am I missing?”, instead of thinking in terms of “fools, etc”…
One way of thinking leads to discovery and understanding, the other satisfies our ego and leaves us no wiser.
I would recommend you think in terms of trading 2,000 contracts/order and observe the orderbooks of the contracts.
(Hint: Just the bid/ask spread doesn’t mean much, unless there is sufficient volume at that spread.)