Skip to main content

Concept

The imperative to analyze a partially filled order in real time originates from a fundamental principle of institutional trading ▴ maintaining absolute control over the execution trajectory of capital. An order ticket represents a strategic intention, but its journey through the market’s intricate plumbing is a series of discrete, often fragmented, events. Each partial fill is a data point, a whisper of market response that, when captured and processed with sufficient velocity, becomes a critical input for command and control. The inquiry into the technological prerequisites for such a system is an inquiry into how to construct a nervous system for an order, one that provides instantaneous feedback on its state and the environment in which it operates.

A real-time partial fill analysis system functions as a high-fidelity sensor array, tuned to the specific frequency of trade execution messages. Its purpose is to translate the raw, high-velocity stream of data from exchanges and liquidity venues into a coherent, actionable intelligence layer. This is not about passive, end-of-day reporting. It is about equipping the execution mechanism, whether human or automated, with the immediate context required to make tactical decisions mid-flight.

The system must answer critical questions instantaneously ▴ What was the true cost of the last executed fragment? How much of the order remains? At what rate is the order being filled, and is that rate decaying? Is the liquidity at the current venue being exhausted? The answers to these questions form the basis of all subsequent execution strategy.

A real-time partial fill analysis system is the intelligence layer that transforms raw execution data into immediate, actionable control over an order’s lifecycle.

The foundational design of such a system is predicated on the principle of “straight-through processing,” where data flows from its source, through analysis, to a decision engine with minimal friction and latency. This requires a technological stack where each component is optimized for speed and throughput, from the network interface card receiving the initial data packet to the application layer that presents the final analysis. The core challenge lies in building a data pipeline that can ingest, parse, enrich, and analyze a potentially massive volume of messages without introducing meaningful delay.

Each millisecond of latency erodes the value of the intelligence, pushing the system further away from real-time control and closer to historical observation. Therefore, the selection of each technological prerequisite is a deliberate choice in favor of velocity, reliability, and the capacity to handle the immense data rates characteristic of modern financial markets.


Strategy

Intricate dark circular component with precise white patterns, central to a beige and metallic system. This symbolizes an institutional digital asset derivatives platform's core, representing high-fidelity execution, automated RFQ protocols, advanced market microstructure, the intelligence layer for price discovery, block trade efficiency, and portfolio margin

The Data Ingestion Gateway

The strategic entry point for any partial fill analysis system is the data ingestion layer. The choice of how to receive execution data dictates the quality, timeliness, and granularity of the entire analytical process. The most direct and robust method is a dedicated connection to a Financial Information eXchange (FIX) protocol feed. The FIX protocol is the lingua franca of electronic trading, providing a standardized format for all trade-related messaging, including the critical ExecutionReport (MsgType 8) message that carries fill data.

Establishing a direct FIX session with brokers or exchanges provides the lowest possible latency and the most complete data set. An alternative strategy involves using consolidated data feeds or APIs from third-party providers. While this can simplify initial setup, it introduces a potential point of latency and data abstraction, which may filter out nuanced information contained in the raw FIX messages.

The strategic decision rests on a trade-off between implementation complexity and data fidelity. A direct FIX integration is a significant engineering undertaking, requiring specialized FIX engines and a deep understanding of the protocol’s session management and message grammars. However, it provides the system with unadulterated, real-time information directly from the source.

A consolidated feed is easier to implement but may compromise the system’s ability to perform the most time-sensitive analysis. The optimal strategy for a high-performance system will almost invariably involve direct FIX connectivity.

A reflective digital asset pipeline bisects a dynamic gradient, symbolizing high-fidelity RFQ execution across fragmented market microstructure. Concentric rings denote the Prime RFQ centralizing liquidity aggregation for institutional digital asset derivatives, ensuring atomic settlement and managing counterparty risk

Data Ingestion Methodologies Comparison

Methodology Latency Profile Data Granularity Implementation Complexity Strategic Application
Direct FIX Engine Ultra-Low (Microseconds) Raw, Unfiltered Message Data High High-frequency trading, latency-sensitive algorithms, deep liquidity analysis.
Consolidated API Feed Low to Medium (Milliseconds) Normalized, Potentially Abstracted Low to Medium General trade monitoring, less time-critical analysis, retail platforms.
Broker-Provided Platform Medium to High Varies by Provider Low Portfolio management, discretionary trading where sub-millisecond data is not required.
A crystalline sphere, representing aggregated price discovery and implied volatility, rests precisely on a secure execution rail. This symbolizes a Principal's high-fidelity execution within a sophisticated digital asset derivatives framework, connecting a prime brokerage gateway to a robust liquidity pipeline, ensuring atomic settlement and minimal slippage for institutional block trades

The Processing and Analysis Core

Once the data is ingested, it must be processed and analyzed in real time. This is the domain of stream processing engines. Technologies like Apache Kafka, coupled with stream processing frameworks such as Apache Flink or Spark Streaming, form the strategic core of the system.

A stream processing engine allows for the continuous computation of metrics on the data as it flows through the system, without the need to first store it in a traditional database. This is essential for maintaining a live, intra-day view of an order’s state.

Stream processing engines enable continuous, in-flight analysis of execution data, forming the computational heart of the real-time system.

The strategic advantage of a stream processing architecture is its ability to perform stateful analysis. The system can maintain the current state of an order ▴ such as the cumulative quantity filled ( CumQty ) and the volume-weighted average price (VWAP) ▴ and update it with each new partial fill message. This allows for the immediate calculation of key performance indicators (KPIs) for the order’s execution. Based on these live metrics, a set of strategic decisions can be triggered:

  • Re-routing ▴ If the fill rate at a particular venue drops below a set threshold, a smart order router (SOR) can be triggered to route the remaining portion of the order ( LeavesQty ) to a different liquidity pool.
  • Re-pricing ▴ If the market moves against the order’s limit price, the system can alert the trading algorithm to consider replacing the order with a new price.
  • Pacing Adjustment ▴ For large orders that need to be worked over time (e.g. using a TWAP or VWAP algorithm), the real-time fill data can be used to adjust the pace of execution to minimize market impact.
  • Cancellation ▴ In response to adverse market conditions or the detection of predatory trading activity, the system can trigger an immediate cancellation of the remaining order.

This ability to react to partial fill information in real time transforms the execution process from a passive “fire-and-forget” action into a dynamic, responsive dialogue with the market. The analysis system becomes an integral part of the execution algorithm itself, providing the feedback loop necessary for intelligent and adaptive trading.


Execution

Close-up of intricate mechanical components symbolizing a robust Prime RFQ for institutional digital asset derivatives. These precision parts reflect market microstructure and high-fidelity execution within an RFQ protocol framework, ensuring capital efficiency and optimal price discovery for Bitcoin options

The Operational Playbook

Implementing a real-time partial fill analysis system is a multi-stage process that requires a disciplined approach to system design and integration. The following playbook outlines the critical steps from data acquisition to analytical output.

  1. FIX Engine Deployment and Configuration ▴ The first operational step is to deploy a robust FIX engine. This software component is responsible for establishing and maintaining persistent sessions with exchange gateways or broker FIX servers. Configuration involves loading the correct FIX dictionary (e.g. FIX 4.2, 4.4, 5.0 SP2) for each connection and setting up the session-layer parameters, such as SenderCompID and TargetCompID. The engine must be configured to listen for and parse incoming ExecutionReport (MsgType 8) messages, which are the primary carriers of fill information.
  2. Stream Processor Integration ▴ The parsed FIX messages must be immediately published to a message queue or stream-processing platform. Apache Kafka is the industry standard for this purpose due to its high throughput and durability. A dedicated Kafka topic should be created for the raw execution reports. A stream processing application, built using a framework like Kafka Streams or Apache Flink, will subscribe to this topic. This application is where the core business logic resides.
  3. Stateful Analysis and Enrichment ▴ The stream processor’s primary task is to perform stateful analysis. For each unique order (identified by ClOrdID or a composite key), the application must maintain its current state. When a new ExecutionReport arrives with ExecType =’F’ (Trade), the processor updates the state variables for that order ▴ it adds the LastQty to the CumQty, recalculates the AvgPx, and decrements the LeavesQty. This state can be enriched with other data, such as market data at the time of the fill, to provide deeper context.
  4. Data Persistence and Indexing ▴ While the primary analysis happens in-stream, the processed and enriched data must be persisted for historical analysis, auditing, and ad-hoc querying. An in-memory database or a time-series database is ideal for this purpose. Technologies like Redis, kdb+, or InfluxDB provide the low-latency query performance required. The data should be indexed by key fields such as ClOrdID, Symbol, and TransactTime to allow for rapid retrieval.
  5. Visualization and Alerting Layer ▴ The final component is the user-facing application. This could be a dashboard that visualizes the state of all working orders in real time, showing fill rates, VWAP slippage, and other KPIs. This layer will query the persistence store to populate its views. An alerting mechanism must also be integrated, capable of pushing notifications (e.g. via email, SMS, or a desktop alert) when predefined thresholds are breached, such as a fill rate dropping precipitously or a significant deviation from the benchmark VWAP.
A precision engineered system for institutional digital asset derivatives. Intricate components symbolize RFQ protocol execution, enabling high-fidelity price discovery and liquidity aggregation

Quantitative Modeling and Data Analysis

The quantitative core of the system is its ability to accurately model the state of an order as it is being filled. This involves parsing specific fields from the FIX ExecutionReport messages and using them to update a state model for each active order. The table below simulates the flow of ExecutionReport messages for a single parent order to buy 100,000 shares of a stock (Order ID ▴ XYZ-001 ).

A sleek, futuristic institutional grade platform with a translucent teal dome signifies a secure environment for private quotation and high-fidelity execution. A dark, reflective sphere represents an intelligence layer for algorithmic trading and price discovery within market microstructure, ensuring capital efficiency for digital asset derivatives

Simulated Real-Time Fill Data Feed for Order XYZ-001

Timestamp ExecID ExecType OrdStatus LastQty LastPx CumQty AvgPx LeavesQty Venue
10:30:00.105 E1 0 (New) 0 (New) 0 0 0 0 100,000 ARCA
10:30:01.215 E2 F (Trade) 1 (Partial Fill) 5,000 100.01 5,000 100.0100 95,000 ARCA
10:30:01.218 E3 F (Trade) 1 (Partial Fill) 10,000 100.02 15,000 100.0167 85,000 ARCA
10:30:02.540 E4 F (Trade) 1 (Partial Fill) 15,000 100.03 30,000 100.0233 70,000 BATS
10:30:03.112 E5 F (Trade) 1 (Partial Fill) 20,000 100.02 50,000 100.0220 50,000 DARK-X
10:30:04.350 E6 F (Trade) 2 (Filled) 50,000 100.04 100,000 100.0310 0 ARCA

The calculation for the evolving AvgPx (volume-weighted average price) after each partial fill is critical. The formula is:

New_AvgPx = ((Old_AvgPx Old_CumQty) + (LastPx LastQty)) / (Old_CumQty + LastQty)

For example, after the execution E3, the AvgPx is calculated as ((100.01 5000) + (100.02 10000)) / (5000 + 10000) = 100.0167. This real-time calculation provides the trader or algorithm with immediate feedback on the execution cost, allowing for comparison against benchmarks like the arrival price or the interval VWAP.

Precision-engineered institutional-grade Prime RFQ component, showcasing a reflective sphere and teal control. This symbolizes RFQ protocol mechanics, emphasizing high-fidelity execution, atomic settlement, and capital efficiency in digital asset derivatives market microstructure

Predictive Scenario Analysis

Consider a portfolio manager at an institutional asset management firm who needs to liquidate a 500,000-share position in a small-cap, relatively illiquid stock, “INNOVATECH.” The firm’s partial fill analysis system is integrated with its Execution Management System (EMS) and a Smart Order Router (SOR). The goal is to execute the trade within a 30-minute window without causing significant market impact, using the market’s volume-weighted average price (VWAP) for the period as the benchmark.

At 14:00:00 EST, the trader initiates a VWAP algorithm to sell the 500,000 shares. The SOR begins by routing child orders to the primary listing exchange, NYSE. The first ExecutionReport messages start streaming into the analysis system.

For the first five minutes, the fill rate is consistent, tracking the market volume as expected. The system’s dashboard shows the order is 15% complete, and the execution price is tracking the benchmark VWAP with a slippage of only +$0.01.

At 14:05:30 EST, the system detects a change. The rate of partial fills from NYSE slows dramatically. A flurry of small fills, just 100 shares each, are reported, and the LeavesQty is decreasing at a much slower pace than before. The analysis engine’s logic identifies this pattern as potential liquidity exhaustion at the current price level on the lit market.

The system calculates the “fill rate decay,” a proprietary metric, and flashes an amber alert on the trader’s dashboard. The system projects that at the current rate, the order will not be completed within the 30-minute window and the prolonged pressure on the lit market is likely to cause price depression, leading to negative slippage.

Based on this real-time analysis, the integrated SOR automatically adjusts its strategy. At 14:06:00 EST, it stops sending new child orders to NYSE and instead begins pinging several dark pools with immediate-or-cancel (IOC) orders for larger blocks of 10,000 shares. At 14:06:15 EST, the system receives an ExecutionReport for a 10,000-share fill from the DARK-Y venue at a price of $25.50, which is mid-spread and superior to the last fills on the lit market. The SOR, validated by this successful execution, directs a larger portion of the remaining order to DARK-Y. Over the next ten minutes, the system processes a series of large block fills from multiple dark venues.

The dashboard shows the fill rate accelerating rapidly, and the average execution price improves. The order is completed at 14:18:22 EST, well within the target window and with a final positive slippage of +$0.005 against the interval VWAP. The post-trade report, generated automatically by the system, clearly shows the inflection point where the strategy shifted from lit to dark venues, demonstrating the value of the real-time partial fill analysis in achieving superior execution quality.

Precision-engineered institutional-grade Prime RFQ modules connect via intricate hardware, embodying robust RFQ protocols for digital asset derivatives. This underlying market microstructure enables high-fidelity execution and atomic settlement, optimizing capital efficiency

System Integration and Technological Architecture

The technological foundation of a real-time partial fill analysis system is an architecture designed for high-throughput, low-latency data processing. The system can be visualized as a multi-stage pipeline where data flows from exchanges to the analysis engine.

The architecture consists of the following integrated components:

  • Connectivity Layer ▴ This layer manages the physical and logical connections to data sources. It includes network hardware and software for connecting to exchange gateways and broker FIX servers. Direct market access (DMA) lines are often used to minimize network latency.
  • FIX Engine ▴ A dedicated software component, such as OnixS, CameronFIX, or a custom-built engine, that handles the session and application layers of the FIX protocol. It is responsible for parsing incoming messages and extracting key data fields.
  • Message Bus/Stream Processor ▴ This is the system’s central nervous system. A distributed message bus like Apache Kafka ingests the raw data from the FIX engine. A stream processing application built on a framework like Apache Flink or Kafka Streams subscribes to the data stream and performs the real-time stateful calculations.
  • Persistence Layer ▴ An in-memory or time-series database (e.g. kdb+, Redis, InfluxDB) stores the enriched data from the stream processor. This database is optimized for fast writes and time-based queries, allowing the front-end to retrieve historical and real-time data efficiently.
  • Analysis and Decision Engine ▴ This is the “brain” of the system. It can be a standalone application or a module within the EMS that subscribes to the processed data stream. It houses the logic for generating alerts, triggering automated actions through the SOR, and calculating advanced analytics like fill rate decay or market impact models.
  • Presentation Layer ▴ A user interface, typically a web-based dashboard, that visualizes the real-time state of orders. It queries the persistence layer and presents the information through charts, tables, and alerts, providing a comprehensive view of execution performance.

Integration between these components is typically achieved through well-defined APIs and data formats, such as Avro or Protobuf for serialization within Kafka. The Order Management System (OMS) and Execution Management System (EMS) are key integration points. The analysis system needs to query the OMS to retrieve initial order details and must be able to send commands to the EMS/SOR to alter the execution strategy based on its findings.

Sleek, modular system component in beige and dark blue, featuring precise ports and a vibrant teal indicator. This embodies Prime RFQ architecture enabling high-fidelity execution of digital asset derivatives through bilateral RFQ protocols, ensuring low-latency interconnects, private quotation, institutional-grade liquidity, and atomic settlement

References

  • Cherid, A. & Ziani, A. (2018). Real-time processing of massive data streams. International Journal of Big Data Intelligence, 5(4), 235-246.
  • FIX Trading Community. (2009). FIX Protocol Version 5.0 Service Pack 2. FIX Protocol Ltd.
  • Harris, L. (2003). Trading and Exchanges ▴ Market Microstructure for Practitioners. Oxford University Press.
  • Stone, H. S. & C. A. (2013). The 8 Requirements of Real-Time Stream Processing. Brown University Computer Science.
  • Lehalle, C. A. & Laruelle, S. (2013). Market Microstructure in Practice. World Scientific Publishing.
  • Aldridge, I. (2013). High-Frequency Trading ▴ A Practical Guide to Algorithmic Strategies and Trading Systems. John Wiley & Sons.
  • Gomber, P. & Gsell, M. (2006). The Role of the Order Book in Modern Financial Markets. Gabler.
  • O’Hara, M. (1995). Market Microstructure Theory. Blackwell Publishing.
A precision-engineered metallic component displays two interlocking gold modules with circular execution apertures, anchored by a central pivot. This symbolizes an institutional-grade digital asset derivatives platform, enabling high-fidelity RFQ execution, optimized multi-leg spread management, and robust prime brokerage liquidity

Reflection

A precision-engineered interface for institutional digital asset derivatives. A circular system component, perhaps an Execution Management System EMS module, connects via a multi-faceted Request for Quote RFQ protocol bridge to a distinct teal capsule, symbolizing a bespoke block trade

From Data Points to a System of Intelligence

The construction of a real-time partial fill analysis system is a profound exercise in system architecture. It compels a firm to look beyond the individual components ▴ the FIX engine, the database, the user interface ▴ and consider the holistic flow of information. The true value is unlocked when these prerequisites are integrated into a single, coherent system of intelligence, a framework that provides not just data, but context and control. The ultimate goal is to create a feedback loop where the market’s response to an order directly informs the subsequent actions taken to complete that order.

Reflecting on your own operational framework, consider the latency of your decision-making process. How long does it take for the knowledge of a partial fill to travel from the exchange to the decision-maker, whether human or machine? In that gap, however small, lies risk and missed opportunity. The journey toward a real-time analytical capability is a journey toward compressing that gap to its absolute minimum, transforming your execution process into a more adaptive and resilient system.

A sophisticated metallic mechanism, split into distinct operational segments, represents the core of a Prime RFQ for institutional digital asset derivatives. Its central gears symbolize high-fidelity execution within RFQ protocols, facilitating price discovery and atomic settlement

Glossary

A central split circular mechanism, half teal with liquid droplets, intersects four reflective angular planes. This abstractly depicts an institutional RFQ protocol for digital asset options, enabling principal-led liquidity provision and block trade execution with high-fidelity price discovery within a low-latency market microstructure, ensuring capital efficiency and atomic settlement

Partial Fill

Meaning ▴ A Partial Fill denotes an order execution where only a portion of the total requested quantity has been traded, with the remaining unexecuted quantity still active in the market.
An intricate, transparent digital asset derivatives engine visualizes market microstructure and liquidity pool dynamics. Its precise components signify high-fidelity execution via FIX Protocol, facilitating RFQ protocols for block trade and multi-leg spread strategies within an institutional-grade Prime RFQ

Partial Fill Analysis

Meaning ▴ Partial Fill Analysis constitutes the systematic examination of individual order executions that do not complete the full requested quantity in a single transaction, focusing on the characteristics of each executed tranche.
A sleek, angular Prime RFQ interface component featuring a vibrant teal sphere, symbolizing a precise control point for institutional digital asset derivatives. This represents high-fidelity execution and atomic settlement within advanced RFQ protocols, optimizing price discovery and liquidity across complex market microstructure

Analysis System

Pre-trade analysis is the predictive blueprint for an RFQ; post-trade analysis is the forensic audit of its execution.
A complex, multi-layered electronic component with a central connector and fine metallic probes. This represents a critical Prime RFQ module for institutional digital asset derivatives trading, enabling high-fidelity execution of RFQ protocols, price discovery, and atomic settlement for multi-leg spreads with minimal latency

Executionreport

Meaning ▴ An ExecutionReport is a critical message detailing the current status and lifecycle events of an order within an electronic trading system.
A central RFQ engine orchestrates diverse liquidity pools, represented by distinct blades, facilitating high-fidelity execution of institutional digital asset derivatives. Metallic rods signify robust FIX protocol connectivity, enabling efficient price discovery and atomic settlement for Bitcoin options

Stream Processing

Meaning ▴ Stream Processing refers to the continuous computational analysis of data in motion, or "data streams," as it is generated and ingested, without requiring prior storage in a persistent database.
This visual represents an advanced Principal's operational framework for institutional digital asset derivatives. A foundational liquidity pool seamlessly integrates dark pool capabilities for block trades

Apache Kafka

Meaning ▴ Apache Kafka functions as a distributed streaming platform, engineered for publishing, subscribing to, storing, and processing streams of records in real time.
A central, metallic, multi-bladed mechanism, symbolizing a core execution engine or RFQ hub, emits luminous teal data streams. These streams traverse through fragmented, transparent structures, representing dynamic market microstructure, high-fidelity price discovery, and liquidity aggregation

Volume-Weighted Average Price

Meaning ▴ The Volume-Weighted Average Price represents the average price of a security over a specified period, weighted by the volume traded at each price point.
A transparent sphere, representing a granular digital asset derivative or RFQ quote, precisely balances on a proprietary execution rail. This symbolizes high-fidelity execution within complex market microstructure, driven by rapid price discovery from an institutional-grade trading engine, optimizing capital efficiency

Smart Order Router

Meaning ▴ A Smart Order Router (SOR) is an algorithmic trading mechanism designed to optimize order execution by intelligently routing trade instructions across multiple liquidity venues.
A dynamic composition depicts an institutional-grade RFQ pipeline connecting a vast liquidity pool to a split circular element representing price discovery and implied volatility. This visual metaphor highlights the precision of an execution management system for digital asset derivatives via private quotation

Fill Rate

Meaning ▴ Fill Rate represents the ratio of the executed quantity of a trading order to its initial submitted quantity, expressed as a percentage.
A beige, triangular device with a dark, reflective display and dual front apertures. This specialized hardware facilitates institutional RFQ protocols for digital asset derivatives, enabling high-fidelity execution, market microstructure analysis, optimal price discovery, capital efficiency, block trades, and portfolio margin

Fill Data

Meaning ▴ Fill Data constitutes the granular, post-execution information received from an exchange or liquidity provider, confirming the successful completion of an order or a segment thereof.
A precision institutional interface features a vertical display, control knobs, and a sharp element. This RFQ Protocol system ensures High-Fidelity Execution and optimal Price Discovery, facilitating Liquidity Aggregation

Real-Time Partial

Real-time data empowers an algorithm to dynamically recalibrate its execution strategy in response to a partial fill.
A macro view reveals a robust metallic component, signifying a critical interface within a Prime RFQ. This secure mechanism facilitates precise RFQ protocol execution, enabling atomic settlement for institutional-grade digital asset derivatives, embodying high-fidelity execution

Fix Engine

Meaning ▴ A FIX Engine represents a software application designed to facilitate electronic communication of trade-related messages between financial institutions using the Financial Information eXchange protocol.
A central Principal OS hub with four radiating pathways illustrates high-fidelity execution across diverse institutional digital asset derivatives liquidity pools. Glowing lines signify low latency RFQ protocol routing for optimal price discovery, navigating market microstructure for multi-leg spread strategies

Direct Market Access

Meaning ▴ Direct Market Access (DMA) enables institutional participants to submit orders directly into an exchange's matching engine, bypassing intermediate broker-dealer routing.
Sleek Prime RFQ interface for institutional digital asset derivatives. An elongated panel displays dynamic numeric readouts, symbolizing multi-leg spread execution and real-time market microstructure

Fix Protocol

Meaning ▴ The Financial Information eXchange (FIX) Protocol is a global messaging standard developed specifically for the electronic communication of securities transactions and related data.
A metallic disc intersected by a dark bar, over a teal circuit board. This visualizes Institutional Liquidity Pool access via RFQ Protocol, enabling Block Trade Execution of Digital Asset Options with High-Fidelity Execution

Stream Processing Application Built

Stream processing manages high-volume data flows; complex event processing detects actionable patterns within those flows.
A metallic rod, symbolizing a high-fidelity execution pipeline, traverses transparent elements representing atomic settlement nodes and real-time price discovery. It rests upon distinct institutional liquidity pools, reflecting optimized RFQ protocols for crypto derivatives trading across a complex volatility surface within Prime RFQ market microstructure

Order Management System

Meaning ▴ A robust Order Management System is a specialized software application engineered to oversee the complete lifecycle of financial orders, from their initial generation and routing to execution and post-trade allocation.