Cash equities playbook
Cash equities — the largest asset class by transaction volume in capital markets — produces thousands of trades per day per broker-dealer. Reconciling cash equity trades across multiple execution venues, prime brokers, and custodians requires an automated, real-time pipeline. Falcon Veritas Intelligence (FVI) provides a cash equities playbook purpose-built for the daily trading volume and operational complexity.
Cash equities reconciliation challenges
Cash equities reconciliation involves multiple parties and multiple confirmations:
- Execution venue — the exchange or ATS where the trade was executed (NYSE, NASDAQ, IEX, BATS, EDGX, etc.).
- Executing broker — the broker-dealer that routed the trade.
- Prime broker — the broker-dealer that provides financing and clearing services.
- Custodian — the bank or trust company that safekeeps the position.
- Clearing house — the CCP (DTCC, OCC) that novates the trade.
- Settlement system — the depository (DTCC, Euroclear, Clearstream) that effects settlement.
Each party generates its own trade record, and the records must be matched exactly to avoid fails and breaks.
FVI's cash equities architecture
Step-by-step: enabling cash equities reconciliation
-
Connect execution venues. Wire your venue drop-copy feeds (NYSE, NASDAQ, IEX, BATS, EDGX, AQX, MEMX, etc.) to FVI's ingestion pipeline. FVI supports FIX 4.2/4.4/5.0SP2 drop copies and native ITCH/OUCH for the largest venues.
-
Connect prime brokers. Wire your prime broker confirmations (Goldman Sachs, Morgan Stanley, JPMorgan, UBS, etc.) to FVI's ingestion pipeline. FVI's prime broker adapter normalizes PB-specific file formats into the canonical trade record.
-
Connect custodians. Wire your custodian confirmations (BNY, State Street, Northern Trust, JPMorgan, Citi) to FVI's ingestion pipeline. FVI's custodian adapter normalizes SWIFT MT515/MT535 and proprietary file formats.
-
Configure match rules. Use FVI's cash equities rule template to create deterministic match rules. The template includes field mappings for the standard FIX 4.4 trade fields (ExecID, OrderID, Symbol, Quantity, Price, TradeDate, SettleDate).
-
Enable position reconciliation. Activate the position reconciliation module, which aggregates matched trades by account and reconciles against the custodian's position file at end-of-day.
-
Monitor fails and breaks. FVI's fails dashboard shows all unsettled trades (fails) by security, counterparty, and settlement date. The breaks dashboard shows unmatched trade records with the reason for the mismatch.
Match rule templates
FVI ships with the following cash equities match rule templates:
| Template | Fields matched | Tolerance |
|---|---|---|
| Execution-to-prime broker | ExecID, Symbol, Quantity, Price | Exact |
| Execution-to-custodian | ExecID, Symbol, Quantity, Price, SettleDate | Exact |
| Prime broker aggregation | PB Trade ID, Symbol, Aggregate Quantity | Quantity exact |
| Custodian-to-internal | Custodian Trade ID, Symbol, Quantity | Exact |
Fails management
FVI's fails management module tracks all unsettled trades and surfaces them in the operations dashboard:
The fails dashboard shows:
- Fail rate by security, counterparty, and settlement date
- Fail reasons (DK, NSCC, buy-in, fail tracking)
- Fail aging (T+0, T+1, T+2, etc.)
- Fail cost (DTCC fail fee, lost interest)
Use cases
- Broker-dealers — reconcile trades across execution venues, prime brokers, and custodians.
- Investment managers — reconcile executed trades against prime broker and custodian confirmations.
- Hedge funds — reconcile high-volume trading strategies across multiple PBs.
- Custodians — reconcile trade confirmations across multiple broker-dealers.
- Market makers — reconcile high-frequency trade flow.
Code samples
TypeScript
import { FVI } from '@falconveritas/sdk';
const fvi = new FVI({
baseUrl: 'https://api.falconveritas.com',
bearer: process.env.FVI_JWT!,
tenantId: process.env.FVI_TENANT_ID!,
});
// Get fails dashboard
const fails = await fvi.industries.cashEquities.fails({
tradeDate: '2026-08-22',
});
console.log(`Total fails: ${fails.total_count}`);
console.log(`Fail rate: ${(fails.fail_rate * 100).toFixed(2)}%`);
console.log(`Fail cost: $${fails.total_cost.toLocaleString()}`);
Python
from falconveritas import FVI
client = FVI(
bearer=os.environ["FVI_JWT"],
tenant_id=os.environ["FVI_TENANT_ID"],
)
fails = client.industries.cash_equities.fails(trade_date="2026-08-22")
print(f"Total fails: {fails.total_count}")
print(f"Fail rate: {fails.fail_rate * 100:.2f}%")
print(f"Fail cost: ${fails.total_cost:,.0f}")
Related articles
Last updated: 2026-08-22 · Page owner: Documentation · Source: src/lib/industries/cash-equities/.