A compliant ASX VWAP is defined as much by what it leaves out as by what it puts in. Six categories of trade come out of the sum, and none of them is defined in the Listing Rules: five borrow their meaning from an ASIC instrument, and the sixth borrows nothing at all. This guide settles where those meanings actually live, then works through each category in turn.
The ASX VWAP definition reads the rule clause by clause and how VWAP is calculated covers the arithmetic. This one is about the trades.
Where the meanings come from
LR 19.12 defines the volume weighted average market price as the volume weighted average price of trading on the ASX market and the Chi-X market over a period, "excluding block trades, large portfolio trades, permitted trades during the pre-trading hours period, permitted trades during the post-trading hours period, out of hours trades and exchange traded option exercises" (ASX Listing Rule 19.12). It then says the first five of those expressions "have the same meaning as in the ASIC Market Integrity Rules (Competition in Exchange Markets) 2011" (ASX Listing Rule 19.12).
That instrument no longer exists. It was repealed with effect from 7 May 2018 by rule 1.1.3A(d) of the ASIC Market Integrity Rules (Securities Markets) 2017, which revoked it alongside the ASX Market, Chi-X Australia Market, APX Market and SIM VSE Market rulebooks (ASIC Market Integrity Rules (Securities Markets) 2017, rule 1.1.3A). The Federal Register of Legislation records its status as no longer in force, with its last compilation running to 6 May 2018 (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, repealed). The Listing Rules entry still names it.
So a Listing Rules VWAP points at a repealed instrument, and there are two ways to read that. On the first, the reference is frozen: the terms mean what the 2011 rules said on the day they were repealed. On the second, the reference is ambulatory and now picks up the successor provisions in the 2017 rules, which list the 2011 instrument in their defined term "Pre-Commencement Market Integrity Rules" (ASIC Market Integrity Rules (Securities Markets) 2017, rule 1.4.3) and restate the same obligation and the same six exception limbs in rule 6.1.1, with the definitions in Part 6.2 (ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.1.1).
For this definition the choice does not matter, which is the useful part of the answer. Both texts inform this guide series, the 2011 instrument at its final compilation and the 2017 instrument at its current one, and on the five borrowed terms they say the same thing. The three period-based definitions carry across without substantive change; the drafting moves are "Participant" to "Relevant Participant", "Transaction" to "transaction" and "auction" to the defined term "Auction" (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rules 4.2.4 to 4.2.6; ASIC Market Integrity Rules (Securities Markets) 2017, rules 6.2.4 to 6.2.6). The two clock definitions, pre-trading hours period and post-trading hours period, are the same but for an inserted article in the post-trading hours entry, "or CGS Depository Interest" becoming "or a CGS Depository Interest" (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 1.4.3; ASIC Market Integrity Rules (Securities Markets) 2017, rule 1.4.3). Large portfolio trades are unchanged in substance (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.2; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.2). Block trades keep identical consideration thresholds, and the only substantive change is to who may stand on each side, set out under block trades below (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.1; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.1).
ASX's own procedures read the reference the second way. Procedure 3320 fixes the period for transactions outside trading hours by pointing at "the circumstances prescribed in rule 6.2.4 of the ASIC Market Integrity Rules", which is the 2017 numbering, not the 2011 numbering (ASX Operating Rules, Procedure 3320). The Procedures glossary does the same for out of hours trading, defining "Out of Hours" as an out of hours trade "as defined in the ASIC Market Integrity Rules" without naming a year (ASX Operating Rules, Procedures glossary).
Two things follow for anyone documenting a calculation. Reading the borrowed terms off the 2017 rules is defensible and matches what ASX itself does, and recording which text you read is cheap insurance, because the day ASIC amends one of these definitions is the day the two readings stop agreeing.
The six excluded types
The list below takes its items, their number and their order from the LR 19.12 entry itself (ASX Listing Rule 19.12).
Block trades
A block trade is a transaction typically done away from the order book in which a single participant handles both sides, in securities of one issuer, one class and one paid-up value, with consideration not less than $1,000,000 for Tier 1 equity market products, $500,000 for Tier 2, $200,000 for Tier 3 and $200,000 for CGS depository interests. ASIC notifies which products sit in Tier 1 and Tier 2, and everything else is Tier 3 (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.1; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.1).
Who may stand on each side is the one place the two instruments differ. The 2011 rule allowed two shapes only: the participant acting for both the buying and the selling client, or acting for a client on one side and as principal on the other (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.1). The 2017 rule adds a third, letting one or more clients stand on the far side and letting a client and the participant as principal share that side, with the consideration threshold then tested against the first client and the far side in aggregate (ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.1).
The category exists because a parcel that size cannot be worked through a lit order book without the market trading away from it. The relief is specifically from pre-trade transparency: block trades sit in the list of exceptions to the requirement that a participant only transact by matching a pre-trade transparent order on an order book (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.1.1), a structure the 2017 rules carry forward in rule 6.1.1 (ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.1.1). The trade is negotiated privately, then reported. Reporting is not optional: a reporting participant must report post-trade information for a transaction entered into otherwise than by matching orders on an order book (ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.3.1). That is why these trades are in the raw data at all, and it is why the Listing Rules definition has to name them a second time when it extends the trade set to reported trades (ASX Listing Rule 19.12).
In ASX terms a block trade may be effected as a special crossing, and must
be notified to ASX when it is. Procedure 4810 states that, "in the
circumstances set out in ASIC Market Integrity Rule 6.2.1", a crossing of
cash market products is a Block Trade (Special Crossing) and may be
effected by a trading participant as a special crossing, and must then be
notified to ASX (ASX Operating Rules, Procedure 4810). So in the
condition-code table the rows where a rule 6.2.1 block trade actually lands
are the special crossing family: SCXT for a special crossing by the same
participant, ETXT for a special crossing in an ETF, and CTSPXT for a
special crossing combination (ASX trade condition codes, v3.7).
Two other groups of rows carry "block" in their descriptions and are not
the same mechanism. BT, BTXT and BCXT describe any price block trades
matched during continuous trading, on the book rather than reported as a
special crossing, and SP and SPXT describe a block trade derivative
(ASX trade condition codes, v3.7). Both groups are adjacent to the ASIC
block trade rather than instances of it, so a filter written off the word
"block" will not pick out the category LR 19.12 excludes, and will pick up
rows that category does not reach. All of these rows, in both the special
crossing family and the adjacent groups, are flagged not to update ASX
VWAP (ASX trade condition codes, v3.7).
Large portfolio trades
A large portfolio trade is a basket bought or sold under a single agreement between the buyer and the seller, with the participant on both sides, for total consideration of at least $5,000,000 across at least 10 different classes, each of those 10 carrying at least $200,000. Smaller lines may ride along in the same basket without breaking the definition (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.2; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.2).
The category covers portfolio transitions: an index change, a mandate moving between managers, a fund being wound up. The point of the single agreement is that the whole basket is priced as one package. The price struck on any individual line reflects the deal, not that stock's own supply and demand that afternoon, which is why the rules treat those prints as unrepresentative of trading in the security.
ASX effects these as portfolio special crossings, and Procedure 4810
rebuilds the ASIC test almost element for element: at least 10 purchases
or sales of different products with consideration of not less than
$200,000 each, additional smaller lines permitted, and total consideration
for the whole portfolio of not less than $5,000,000, with the participant
acting as agent for both sides or as principal against the client (ASX
Operating Rules, Procedure 4810). The Procedures glossary defines
"Portfolio Special Crossing" by reference to that paragraph (ASX Operating
Rules, Procedures glossary). In the data the row to look for is portfolio
special crossing reporting, code SXXT, flagged not to update ASX VWAP
(ASX trade condition codes, v3.7).
Permitted trades during the pre-trading hours period
This category has two halves, a clock and a permission, and a trade needs both.
The clock: for an equity market product the pre-trading hours period runs from three hours before the start of trading hours for ASX TradeMatch until 15 minutes before that start (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 1.4.3; ASIC Market Integrity Rules (Securities Markets) 2017, rule 1.4.3).
The permission: the participant must be on both sides, either for two clients or for a client against its own book; an overseas resident client must be involved on one side or on both; and a stock market maintained by a recognised stock exchange in that client's country of residence must be open for trading at the time (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.5; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.5).
The category exists so an Australian participant can fill an overseas client during that client's own trading day, before the local session opens. Nothing about the resulting price is set by Australian trading, which is the whole reason it comes out of the VWAP.
Identifying these trades in data is a timestamp problem first. The
published condition-code list has no code that says "pre-trading hours
period"; what it does carry is an overseas resident pair, OR for a report
between different participants and ORXT for a crossing by the same
participant, both flagged not to update ASX VWAP (ASX trade condition
codes, v3.7). The overseas resident client is the defining feature of the
rule's permission, so those rows are where trades of this kind are most
likely to surface, but the code is a description of the counterparty and
not a finding that the rule's test was met. The trade time does the
load-bearing work.
Permitted trades during the post-trading hours period
Again a clock and a permission.
The clock: where every market that quotes the product keeps the same trading hours, the post-trading hours period is the 30 minutes following the end of trading hours. Where the quoting markets keep different hours, it runs from the earliest close on any of them until 30 minutes after the latest close (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 1.4.3; ASIC Market Integrity Rules (Securities Markets) 2017, rule 1.4.3).
The permission is a list of five, and a trade in the window qualifies only if it fits one of them: it completes an order received before the end of trading hours, and before the closing auction if there was one; it comprises a bona fide hedge; it completes an order that narrowly missed execution in the closing auction; it rectifies an error; or it moves stock between two nominees holding for the same funds manager with the participant acting for both clients (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.4; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.4).
Read that list and the category's purpose is plain. It is a cleanup window: unfinished business from the session, hedges, near misses at the close, mistakes and administrative transfers. None of it is fresh price discovery.
ASX's procedures fix the same window in clock terms. A participant may effect a crossing on a client instruction received between 4:21:30 PM and 5 PM in the circumstances ASX permits under Procedure 3320, and that crossing must be reported (ASX Operating Rules, Procedure 4060). Procedure 3320 in turn sets the period by reference to the adjust session state and the ASIC rule (ASX Operating Rules, Procedure 3320).
No condition code names this category either. Beware the late trade codes,
which are a different thing: LT and LTXT, and the reason-coded L5 and
L5XT, mark a trade reported late rather than a trade done in the
post-trading hours window, and they carry their own price stabilisation
variants. All of them are flagged not to update ASX VWAP (ASX trade
condition codes, v3.7), but a late report of an ordinary in-session trade
is not one of the six categories LR 19.12 names.
Out of hours trades
An out of hours trade is one entered into after the post-trading hours period on a trading day and before the pre-trading hours period on the next trading day. If it is done for a client, the client's order must have been received inside that same overnight window, and the participant must have taken the other side as principal or for another client whose instructions could have come at any time (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 4.2.6; ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.6).
This is the overnight category. It exists because desks take orders when the Australian market is shut and there has to be a lawful way to fill them.
The three period definitions do not quite tile the day, and the seam is worth knowing about. The out of hours window closes when the pre-trading hours period opens, and the pre-trading hours period closes 15 minutes before trading hours start (ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.6; rule 1.4.3). Those last 15 minutes before the open therefore sit inside none of the three categories, so on the text a trade done in them is not excluded by any of them.
ASX's procedures put the practical window at between 5 PM on a trading day
and 7 AM the next trading day (ASX Operating Rules, Procedure 4060), and
the Procedures glossary simply adopts the ASIC meaning (ASX Operating
Rules, Procedures glossary). As with the other two period categories, the
timestamp is the test. The condition-code list carries an overseas trade
pair, OS and OSXT, flagged not to update ASX VWAP (ASX trade condition
codes, v3.7), and overnight business often lands there, but the code
describes where the counterparty is rather than when the trade was done.
Exchange traded option exercises
The sixth category is the odd one out. The sentence that borrows meanings from the ASIC rules names the other five and stops; exchange traded option exercises are excluded without the entry pointing anywhere for their meaning (ASX Listing Rule 19.12).
The plain reading is uncontroversial. When an exchange traded option is exercised, the underlying stock changes hands at the option's strike price, a number fixed when the option was written rather than by anything that happened in the period. Including those transfers would put a price into the average that no buyer or seller agreed to that day.
This is the cleanest of the six to spot in data, and the only one that
maps to a small closed set of codes. Exercised calls report as EC
between different participants and ECXT as a crossing; exercised puts
report as EP and EPXT. All four are flagged not to update ASX VWAP
(ASX trade condition codes, v3.7).
Everything else counts
The definition is an inclusion with six carve-outs, not a list of admitted trade types. A trade that does not fall inside one of the six named categories is in the sum, whatever it looks like and however odd its price (ASX Listing Rule 19.12). The entry offers a rationale for the list, that these types "are not necessarily representative of market trading", but that is a reason for the categories, not a test to apply to individual trades (ASX Listing Rule 19.12). Nothing comes out because it looks unrepresentative.
Two consequences are easy to miss.
The exception the Listing Rules did not borrow. ASIC's pre-trade
transparency regime carries six exceptions, not five: block trades, large
portfolio trades, trades with price improvement, permitted trades during
the post-trading hours period, permitted trades during the pre-trading
hours period, and out of hours trades (ASIC Market Integrity Rules
(Securities Markets) 2017, rule 6.1.1). The repealed 2011 instrument
carried the same six limbs in the same order (ASIC Market Integrity Rules
(Competition in Exchange Markets) 2011, rule 4.1.1, repealed), so the
count does not turn on which text is read as governing. LR 19.12 takes
five of those six and leaves out trades with price improvement, which the
current rules price-test as a transaction executed inside the spread by
one or more price steps or at the mid-point, and which further requires
the participant to be on both sides where the trade is off-book, and the
consideration to be greater than zero (ASIC Market Integrity Rules
(Securities Markets) 2017, rule 6.2.3; ASX Listing Rule 19.12). So a
transaction negotiated off the order book at a price inside the spread or
at the mid-point is not excluded on that ground. It is off-book, it is
reported rather than matched, and unless it independently falls into one
of the six named categories it still belongs in the VWAP. ASX's own data
agrees: the centre point rows, CX for different participants and CXXT
for a crossing, are flagged to update ASX VWAP (ASX trade condition codes,
v3.7).
Auction trades are in. This is the question how VWAP is calculated leaves open, and the recovered definitions answer it. Trading hours are defined as the times when orders may be entered on a market's order books and are matched continuously, "and includes a time during which an Auction is conducted on the Market" (ASIC Market Integrity Rules (Securities Markets) 2017, rule 1.4.3). The repealed 2011 definition says the same, with "auction" in lower case because that instrument defined "Auction" only for one part of the rules (ASIC Market Integrity Rules (Competition in Exchange Markets) 2011, rule 1.4.3, repealed). An auction therefore happens inside trading hours, and each of the three period-based categories is defined by reference to trading hours from outside. The pre-trading hours period ends 15 minutes before trading hours start, so it is over before the opening auction runs. The post-trading hours period begins when trading hours end, so it starts after the closing auction has run. Out of hours trades sit later still, beyond the post-trading hours period. The rule's own text confirms the direction: the post-trading hours permission treats the closing auction as an event that has already happened, allowing a trade that completes an order which "narrowly missed execution during that Auction" (ASIC Market Integrity Rules (Securities Markets) 2017, rule 6.2.4). Even setting the clock aside, the two period categories exclude only permitted trades of specified kinds inside those windows, not everything that prints in them. ASX's data flags single series trades auto matched during an auction as updating ASX VWAP (ASX trade condition codes, v3.7). The closing auction often carries a large share of a day's volume, and on a short window it belongs in the number.
Cancelled trades
LR 19.12 says nothing about cancellations (ASX Listing Rule 19.12), so this is a data handling question rather than a rule question, and it still has to be answered before the arithmetic runs. A trade that printed and was later busted was never a trade, but it may already be sitting in the file.
ASX's condition-code document closes its mapping table with the shape of the record: a cancelled trade carries "same attributes as original trade" with a distinct trade type value (ASX trade condition codes, v3.7). Two rows, in other words, not a corrected one. Whether your extract arrives that way, or as a reversal carrying negative volume, or already netted, depends on where you sourced it, and it is worth checking rather than assuming.
The approach taken by the calculator behind this project is one defensible implementation and not a requirement. It looks for reversal rows and pairs each against an original with the same date and price, matching volume magnitude and a timestamp at or before the reversal, preferring a candidate that carries the same condition codes so that a busted special crossing cannot cancel out an ordinary trade that happens to match on price and volume by coincidence. Both legs are then dropped, so their combined effect on total volume and total value is exactly zero. A reversal with no match stops the run rather than being guessed at, and the netting happens before any condition-code exclusion, so a busted trade that also carries an excludable code is removed once and only once. Netted pairs are recorded separately from code-based exclusions in the workings, which matters when someone asks later why a trade is missing.
Exclusion sets wider than the six categories
Anyone who builds this in practice discovers the same gap. LR 19.12 names six categories. Real trade data carries dozens of condition codes, and many of them describe transactions that are plainly not market trading yet appear under none of the six headings: securities loans and loan returns, booking reports, forward delivery, OTC contingent equity trades, buy-back reports, directed reporting. The calculator behind this project resolves that by excluding 47 condition-code categories, mapped onto the six named ones by the code author's judgement, with a residual group that has no textual anchor in any of the six at all.
That is a professional judgement call, not a reading of the rule, and it should be recorded as one. The defensible position is to say which codes you excluded and why, rather than to imply the rule named them.
ASX's own flag is a related trap. The mapping table carries an "ASX VWAP
Update" column, and its published meaning is an update rule for ASX VWAP:
Y means the trade updates VWAP, N means it does not (ASX trade
condition codes, v3.7). That is ASX's answer for the VWAP ASX itself
publishes. It is not the Listing Rule test, and it says N to a long list
of trade types LR 19.12 never mentions. Useful as a first filter, and
useful as a cross-check, but a figure built by taking every Y row is
answering a different question from the one LR 19.12 asks.
What this means for the data you need
Every one of the six exclusions is a property of an individual trade: its counterparties, its size, its condition codes, or the second of the day it was entered into. That fixes the input. Doing this properly needs time and sales data, one row per executed trade, with price, volume, timestamp and condition codes, covering both markets named in the definition (ASX Listing Rule 19.12).
A daily summary cannot do it. A file of daily open, high, low, close and volume has no individual trades in it, so there is nothing to identify and nothing to remove; the excluded types are already blended into the day's volume and the day's range, and no amount of care downstream gets them back out. That is a hard limit on the typical price approximation described in how VWAP is calculated, not a matter of precision.
Three checks are worth running on any extract before trusting it. Confirm a condition-code column is actually present, because some exports omit it entirely and a calculation that silently treats "no codes" as "nothing to exclude" will look clean and be wrong. Confirm the codes decompose the way your process assumes, because combination codes do not always split neatly. Confirm the extract spans both markets rather than one (ASX Listing Rule 19.12). Common mistakes in VWAP calculations collects the errors these gaps produce.