Direct Answer
Intraday position reconciliation compares the OMS's view of current positions against what the prime broker or custodian reports, multiple times throughout the trading day. The comparison identifies breaks, symbol-level discrepancies between OMS and broker quantities. Breaks discovered during the trading day can often be corrected in real time: a missing fill can be chased, an erroneous position update can be reversed, and trading can be suspended for an affected account while the investigation proceeds.
Breaks discovered at end of day are more expensive: the trading window has closed, positions have been marked to market, risk reports have run, and regulators expect accurate end-of-day snapshots. Every hour a break goes undetected during the day is an hour of risk decisions made against incorrect position data. Intraday reconciliation is not an operational luxury. It is how firms maintain position integrity in real time.
Key Takeaways
- Run reconciliation every 30-60 minutes during market hours: Waiting until end of day means all breaks accumulate and compete for the same investigation resources in a compressed window.
- Most intraday breaks are timing artifacts: The majority of breaks discovered in the first few reconciliation cycles are due to systems processing the same event at slightly different times, not actual errors.
- Persistence distinguishes real breaks from timing: A break that appears in three consecutive reconciliation cycles despite no recent order activity in that symbol is very likely a real error, not a timing artifact.
- Snapshot timestamps are essential: Without knowing when the broker's position snapshot was taken. It is impossible to determine which recent fills should or should not be reflected in it.
- Quantity breaks are higher priority than price breaks: A difference in share count affects risk limits and compliance checks immediately. A price difference affects P&L but not position risk directly.
- Automated break detection, manual investigation: The reconciliation engine should automatically classify and route breaks; the investigation and resolution requires human judgment and access to both systems' transaction logs.
- Corporate actions cause legitimate temporary breaks: Stock splits, dividends, and rights issues may be applied by the broker and OMS at different times, creating legitimate reconciliation breaks that require a different resolution workflow than fill-related breaks.
- Intraday reconciliation feeds the risk system: The reconciliation engine should update the risk system's position view with the reconciled (broker-confirmed) position after each successful reconciliation cycle, not just the OMS's internally computed view.
Core Concepts
The reconciliation cycle
An intraday reconciliation cycle has five steps: (1) snapshot the OMS's current positions for all accounts at a specific timestamp; (2) receive the broker's position snapshot, also timestamped; (3) align the two snapshots, matching by account, symbol, and side; (4) compute the difference for each matched pair; (5) classify each difference as a break or an expected timing difference and route it to the appropriate queue.
Snapshot timing is the most operationally sensitive part. If the OMS snapshot is taken at 10:00:00 and the broker snapshot at 10:01:00, any fill that arrived between those two timestamps will appear in the broker's snapshot but not the OMS's, creating a false break. The reconciliation engine must apply a timestamp tolerance, typically 5 minutes, within which differences are treated as potentially timing-related and monitored but not immediately escalated.
Cycle frequency should be calibrated to trading activity. A desk doing 50 trades per hour needs more frequent reconciliation cycles than a desk doing 5. The cost of a reconciliation cycle (database queries, broker API calls, comparison logic) must be weighed against the risk cost of delayed break detection. Most desks target 15-minute cycles during peak trading hours and 30-60 minute cycles during quieter periods.
Evidence to retain: every reconciliation cycle produces a snapshot comparison record, the OMS position, broker position, computed difference, timestamp, and classification for every symbol in every account. This record is an operations audit trail. If a break is later investigated and found to have been caused by a fill that the OMS missed, the reconciliation records show when the break first appeared, how large it was, and how long it persisted.
Break classification
Not all breaks are created equal, and classifying them correctly at detection time is what allows operations teams to prioritize effectively. The primary classification dimensions are: cause (timing, missing fill, erroneous position update, corporate action, manual error), size (small <100 shares, medium 100-1000 shares, large >1000 shares), direction (OMS long vs. broker long: are we over or under-stating position?), and age (new this cycle, persisted 1 cycle, persisted 2+ cycles).
A timing break is defined by its characteristics: it appeared in the same cycle as a recent fill for the same symbol in the same account, the difference equals or closely approximates the fill quantity, and it has not appeared in prior cycles for the same symbol. These will self-resolve in 1-2 cycles as the fill propagates through both systems.
A real break has different characteristics: it persists across cycles with no recent fill activity that could explain it, or the difference does not match any recent fill quantity, or it appeared suddenly without any corresponding order activity. These require immediate investigation.
Corporate action breaks are identified by their timing relative to the record date or ex-date of a corporate action, and by the fact that the difference is a round number that corresponds to the corporate action ratio (e.g., a 2-for-1 split creates a break equal to the pre-split position if one system has applied the split and the other has not).
Data sources for intraday position feeds
Prime brokers provide intraday position data through several mechanisms, each with different latency and granularity characteristics. FIX-based allocation and position reporting provides near-real-time fills and confirmations that can be used to maintain a running broker-side position view without waiting for periodic snapshots. Some primes also provide streaming position updates via their proprietary APIs, giving sub-second position refreshes.
Most operations teams cannot rely solely on streaming data because it requires maintaining a stateful position model on both sides. Periodic position snapshots, files delivered every 15-30 minutes via SFTP, or API responses from the prime's portal, provide a clean point-in-time reference that the reconciliation engine can compare against its own snapshot without worrying about missed streaming events.
The gold standard for intraday reconciliation uses both: streaming updates to maintain a running real-time comparison, and periodic snapshots to catch any gaps in the stream. Streaming updates catch breaks within minutes; periodic snapshots catch breaks that the stream missed due to connectivity issues or message drops.
The cost model for break detection delay
The operational cost of a break increases with the time between occurrence and detection. A fill the OMS missed at 10:00 creates a position break. If detected by 10:30, operations can contact the EMS, verify the fill, manually book it, and continue trading for the account without interruption. If detected at end of day, the position error has been used for 6.5 hours of risk checks, compliance checks, and P&L calculations, all of which may need to be restated. In extreme cases, the firm may have traded the account against incorrect position data, resulting in a limit breach or short-selling violation.
The financial cost is also higher for late detection. Correcting a position at end of day may require a corrective trade after market close (at a spread penalty), whereas correcting it at 10:30 can be done through normal market hours trading at tighter spreads. Break detection delay has a real, measurable cost that justifies the operational investment in intraday reconciliation infrastructure.
Worked Scenario
Operations runs a reconciliation cycle at 11:00 AM. OMS shows Account 47 long 25,000 SPY. Broker snapshot (timestamped 10:58) shows Account 47 long 27,500 SPY. Break: 2,500 shares OMS understated.
- Break logged: Engine records break: Account 47, SPY, OMS=25,000, Broker=27,500, Difference=-2,500, Timestamp=11:00, Age=1 cycle.
- Initial classification: Check for recent fills in Account 47 SPY. Order log shows B-0471 for 2,500 SPY submitted at 10:45, sent to EMS. No fill execution report received by OMS.
- Timing break hypothesis: Difference of exactly 2,500 matches pending order quantity. Broker's snapshot at 10:58 includes the fill. OMS has not received the execution report. Classified as "timing, pending fill."
- Next cycle at 11:30: OMS still shows 25,000, Broker shows 27,500. Break persists. Fill execution report still not received. Break age: 2 cycles. Reclassified to "escalated, missing execution report."
- Operations investigates: Contact EMS team. EMS confirms order B-0471 was fully filled at 10:46:30 at $524.10 but the FIX execution report was dropped due to a session recovery issue. EMS resends the execution report.
- OMS processes report: Fill booked at 10:46:30 (backdated), position updated to 27,500. P&L adjusted for the 44-minute gap during which the position was understated.
- Next cycle at 12:00: OMS=27,500, Broker=27,500. Break resolved. Incident logged for root cause analysis of the FIX session drop.
Measurement Framework
| Measurement | Question it answers |
|---|---|
| Break detection rate per cycle | How many breaks are detected per reconciliation cycle? A rising trend indicates increasing system quality issues; a stable nonzero rate indicates chronic timing or data quality problems. |
| Timing break self-resolution rate | What fraction of breaks classified as timing self-resolve in the next cycle? Should be >90%. Lower rate suggests misclassification or real errors being labeled as timing. |
| Mean time to break resolution | How long from break detection to confirmed resolution (both sides matching)? Target: <2 hours for breaks detected before 2 PM, <30 minutes for breaks detected after 3 PM. |
| Break recurrence rate | What fraction of resolved breaks recur for the same symbol/account pair within 5 trading days? High recurrence indicates a systemic data quality issue, not a one-off error. |
| End-of-day break carryover | How many breaks from intraday remain unresolved at end of day? Target: zero. Any carryover feeds into EOD reconciliation with compounded investigation burden. |
| Missed fill rate | What fraction of intraday breaks are caused by missing execution reports? This metric should trend toward zero as FIX session reliability improves. |
Common Failure Modes
Snapshot timestamp mismatch
When the OMS and broker snapshots are taken at different times without timestamps being communicated, the reconciliation engine cannot distinguish timing breaks from real breaks. Every fill that occurred between the two snapshot times appears as a break. Operations teams waste time investigating apparent breaks that are simply processing-time differences.
Fix: both sides must include a precise snapshot timestamp in their position data. The reconciliation engine applies the timestamp difference when filtering which fills could explain an apparent discrepancy.
Reconciliation engine not consuming broker corporate action adjustments
When a corporate action (stock split, dividend reinvestment, rights issuance) is processed by the broker, the broker's position snapshot reflects the adjusted quantities. If the reconciliation engine does not have access to the corporate action calendar and adjustment factors, it will interpret the adjusted broker position as a break. The operations team will spend time investigating what is actually an expected, correct adjustment.
Fix: the reconciliation engine must consume the corporate action feed from the same source used by the OMS position system, and must apply the same adjustment logic when comparing positions around ex-dates and payment dates.
Break aging not triggering escalation
Operations teams often configure reconciliation alerts for breaks above a size threshold but fail to configure alerts for break age. A small break (100 shares) that persists for 6 hours is almost certainly a real error, not a timing artifact, but if there is no age-based escalation rule, it will sit in the queue behind larger, newer breaks. By end of day, a small persistent break that could have been resolved in the morning becomes an EOD investigation item.
Reconciliation data not feeding the risk system
If the risk system uses the OMS's internally computed position rather than the reconciled (broker-confirmed) position, it will enforce limits against data that may be incorrect. A position break means the risk system is working with wrong data. The reconciliation engine should write its agreed positions to the risk system's position store after each successful cycle, so that risk limits are enforced against the most accurate data available.
Manual break resolution creating audit gaps
When operations manually resolves a break by writing a correcting fill directly to the OMS position database, without going through the state machine and audit trail, the resolution is invisible to automated processes. The position changes without a recorded cause. The next reconciliation cycle may not detect the previous break as resolved because the system's event log shows no resolution event. Worse, if the manual correction is wrong, there is no trail to identify who made it or why.
Frequently Asked Questions
What is intraday position reconciliation?
Intraday position reconciliation is the process of comparing the OMS's internally computed position records against positions reported by the prime broker or custodian during the trading day. The goal is to catch discrepancies, called breaks, before end of day, when they are easier and cheaper to investigate and correct. Most institutional operations teams run intraday reconciliation every 30 to 60 minutes during market hours.
What causes intraday position breaks?
Common causes include: fills received at the broker but not yet acknowledged by the OMS (timing breaks), fills that the OMS processed but the broker did not receive or book correctly, trade busts that one side processed but the other has not yet, corporate actions (dividends, splits) applied differently by the OMS and broker, and manual corrections made in one system but not reflected in the other. Most intraday breaks are timing-related and self-resolve by end of day.
How does the OMS receive broker position data for intraday reconciliation?
Brokers typically provide intraday position data via FIX (using Allocation Instruction and Confirmation messages), via proprietary API feeds, or via SFTP file drops at regular intervals (every 15-30 minutes). Some prime brokers provide streaming position updates via WebSocket or proprietary protocols. The OMS subscribes to these feeds and runs a comparison against its own position snapshot at each refresh.
What is a timing break and how is it distinguished from a real break?
A timing break is a discrepancy caused by different systems processing the same event at different times. If a fill arrived at the broker at 10:00:45 but the OMS's reconciliation snapshot was taken at 10:00:30, the broker's position includes the fill while the OMS's does not, creating a temporary break that will self-resolve when the fill is processed. Timing breaks are typically identified by their small size, their connection to recent order activity, and their tendency to disappear in the next reconciliation cycle.
What are the consequences of not running intraday reconciliation?
Without intraday reconciliation, position breaks accumulate throughout the day undetected. Risk limits are enforced against incorrect position data, potentially allowing over-concentration or limit breaches. End-of-day reconciliation discovers all accumulated breaks simultaneously, overwhelming the operations team's capacity to investigate and resolve them before settlement deadlines. Large breaks discovered after market close are more expensive to resolve, the position cannot be corrected by a trade that day.
What is a position snapshot and how is it used in reconciliation?
A position snapshot is a point-in-time record of all positions in all accounts, taken at a specific timestamp. Reconciliation compares the OMS snapshot to the broker snapshot at the same timestamp. Because the two systems may capture their snapshots at slightly different times, reconciliation logic must account for expected timing differences, typically a 1-5 minute tolerance window, before flagging a discrepancy as a break.
How should breaks be prioritized for investigation?
Breaks are prioritized by: (1) size, breaks in large positions or large dollar amounts first; (2) risk impact, breaks in concentrated positions or near limit thresholds; (3) age, breaks that persist across multiple reconciliation cycles are more likely to be real errors than timing artifacts; (4) type, quantity breaks (different share count) are generally more urgent than price breaks (same shares, different price). Most operations teams have an SLA requiring all breaks above a threshold to be investigated within 2 hours of detection.
What data does the OMS need from the broker for intraday reconciliation?
The minimum dataset needed per account per symbol: long quantity, short quantity, snapshot timestamp, and the broker's last fill or transaction included in the snapshot. Additional useful fields: average cost basis (for comparison against OMS cost basis), unsettled quantity (for cash reconciliation), and any pending corporate action adjustments. Without the snapshot timestamp. It is impossible to determine whether a discrepancy is a timing break or a real error.
How frequently should intraday reconciliation run, and what constrains the interval?
The useful interval is short enough that a break is caught before it compounds and long enough that the position endpoint is not being polled past its rate limit. Trading frequency matters most: a system placing orders continuously accumulates divergence faster than one trading a few times a day. Broker snapshot freshness is the other constraint, since reconciling more often than the counterparty updates its own view produces timing differences rather than information.
References
- SIFMA Operations, Settlement and Clearing Guidance: Industry guidance on position reconciliation standards for broker-dealers and investment managers.
- DTCC Reconciliation and Data Management Services: Describes DTCC's institutional reconciliation infrastructure used by prime brokers and custodians.
- SEC Rule 15c3-3: Customer Protection Rule: Requires broker-dealers to accurately maintain customer position records, creating the regulatory basis for reconciliation obligations.
- FINRA Rule 4160: Verification of Assets: Requires periodic verification and reconciliation of customer assets held by member firms.
Educational Disclaimer
This guide is for educational purposes only and does not constitute financial, legal, or compliance advice. Reconciliation requirements vary by firm type, jurisdiction, and regulatory registration. Consult qualified professionals for specific operational guidance.