Smart Order Router¶
OVERVIEW¶
A smart order router (SOR) is the software layer sitting between a broker's order-entry system and the fragmented landscape of U.S. equity trading venues. Every time a trader submits an order through Tapeboard, the SOR determines in microseconds where that order — or a slice of it — gets sent for execution.
Note
Reg NMS Rule 611 (the Order Protection Rule) prohibits trading through a better price displayed at any other venue. No single exchange can satisfy this requirement alone, making SOR infrastructure mandatory for compliant order routing.
Tapeboard's terminal surfaces SOR behavior, fill attribution, and venue-level execution data directly in the order blotter, giving active traders visibility that standard retail interfaces hide entirely.
HOW IT WORKS¶
A router's decision loop evaluates four core inputs on every order:
| Input | Description |
|---|---|
| Real-time NBBO | Consolidated best bid/offer aggregated across all lit venues |
| Fee schedules | Maker-taker or taker-maker rates per venue |
| Venue statistics | Historical fill rate and latency per exchange or ATS |
| Order parameters | Type, size, and any time-in-force constraints |
Routing sequence:
- Check the consolidated NBBO across all displayed quotes
- Fill the marketable portion against venues quoting at or better than the NBBO, up to each venue's displayed size
- Route any non-marketable residual to the venue offering the best combination of expected price improvement and rebate
- Re-evaluate and re-route any unfilled remainder after a configurable timeout
Tip
Wholesale market makers such as Citadel Securities or Virtu frequently quote sub-penny price improvement on retail-sized orders. The SOR routes to these internalizers when the net fill is better than splitting across lit exchanges.
WORKED EXAMPLE¶
Scenario: A buy order for 500 shares of SPY arrives with the public NBBO showing a $555.00 ask — 300 shares on NYSE Arca and 400 on Nasdaq. A wholesaler simultaneously quotes $554.995 for the full 500-share size.
| Route | Fill Price | Shares | Total Cost |
|---|---|---|---|
| Split across lit venues (Arca + Nasdaq) | $555.000 | 500 | $277,500.00 |
| Internalized via wholesaler | $554.995 | 500 | $277,497.50 |
| Savings | $0.005/share | — | $2.50 |
The customer receives a marginally better fill. The wholesaler captures the spread on flow it can price efficiently, and a portion of that value flows back to the broker as payment for order flow (PFOF).
Note
Tapeboard's execution report panel displays the venue of last fill and any price improvement received versus the NBBO at time of routing.
FEATURES¶
| Feature | Description |
|---|---|
| Venue attribution | Identifies which exchange, dark pool, or wholesaler filled each order |
| NBBO overlay | Displays the consolidated best bid/offer at time of order submission |
| Price improvement indicator | Shows per-order savings or cost versus the prevailing NBBO |
| Fill quality score | Aggregates venue latency and fill-rate history into a single routing quality metric |
| Algo integration | Exposes routing hooks for TWAP and VWAP execution algorithms |
Tip
Institutions running TWAP or VWAP strategies should configure custom routing logic in Settings → Execution → Order Routing to override the default SOR and manage market impact on large orders.
HOW TO USE¶
Viewing SOR data in Tapeboard:
- Submit any order through the order entry panel
- Open the Order Blotter (
Ctrl+B/Cmd+B) - Click any filled order row to expand the execution detail panel
- Review the Venue, Fill Price, and Price Improvement columns
- Access aggregate routing statistics under Analytics → Execution Quality
Configuring routing preferences:
- Navigate to Settings → Execution → Order Routing
- Select a routing priority:
Best Price,Lowest Latency, orCustom - Enable or disable specific venues and dark pools in the venue allowlist
- Set a re-route timeout threshold in milliseconds
- Save and apply to active sessions
Note
Routing configuration changes apply to new orders only. In-flight orders are not affected.
KEYBOARD SHORTCUTS¶
| Shortcut | Action |
|---|---|
Ctrl+B / Cmd+B |
Open Order Blotter |
Ctrl+E / Cmd+E |
Open Execution Quality dashboard |
Ctrl+R / Cmd+R |
Open Order Routing settings |
Shift+F |
Toggle fill attribution overlay on chart |
Alt+V |
Cycle venue filter in the Order Blotter |
LIMITATIONS¶
Note
An SOR optimizes for whatever objective it is configured to pursue — often net cost to the broker after rebates and fees — which is not automatically identical to fastest execution or best price for the customer on every single order.
| Limitation | Detail |
|---|---|
| Market impact on large orders | A 500,000-share order still moves the tape regardless of how intelligently it is sliced; a plain SOR is not a substitute for a full execution algorithm |
| Best execution is not a guarantee | Regulatory best execution requires seeking the most favorable terms reasonably available, not the objectively best fill that existed anywhere at that instant |
| PFOF conflicts | When broker revenue from PFOF is a routing input, the optimized outcome for the broker and the customer may diverge |
| Latency constraints | Sub-millisecond venue conditions can change between routing decision and order arrival |