Skip to content

Trade blotter

An execution record that connects fills to orders, quantities, prices and obligations so a trading book can be reconstructed and checked.

A trade blotter is a record of executed trades, organised so that each transaction can be identified, checked and connected to the trading book. For a quant, it is the evidence behind the claimed position: what actually traded, in what quantity, at what price and for which account. A strategy's intended trades are insufficient to reconstruct its realised exposure or trading costs.

The name is also used for operational screens that show pending orders alongside completed trades. Read the row type and status: an accepted order is not an execution. Regulatory uses of “blotter” can cover broader records, including cash and securities movements. The execution ledger below is a teaching example, not a universal regulatory field specification.

One order can produce several rows

Suppose account A sends order O-17 to buy 30 shares of synthetic stock XYZ. It receives these two executions, before fees:
Execution IDOrder IDExecution time, UTC on 2026-10-26SideSharesPrice, USD/shareGross consideration, USD
E-1O-1710:00:00.100Buy10100.001,000.00
E-2O-1710:00:00.300Buy20101.002,020.00

There are two fills and one order. At a larger scale, a parent order can be divided into child orders, each of which may receive several fills. Preserve these relationships rather than treating every execution as a separate investment decision.

Synthetic order O-17 buys 30 shares through two executions: 10 at USD 100 and 20 at USD 101. Gross consideration is USD 3,020 and quantity-weighted price is USD 100.6667 per share before fees.
Synthetic order O-17 buys 30 shares through two executions: 10 at USD 100 and 20 at USD 101. Gross consideration is USD 3,020 and quantity-weighted price is USD 100.6667 per share before fees.
Original synthetic execution ledger. Both buys belong to the same order; timestamps are UTC and prices are USD per share. Fees are excluded, and the amount owed is distinct from completed settlement.

The executed quantity is 10+20=3010+20=30 shares. The gross purchase amount is 10(100)+20(101)=3,02010(100)+20(101)=3{,}020 USD. With positive fill quantities qiq_i and execution prices pip_i, the quantity-weighted fill price is

pˉ=∑iqipi∑iqi=3,02030=3023≈100.6667 USD/share.\bar p=\frac{\sum_i q_i p_i}{\sum_i q_i} =\frac{3{,}020}{30} =\frac{302}{3} \approx100.6667\ \text{USD/share}.

The simple average of the two row prices is 100.5 USD/share. It gives each fill equal weight even though the second contains more shares. It is not the average price paid per share. Nor is this account's fill average automatically the market's volume-weighted average price: that benchmark requires its own market-trade population and interval. If nothing fills, the average fill price is undefined, rather than zero.

Make each row interpretable

A useful execution record needs an explicit data contract. Typical information includes:

  • Identity and lineage. Account, instrument identifier, execution identifier and the relevant order identifiers. State the source and identifier namespace: a short execution ID need not be globally unique across brokers or sessions.
  • Economic terms. Side, executed quantity, quantity unit, price and its quote currency. For instruments quoted per contract, per unit of face value or with a multiplier, record the conversion needed to obtain a cash amount. Multiplying a displayed price by a quantity is not universally sufficient.
  • Time. Execution timestamp and time zone, plus receipt or booking time when needed. A delayed message's arrival time does not replace the time the trade occurred. Keep the applicable trade date and session convention explicit.
  • Charges and lifecycle. Fees, fee currency, broker or venue reference, and links to corrections or cancelled trades. Distinguish an order cancellation, which concerns an unfilled remainder, from a trade cancellation that reverses an execution.
These are practical design choices. Exact mandatory fields, retention and reporting duties depend on the instrument, firm and jurisdiction. FINRA's 2021 notice gives a specific US example for mutual funds and variable annuities; it should not be read as the schema for every trading system.

Reconcile the ledger to the book

In this example, side is a separate field and the share quantities are positive. Under a signed inventory convention, the buys increase trade-date inventory by 30 shares and create a gross purchase obligation of USD 3,020. A signed trade-date cash-obligation ledger would record this purchase as −3,020 USD before fees. That entry is not evidence that the bank balance has already fallen by the same amount: trade settlement is a separate process. Its date, completion status and actual cash or securities movements must be reconciled separately.
A blotter also differs from a position snapshot. Reconstructing the closing holding requires the opening holding and other inventory events, such as transfers or corporate actions. Calculating marked value additionally requires a valuation price and time. Execution price is neither a current mark nor, by itself, a measure of profit.
Reconciliation should count each economic execution once, even when the same message is delivered again. Preserve correction history and references to the affected execution so that an amended view can be reproduced. The FIX order-state specification distinguishes message purpose, order status, last-fill quantity and cumulative executed quantity; copying every execution-report message into a new trade row would therefore be unsafe.
Once quantities and obligations reconcile, the records can support transaction-cost analysis. The SelfMadeQuant Post-Trade Analysis lesson develops that next step by joining parent intentions, unique fills, cash and positions before comparing benchmarks. Its public preview is available; the full lesson requires membership.

Sources

Last updated
  • execution
  • trading records
  • reconciliation
  • order management
  • backtesting
← Back to the glossaryBack to top ↑