Bond Settlement Exception Handling and Reconciliation
Collection
Automated bond trade reconciliation to detect breaks, root causes, and suggest fixes, ensuring accuracy in financial workflows.
•
3 items
•
Updated
Objective
Quickly flag days where a given CUSIP’s settlement fails are in the top‑10% of historic fail values, so ops can investigate and remediate before T+1.
Data & Features
QUANTITY (FAILS)) and price qty_lag1, price_lag1, fail_value_lag1 qty_pct_change, price_pct_change day_of_week, is_month_end, is_quarter_end, is_year_end is_foreign, is_adr, is_etf, is_reit log_qty, log_val, extreme spikesModel
2025‑01‑01, test = after Performance on Test Set
fail_value): 445 122.29
Figure 1 – Confusion matrix on the 2025-test slice.
| Class | True Neg | False Pos | False Neg | True Pos |
|---|---|---|---|---|
| Count | 279 712 | 226 | 49 | 30 991 |
Top Features (gain)
| Feature | Importance |
|---|---|
price_pct_change |
142 |
price_lag1 |
129 |
log_qty |
115 |
qty_pct_change |
83 |
fail_value_lag1 |
48 |
log_val |
40 |
| (…plus smaller contributions…) |
Next Steps
import joblib
model = joblib.load("lgb_settlement_stress_flag.pkl")
proba = model.predict_proba(X)[:, 1] # P(stress)
flag = proba > 0.5
Musodza, K. (2025). Bond Settlement Automated Exception Handling and Reconciliation. Zenodo. https://doi.org/10.5281/zenodo.16828730
➡️ Technical white-paper & notebooks: https://github.com/Coreledger-tech/Exception-handling-reconciliation.git