A rule that has run for months says: exit the position if the stock closes below ₹1,244. On Friday the alert does not fire, and on the same Friday a friend running the same rule from the exchange’s own end-of-day file exits. You pull the Bhavcopy to settle it. The official close for the day is ₹1,242.60. Your platform’s daily candle closes at ₹1,246.00. Both files are correct, both describe the same Friday, and the two numbers are not a discrepancy to be reported to anybody. They are answers to two different questions, and the rule never said which one it meant.
Ask how an innings finished and you can be told the score off the final delivery, or the run rate through the last five overs. Both are honest summaries of the end of the innings and they answer different questions — one is a single event, the other is how the whole closing passage went. A commentator who switches between them without saying so will be understood to be contradicting himself.
The last traded price of the day is the final delivery. India’s official closing price is the run rate of the last thirty overs — a volume-weighted average designed so that one late ball cannot set it. Your chart shows one of them and the exchange publishes the other, and nothing on either screen announces which.
Five fields, and where each one comes from
| Field | What the exchange publishes | What a platform gets by stacking its own intraday bars |
|---|---|---|
| Open | The first traded price of the session. For equities that price normally comes out of the pre-open call auction between 9.00 and 9.15; where the auction discovers no price, the first trade of the continuous session takes its place. | The open of its first bar. If the feed’s first bar starts at 9.15 and excludes the pre-open match, this is the first continuous-market trade instead — a different price on any day the auction actually did some work. |
| High and low | The highest and lowest traded prices of the session. | Normally identical, because both are traded prices — unless the feed excludes the pre-open trade or includes a window the exchange does not count. |
| Close | The volume-weighted average of the last thirty minutes of trading. Where there were no trades in that window, the last traded price stands in. | The close of the last intraday bar, which is the last trade of the day. Different from the official figure on essentially every day on which price moved during the final half hour. |
| Volume | The session’s traded quantity, on the segment and exchange the file covers. | The sum of its bars. Whether the pre-open matched quantity and any post-session window are inside that sum is a convention, and conventions differ. |
| Previous close | The previous session’s official close, which is what the day’s percentage change and the day’s price band are measured from. | Whatever the platform carried forward — which, if it carried forward its own resampled close, is not the number the exchange used. |
The awkward consequence: you cannot know the close while you can still trade it
There is a second-order problem hiding in the definition, and it is the one that matters for testing. The official close is computed from the last thirty minutes, which means it does not exist until those thirty minutes are over. A rule that says buy at the close when the close is above the level is therefore asking you to transact at a price computed from the window you would have had to transact inside. That is not a small operational nuisance; it is a mild Look-ahead bias baked into a very common backtest.
- The exchanges do run a [[Post-closing session]] — on the equity segment it has run from about 3.40 to 4 p.m. — in which orders may be entered at the closing price once it has been determined. That is the honest answer to “can I actually trade the close”, and it comes with two qualifications: your broker has to offer it, and somebody has to be on the other side, which in a thin name frequently means nobody is.
- Trades in that window cannot change the closing price, because the price was already determined before the window opened. They can, however, land inside a volume figure depending on the convention, which is one more reason two volume bars disagree.
- A signal computed on the close and executed the next morning is the clean and testable version, and it is what most daily systems in this track quietly assume. It has a cost — an overnight gap between the signal and the fill — and that cost is real, measurable and much better than an untestable assumption.
- Modelling a close-execution as an average of the last half hour is the other defensible route, because that is approximately what the official close is. It is more work and it is closer to what would actually have happened to someone working an order into the close.
- What is not defensible is filling at the official close in a backtest and treating it as free. That is the version almost every spreadsheet does by default, because the close is the column that is sitting right there.
The audit, on one day, once
- 1Pick a day on which the last half hour clearly trended
A flat afternoon will make the two closes agree and tell you nothing. Choose a session where the stock moved half a per cent or more after three o’clock.
- 2Compare five numbers, not one
Open, high, low, close and volume, from the exchange file against your platform’s daily candle. Note which agree exactly and which do not — the pattern of agreement tells you how your series was built.
- 3If only the close differs, your series is resampled
That is the signature: traded prices agree, the computed one does not. It is not a fault, and it does mean your daily closes are last-trade prices rather than official ones.
- 4If the open differs too, look at the pre-open
A platform whose first bar begins at 9.15 and ignores the Pre-open session match will show a different open on any day the auction discovered a price away from the previous close — which is to say, on the days that mattered.
- 5Write down which series your rules are written on
One line, next to the bar size and the anchor from the first lesson. Official daily closes from the exchange file, or your platform’s resampled candles. Both are workable. Testing on one and trading on the other is not.
Your platform builds its daily candles by stacking its own five-minute bars. Which field will differ from the exchange’s published daily bar on almost every session, and why?
Mandi ke board pe aaj ka bhaav ₹22 likha hai, jo aakhri kuch ghanton ke saudon ka average hai. Aakhri grahak ne ₹26 diya kyunki maal khatam ho raha tha. Dono number sach hain aur dono alag sawaal ka jawab hain. Exchange ka official close bhi average hai — aakhri tees minute (3.00 se 3.30) ka volume-weighted average — taaki koi ek aakhri sauda din ka bhaav tay na kar de. Aapka app apni intraday candle jod ke daily candle banata hai, toh uska close aakhri trade hota hai. Us Friday ko 3 baje bhaav ₹1,239.80 tha aur ghanti tak dheere-dheere ₹1,246 pahuncha: official close ₹1,242.60, app ka close ₹1,246.00, farq ₹3.40. Rule tha "₹1,244 ke neeche band ho toh nikal jao" — exchange ki file dekhne wala nikal gaya, app dekhne wala baitha rah gaya, aur dono ne rule poora follow kiya. Bhavcopy muft hai: ek din uthao aur paanch column milao — open, high, low, close, volume — sirf ek nahi.
- India’s official daily close is a volume-weighted average of the last thirty minutes, not the last trade.
- A daily candle built by stacking intraday bars closes at the last trade, so it disagrees with the exchange file on essentially every moving session.
- The open can differ too, if the platform’s first bar excludes the pre-open auction match.
- The official close does not exist until the window it is computed from has ended, so “buy at the close” in a backtest is a mild look-ahead unless it is modelled honestly.
- The bhavcopy is free, primary and settles the question in two minutes — check five fields, not one.
Mark it done to track your progress through the curriculum.
Common questions
Short, direct answers to what people ask about this topic.
- how is the official closing price of a share calculated in india
- The official close of a listed equity is the volume-weighted average price of all trades in the last thirty minutes of the continuous session — from 3.00 p.m. to 3.30 p.m. Where a security did not trade at all in that window, its last traded price stands in. It is therefore a computed average rather than any single trade, which is the reason it rarely matches the last price printed on your chart.
- the exchange file that carries the official daily open, high, low and close for every listed security is called the
- Bhavcopy. It is the end-of-day report NSE and BSE publish for each segment, carrying the official close, the previous close, the traded quantity and the traded value for every security that day. It is free on both exchange websites and is the reference most data vendors reconcile their own series against.
- why does my chart’s daily close differ from the nse closing price
- Because your platform’s daily candle almost certainly closes at the last traded price of the session, while the exchange publishes a weighted average of the final thirty minutes. On any day the stock moved during that half hour the two numbers differ, and since moving averages, RSI, MACD and every “close above the level” rule are functions of the close, everything downstream differs too. Neither file is wrong — they answer different questions, and a rule has to say which one it means.
- pre-open session timing nse
- The equity pre-open session runs from 9.00 a.m. to 9.15 a.m.: order entry and modification in the first eight minutes, order matching and trade confirmation in the next four, and a short buffer before continuous trading starts at 9.15. The price discovered in that call auction becomes the day’s official open, and whether your chart’s first bar includes that matched trade is a data-feed convention.
- what is the post-closing session
- The post-closing session runs from 3.40 p.m. to 4.00 p.m., during which orders can be placed and executed at the day’s already-determined closing price. It does not change the close — that was fixed by the weighted average of the 3.00 to 3.30 window — and whether the quantity traded in it appears inside the volume figure on your chart depends on which feed you are reading.