TL;DR: A closing price is a summary, not a record. Intraday market data captures what actually happened between the opening call and the close: where trading started, how far the price swung, how much changed hands, who was buying, and whether the turnover came from matched orders or from negotiated blocks. This guide walks through seven critical signals that intraday market data exposes and a single close conceals. It explains how each signal is stored in a historical price dataset built for the Vietnamese market, and why picking the wrong price field can turn a routine corporate action into a crash that never happened. Read it before you build any event study, factor model, or liquidity screen.
This article is part of the DataCore series on building an event study for the Vietnamese stock market. The series follows the journey from raw market data to a finished study, using a historical price dataset as one of its foundations. You can read the companion overview on building an event study for the Vietnamese stock market.
What Is Intraday Market Data, and Why Does One Closing Price Hide So Much?
Intraday market data is the record of everything that happens to a security inside a single trading session, rather than the one number printed at the end of it. Intraday market data includes the price at which the session opened, the highest and lowest prices reached, the quantity and value of shares that changed hands, the split between order types, and the identity classes of the participants on each side of a trade.
The closing price is genuinely useful. It is the reference the market agrees to carry into the next session, and it is the anchor for valuation, index calculation, and margin. What it is not is a description. A close of a given level tells you where the argument ended. It says nothing about how loud the argument was, how many people joined it, or whether anyone changed their mind halfway through.
That distinction stops being academic the moment you try to build something. Ask a close only dataset whether a move was liquid, whether it was driven by a handful of large tickets, or whether foreign capital was entering or leaving, and it cannot answer. Intraday market data can. This is why a historical price dataset should be read as a market data layer rather than as a table of prices.

What Does a Single Trading Day Actually Contain?
Start with the four numbers almost every analyst already knows, usually abbreviated OHLC (open, high, low, close). In a historical price dataset these appear as open price, high price, low price, and close price. The opening price shows where the market chose to begin. The high and the low mark the boundaries the session tested. The close records where agreement settled.
Those four intraday market data fields alone already carry information the close cannot. The distance between the high and the low is a direct, if rough, measure of intraday volatility. A session that opened well below its close describes a recovery. A session that opened above its close describes a fade. Two stocks can print an identical close and describe completely opposite days.
Beyond price, a trading session produces activity data: the number of shares traded and the cash value of those trades. It produces a split by order mechanism, separating continuously matched orders from negotiated block deals. It produces participant breakdowns, most importantly foreign investor buying and selling, and proprietary trading by securities firms.
- Price layer: open, high, low, close, plus reference and ceiling and floor levels where the venue applies them.
- Adjustment layer: the raw traded price alongside a price corrected for dividends, splits, and bonus issues.
- Activity layer: traded volume and traded value, which together imply an average execution price.
- Mechanism layer: matched order volume and value versus put through (negotiated) volume and value.
- Participant layer: foreign buy, foreign sell, and foreign net, plus proprietary trading buy, sell, and net.
Read as a stack, those intraday market data layers turn a row in a table into a description of a session. That is the whole argument for treating intraday market data as its own asset rather than as a nice extra beside the close.
Why Can One Price Move Tell Two Completely Different Stories?
Imagine two securities that both gain the same percentage on the same session. Measured by daily return they are identical, and a close only dataset will treat them as interchangeable. One of them traded millions of shares. The other traded a few thousand.
The first move is a market decision. Enough capital participated that the new price is a fair reflection of collective opinion, and you can reasonably expect to transact near it. The second move is an artefact. A thin book, one motivated buyer, and a price print that nobody else validated. Building a signal that treats those two observations as equal evidence is a modelling error rather than a limitation of intraday market data.
Intraday market data resolves the ambiguity immediately, because volume and value sit beside the price. The question stops being how much the price moved and becomes what kind of trading activity occurred while it moved. For any research touching liquidity, trading intensity, or market interest, that second question is the one that matters.
How Does Volume Confirm or Contradict a Price Move?
Volume is the cheapest confirmation signal available in intraday market data, and it is routinely ignored. The logic is simple. A price change on rising participation suggests the market is actively repricing the security. The same price change on falling participation suggests the market is drifting because nobody is defending the old level, not because anyone has changed their view.
The contradictory case in intraday market data is more useful still. When a security posts a strong gain on volume well below its own recent norm, the move is fragile. Nothing has been tested. Conversely, a session where price barely moves but volume is unusually heavy often marks a transfer of ownership between two large holders, which can precede a much larger move once one side is done.
None of this requires exotic statistics. It requires the volume field to exist beside the price field, at the same timestamp, for the same instrument. That is the practical value of intraday market data over a close only series, and it is available before you fit a single regression.

What Is the Difference Between Matched Orders and Put Through Trades?
This is the detail most often overlooked by analysts new to the Vietnamese market, and it can quietly corrupt a liquidity study. Trading on the Ho Chi Minh City Stock Exchange (HOSE) and the Hanoi Stock Exchange (HNX) happens through two distinct mechanisms, and intraday market data records them separately for a reason.
Matched order trading is the continuous order book. Buyers and sellers post bids and offers, the exchange matches them by price and time priority, and the resulting prints reflect genuine open competition for shares. This is the flow that tells you what the market is willing to pay right now.
Put through trading, also called negotiated or block trading, works differently. Two parties agree terms privately and register the transaction with the exchange. The trade is real and it is reported, but the price was not discovered through open competition, and the liquidity it represents was never available to anyone else.
The consequence matters. A single very large negotiated deal can dominate a session total. If you add that value straight into daily turnover and call the result liquidity, you will conclude that a stock is easy to trade when in fact one institution moved a block once and the order book stayed thin all day. Separating matched from put through inside your intraday market data avoids the mistake. Both exchanges publish their trading rules and daily statistics, and the mechanism definitions are set out by the Ho Chi Minh City Stock Exchange and the Hanoi Stock Exchange.
What Do Foreign Investor Flows Add to Intraday Market Data?
Foreign participation is one of the most closely watched behavioural signals in the Vietnamese market, and it is available directly inside intraday market data as three fields: foreign buy, foreign sell, and foreign net. The net figure is the one most often quoted, but the gross sides carry information the net destroys.
Consider a session in your intraday market data where foreign net is close to zero. That can mean foreign investors were absent, or it can mean they bought and sold heavily against each other, rotating between names. Those are very different market states, and only the gross fields distinguish them. A net of zero on tiny gross flows is indifference. A net of zero on enormous gross flows is repositioning.
For event studies the value is sharper still. When a positive announcement lands, the interesting question is not only whether the price rose, but whether foreign capital acted on it, and on which side. A favourable headline met with sustained foreign selling is a very different observation from the same headline met with sustained foreign buying, even if the closing price is identical. Market access rules and foreign ownership limits are administered by the State Securities Commission of Vietnam (SSC), the regulator that supervises both exchanges.
This is where intraday market data stops being a price archive and becomes a record of market behaviour. Related context on cross border participation appears in our note on the Vietnamese stock market upgrade and on capital inflow into the Vietnamese stock market.
Why Does Proprietary Trading Deserve Its Own Data Fields?
There is a third participant class that is easy to miss: the proprietary trading desks of securities firms, dealing on their own account rather than for clients. In a historical price dataset these appear as proprietary trading buy, proprietary trading sell, and proprietary trading net, sometimes split further by mechanism into matched and put through components.
Proprietary desks matter because they are close to the flow. They see client interest, they warehouse risk, and they often act before broader sentiment shifts. Tracking their net position alongside foreign net gives you two independent behavioural series rather than one, which is useful precisely when the two disagree.
The methodological point is the same as with foreign flows. Aggregating everything into a single turnover number destroys the distinctions that make intraday market data worth collecting. Keep the participant classes in your intraday market data separate in storage, and let the analysis decide whether to combine them.
How Does Data Granularity Change What Analysis Is Possible?
Granularity is the resolution at which intraday market data is stored, and it silently sets a ceiling on what questions you are allowed to ask. Three tiers are common, and each one closes off a class of analysis below it.
- Daily bars. One row per instrument per session. Sufficient for event studies measured in days, for long horizon factor work, and for most valuation screens. Cannot say anything about the sequence of events inside a session.
- Minute bars. One row per instrument per minute. Enough to see how a move built, whether it happened at the open or in the closing auction, and how quickly a shock was absorbed. This is where announcement timing analysis becomes possible.
- Tick data. One row per trade or per book update. Required for microstructure work, execution quality measurement, and any study of order book depth or spread dynamics. Also the most expensive to store and the hardest to keep clean.
The rule of thumb for intraday market data granularity is unglamorous but reliable: choose the coarsest granularity that answers your actual question, then store one tier finer than that if you can afford it. Coarsening data later is trivial. Recovering detail you never captured is impossible.
The trap is assuming that a daily bar is a small version of tick data. It is not. A daily bar is a set of summary statistics, and every summary statistic is a decision about what to discard. Knowing which decisions were made on your behalf is part of using intraday market data responsibly.

Which Price Should You Use, Basic or Adjusted?
A historical price dataset of intraday market data normally carries at least two versions of every price: the basic price actually traded on the day, and an adjusted price corrected for corporate actions such as cash dividends, stock dividends, bonus issues, and splits. Choosing between them is not a preference. It is a correctness requirement, and it depends entirely on what you are computing.
Use the basic price when you need to know what the market literally printed. Reconciling against an exchange bulletin, checking whether a limit was touched, or auditing an execution all require the untouched number.
Use the adjusted price whenever you compute returns across a corporate action. This is the case that bites. A two for one split halves the traded price overnight with no economic loss to any holder. A return series built on basic prices will record that as a fifty percent single day collapse. Feed that into an event study and the model will faithfully report a catastrophic abnormal return caused entirely by your own data handling.
That failure is silent, which is what makes it the most dangerous trap in intraday market data handling. Nothing errors. The numbers look plausible. Only a reader who knows the corporate action calendar will notice that the crash is an accounting artefact rather than a market event.
What Does a Single Trading Day Look Like Step by Step?
The walkthrough below is illustrative and hypothetical. No real security, session, or figure is described. Its only purpose is to show how the layers of intraday market data assemble into a narrative that a closing price would flatten.
The session opens below the previous close. Early matched order volume is light, and the first prints drift lower without conviction. Nothing here is a market decision yet, because almost nobody has participated.
Mid session, matched volume rises sharply and the price recovers through the previous close to the day high. Foreign buy climbs while foreign sell stays flat, so foreign net turns positive. Proprietary net is broadly unchanged. The recovery is being funded by one identifiable participant class.
Late in the session a large put through deal is registered at a price near the middle of the day range. Total traded value jumps. Matched volume does not. Order book liquidity is unchanged even though turnover looks impressive.
The close lands slightly above the previous close. A close only dataset records a small positive return on heavy turnover and stops there. The intraday market data record says something far more specific: a weak open, a genuine mid session bid driven by foreign buying, a block transfer that inflated headline turnover, and a quiet finish. Same close, entirely different day.
What Are the Most Common Mistakes Analysts Make With Close Only Data?
- Treating equal returns as equal evidence. Two identical percentage moves on wildly different volumes are not the same observation, and averaging them dilutes any real signal.
- Using turnover as a liquidity proxy without splitting mechanisms. Put through value inflates turnover while contributing nothing to order book depth.
- Computing returns on unadjusted prices. Corporate actions become fake shocks, and event study results break in exactly the windows that matter most.
- Reading foreign net without the gross sides. A net near zero can mean absence or heavy two way rotation, and the two carry opposite implications.
- Assuming a missing row means no trading. It may mean a suspension, a holiday, a delisting, or a gap in the feed, and each requires different handling.
- Aligning announcement times to a daily bar. If news lands after the close, the reaction belongs to the next session, and misdating it will smear the event window.
Every item on that list is a data question rather than a modelling question. That is the uncomfortable part. Sophisticated methods applied to intraday market data that has been silently mishandled produce confident, well presented, wrong answers.
What Data Quality Problems Should You Expect in Intraday Market Data?
Assume the data is imperfect and build accordingly. Every practitioner working with intraday market data eventually meets the same short list of defects, and none of them announce themselves.
- Missing ticks and gaps. Feed interruptions leave holes that look like quiet periods. Distinguish a real absence of trading from a failure to record trading.
- Unapplied corporate actions. An adjustment factor that was never backfilled leaves a discontinuity in the return series that no model can survive.
- Timestamp misalignment. Venue time, capture time, and your own storage time zone are three different things. Mixing them shifts events by minutes or by a whole session.
- Duplicate prints. Replayed feed segments double count volume and quietly overstate liquidity.
- Ticker reuse and renaming. A symbol that changes hands between issuers creates a single series describing two different companies unless a permanent identifier is carried alongside it.
- Rounding and unit drift. Volume in shares versus lots, and value in units versus thousands, are the most common silent scaling errors.
The defence is boring and effective: validate on ingestion, not on use. Check that high is greater than or equal to low, that close sits inside the day range, that traded value is broadly consistent with volume multiplied by an average price, and that matched plus put through reconciles to the reported total. Reject or quarantine rows that fail, and log every rejection.
How Should You Store and Version Intraday Market Data?
Storage decisions for intraday market data determine whether your results are reproducible a year from now. The single most valuable habit is to keep the raw capture immutable. Land what the source sent, byte for byte, and never edit it in place. All cleaning, adjustment, and enrichment happens in derived layers that can be rebuilt from the raw layer at any time.
Version the adjustment logic separately from the intraday market data itself. A corporate action correction applied in one quarter changes the entire historical return series behind it. If the logic is versioned, you can explain why a number you published last quarter differs from the same number today. If it is not, you cannot, and the difference looks like an error.
Two further conventions pay for themselves. Store a permanent instrument identifier beside the ticker so that renames and reuse do not corrupt long series. And record an as of timestamp on every row describing when the value was captured, separate from the session date it describes. Point in time reconstruction is impossible without it.
What Should You Ask a Market Data Provider?
Coverage claims are easy to make and hard to verify. The questions below are the ones that separate a usable intraday market data feed from a plausible looking one, and they are all answerable in a single conversation.
- Which fields are native to the source, and which are computed by you? Computed fields need their formulas disclosed.
- Are matched order and put through values reported separately for every session, or only aggregated?
- How far back does the history run, and does the adjustment logic apply consistently across that whole span?
- How are corporate actions sourced, and how quickly are they applied after the effective date?
- Is the data available point in time, meaning can I reconstruct exactly what you would have told me on a past date?
- What identifier survives a ticker change, and is it stable across the full history?
- What is the documented latency, and what is the historical delivery reliability?
- How are suspensions, halts, and delistings represented, and are they distinguishable from missing data?
A provider who answers these crisply is telling you they have already had the arguments internally. A provider who deflects is telling you that you will be the one discovering the edge cases.

How Does Intraday Market Data Feed an Event Study?
An event study asks a narrow question: after removing the part of a security movement that can be explained by the market as a whole, what is left? That residual is the abnormal return, and it is the entire output of the method.
Getting there is a chain, and every link consumes intraday market data. Prices become returns. Individual returns are compared against a market benchmark over an estimation window. An expected return is fitted. The realised return minus the expected return gives the abnormal return, which is then aggregated across the event window and tested for significance.
The chain is only as sound as the price series entering it. Use unadjusted prices and corporate actions masquerade as abnormal returns. Ignore the mechanism split and a block trade looks like a surge of market interest. Ignore the participant fields and you lose the ability to say who reacted, which is often the most interesting finding available.
This is why the data layer deserves as much scrutiny as the estimator. Having intraday market data is one thing. Knowing which field to use, and why, is a separate skill, and it is where most of the avoidable errors live.
What Does the Data Tell Us?
Read across all seven signals, the conclusion is consistent. A closing price is a compression, and compression is lossy by definition. Intraday market data restores the parts that were thrown away, and those parts are exactly the ones that carry causal information: participation, mechanism, and identity of the participants.
The practical implication for anyone building research infrastructure is that field level detail is not a luxury tier. It is the difference between a dataset that can answer why and a dataset that can only answer how much. Most analytical dead ends in equity research trace back to a field that was never captured rather than to a method that was never tried.
Frequently Asked Questions About Intraday Market Data
Is intraday market data the same thing as tick data?
No. Tick data is the finest grain of intraday market data, with one record per trade or book update. Intraday market data is the broader category and includes minute bars and enriched daily records that carry within session detail such as the high, the low, and the mechanism split.
Do I need minute level data for an event study?
Usually not. Event studies measured in trading days work well on daily records, provided those records carry adjusted prices and the activity and participant fields. Minute level data becomes necessary when the announcement time inside the session matters, or when you need to see how quickly a shock was absorbed.
Why are matched orders and put through trades kept separate?
Because they measure different things. Matched order flow reflects open competition in the order book and is a fair proxy for accessible liquidity. Put through trades are privately negotiated and registered afterwards, so their value inflates turnover without indicating that shares were available to other participants.
Which price field should I use to compute returns?
The adjusted price, in almost every case. Adjusted prices account for dividends, splits, and bonus issues, so a return series built on them measures economic performance rather than corporate action mechanics. Reserve the basic price for reconciliation against exchange records.
What does foreign net actually tell me?
It tells you the direction of net foreign participation, and nothing about its intensity. Always read foreign net alongside foreign buy and foreign sell. A net near zero built on very large gross flows indicates active repositioning, whereas the same net on tiny gross flows indicates indifference.
How much history do I need?
Enough to cover a full market cycle plus the estimation window your method requires. For event studies, the estimation window sits before the event window, so the usable history is shorter than the raw history. Consistency of adjustment across the whole span matters more than raw length.
Can I reconstruct intraday market data from daily bars?
No. A daily bar is a set of summary statistics, and the sequence of trades that produced it cannot be recovered. This is the main argument for capturing at a finer granularity than your current question requires.
What is the first thing to check in a new intraday market data feed?
Internal consistency. Confirm that the high is at least the low, that the open and close both sit inside the day range, that traded value is consistent with volume and an average price, and that matched plus put through reconciles to the reported session total. Most feed defects fail one of those four checks.
What Is the Key Takeaway on Intraday Market Data?
A trading session is an argument, and the closing price is only the final word. Intraday market data preserves the argument itself: who spoke, how loudly, through which mechanism, and whether anyone was persuaded. Build your research on the argument rather than on the last word, and the questions you can answer expand immediately.
If you take one operational habit from this article, take this one. Before you model anything, write down which field you are using and why. Basic or adjusted. Matched or total. Net or gross. Those three choices decide more about your results than the estimator ever will.
DataCore builds and maintains structured Vietnamese market data layers, including historical price coverage with the mechanism and participant fields described above. If you are assembling a research stack and want to see how the pieces fit, browse the DataCore services overview. You may also find our notes on the FTSE Russell Vietnam upgrade useful for market context.
Published 31 August 2026. Last updated 31 August 2026. All field names in this article describe dataset structure rather than any specific security, and the trading day walkthrough is explicitly hypothetical.




Để lại một bình luận
You must be logged in to post a comment.