What is the average buy price of my holding?


The buy Avg for 15 qty will be 2102

Because 10 qty will be under T1 holding

Calculation is as per FIFO basis


As on date you have 15 shares in your demat account whose Buy avg price is 2058.

The 10 shares purchased on 19th will be in your demat account on 23rd June after which the avg buy brice of 25 shares will be 2083.2


Average holding should be calculated each time stock is added or reduced.

Considering the intraday trade on 11/6/2015, the average stock price is Rs. 2102 for the shares left in the demat account.


In Demat 15 shares will be there at an Average price of 2102


As per FIFO method the avg buy price of buy average price for 15 = 2058 and T1 10 shares at 2121…

The calculation is the total No of shares bought divided by total purchase value


Total cost of purchased shares /Total number of shares =2146.66

As per FIFO for 15 shares it will be 2058


Average Price will be 2102 and work under FIFO Method.


Buy Avg is-2160.167
Sell Avg is-2241.912


Buy Average for 15 qty is 2058 & rest 10 shares for T1 holding is 2121.


total buy average is Rs 2058

because 10 quantity will be under T1 holdings


avg buying price for 15 shares will be Rs.2058/- and for the 10 shares held in T1 holding will be Rs.2121/-.



Total Bought Shares =109

Total Buy value = 233986

Avg buy price = 2146.66


As Per FIFO Method The buy average price of 15 shares 2058.
Since Remaining 10 qty will be under T1 holding So if you Calculate the Avg Price the Individual stocks price will be 2121.


The correct answer is 2102.

The question asked is, what is the price of the stocks held in the demat account.

Let me give an example, I bought 100 Reliance at Rs 500 five years back, which has been lying in my demat account. On one day based on a tip recently I did an intraday trade, Bought 100 reliance at 1000 and sold at 1010. What should my long term holding average price be? Should it remain at 500 or should it change to 750 based on the intraday trade (buy average of 500 and 1000?). I guess the obvious answer is 500, my intraday trade shouldn’t affect the buy price of my holdings.

Yes the average price of all the NATCO pharma traded till date is 2146.6, but that is not the buy price of stocks in the demat. ​If you ignore all the intraday trades, the last delivery based buy trade that happened on NATCO was Buy 15 at 2102 on 10th June. There was another delivery based Buy, 10 at 2121 on 19th June. Today being 22nd (20/21 being Sat/Sun), what was bought on 19th June is still not delivered to the demat account. So the 15 shares that are in the demat, the average buy price is 2102.

Tomorrow the holding file will show 25 shares, and its average price will be (15x2102+10x2121)/25= 2109.6


Buy Avg is 2102 for 15 qty which is in demat holding and 10qty can be seen in T1 holding with the buy avg price of 2121.


Slight clarification required,
Is there any possibility that buy price could change before it gets delivered ?


Buy price can’t change after you have bought. Can you ask ur question in detail


But, what if, in the Example given by you, the Reliance trade was FIRST SELL 100 and then buy 100? In that case the 5 year old shares should be sold (FIFO, simply).

Imagine a person trying to book loss or trying to average holdings. If the Reliance 500 shares of 5 years ago had average price of 2000, and are now available at 1000.
All he does by your calculation is make a 10 rupee gain in intraday, while price difference was 1000 rupee on FIFO basis.
CNC trade option is advertised by you as “no margin, delivery based trade” (also FIFO, in small print). But what you are doing is exactly the opposite “margin based, non-delivery trade”.

Imagine my frustration!! I am trying to do Loss Harvesting (Q infact helps suggest counters to do this!). I SELL ALL MY HOLDINGS and after that buy back a more or less equal amount, sometimes at a slight loss, given the capital gains I (hoped I had) saved.

But, sometimes I see a buy average on FIFO, but mostly no difference at all to the buy average, reason being ABSURD blanket classification as INTRADAY.

FIFO I can live with, no problems!
But a SELL and then BUY, with zero change in average of holdings??..HELP!

Or at least PLEASE propose a way to consistently see the results of 100% PURE FIFO trade which I am only see able to see intermittently now.
Why sometimes and not other times, is a BIG mystery!! Blanket one-liner from Zerodha support is “it is intraday”. NO, IT IS NOT, you twisted it into a non-FIFO, “margin based, non-delivery trade”, exactly the reverse of all you advertise.

Is this to make money because delivery is free? (except demat charges)
What about the 5x STT differential between the two types of trades that you “save”?


Hey @vikas_sinha, can you go through this module https://zerodha.com/varsity/module/markets-and-taxation/ to understand how taxation works on equity trades. I have given links to different Income tax circulars.

Any transaction which doesn’t result in delivery in/out of demat is considered as intraday, and all such transactions are considered speculative which has to be categorized separately. Not mix it with delivery transactions which are considered capital gains. So even if we were to update the new price as your buy price, you would have a problem if tomorrow asked by IT department to justify the loss booked as capital loss.

What we follow is as per the IT rules and the correct way to approach this. All intraday trades (for income tax department, it won’t matter if you use CNC or not, exchange just shares trade files with the IT department) are first netted off to show under speculative income. Post that, everything else is netted off with your holdings based on FIFO.

Btw, we dont’ save any STT, you save it. We just collect STT from clients and give it to exchanges. Btw, exchanges give us a file with STT to be collected per client, even in their calculations such trades are considered intraday.

Coming back on how to solve your problem, the easiest way to do it is sell the stock on NSE or BSE, and buy it back on the other exchange. What is sold on one exchange has to be delivered and hence considered a delivery trade. Your new buying price will be the buy average for the new stock. But to be safer (in case of an income tax scrutiny tomorrow), it is better to sell the stock today and buy it back after two days, if you had to justify this loss as a capital loss.

Btw, you have to keep these two points in mind, check this post.

  • Long term capital losses can be set-off against only long-term capital gains. You cannot set-off long-term capital losses against short-term capital gains.
  • Short-term capital losses can be set-off against either short-term capital gains or long-term capital gains.


Thanks a ton for replying! Whatever my issues, Zerodha deserves to be the top most broker in all the Universes!

Thank you too for the helpful links!

Yes, where the average prices reduced, could have been inter-exchange intra-day trades.