- Before
- “Don't show me a number. Show me why it happened and what we should do about it.” Monthly reports arrived with costs and no reasons.
- Now
- Opens the day with Friday's costs already explained and checked; accepts 19 in one step and signs off what the desks propose.
One morning of transaction cost analysis, order by order
Quillfield Capital, a global asset manager, traded 652 orders on Friday, October 16. By Monday at 9:10 a.m. in New York the agents have costed every one, explained the expensive ones and lined up what needs a person. Here is how the Global Head of Trading works through it with them — reading their findings, asking back, opening the evidence and approving — screen by screen, in the working solution.
- 01Monday, 9:10 a.m.
The agents report on Friday, and five things need him
Sam Deluca · Global Head of TradingSam's morning screen opens with four numbers: 652 orders and 8,114 fills analyzed, $6.48B, every one costed; 4.9 bp against benchmark with a peer median of 5.5; 23 beyond threshold, 19 ready to accept and 4 needing him; 2.03 million fills in the last 12 months. Beside “Needs you”, with one next step each, the agents say what they did between 1:00 and 1:22 a.m., each line cited. A late bond quote log was retried at 6:52 and 14 bond orders re-analyzed, so the counts tie.
Anomaly agent · 1:15 a.m.: “Thornbury Bank: 16.8% of requests rejected since Oct 1, after it lengthened its hold window to 200 ms.”
- 02One order is the screen
A €50M EUR/USD buy, replayed to the millisecond
Sam Deluca · Global Head of TradingLukas Meyer bought €50,000,000 against dollars for the International Equity Fund, request for stream to five banks. On the price chart: arrival mid 1.17416, three requests to Thornbury Bank rejected after 172, 176 and 178 ms holds, then Thornbury filling €25M at 1.17427, 0.6 pip worse than its first offer, and Ardmore Bank and Larchfield FX filling the rest higher. The cost stack beside it splits 2.1 bp five ways: delay 0.1, spread 0.4, timing 0.6, impact 0.7, fees 0.3, against a peer median of 0.7 bp.
Benchmark agent: “The PM asked for a risk transfer, ‘complete now’; this is not a fix order, so the policy’s arrival benchmark is the fair one.”
- 03The agents' thread
The agents talk him through it, and check each other
Explanation and Checker agentsDown the right, each agent says what it did, with its plan, sources and confidence. The Explanation agent writes why in plain words: Thornbury showed the best offer, 1.17421, then rejected Lukas three times while the price rose, and filled 0.6 pip worse; without the rejections the order would have cost about 0.8 bp. The Checker agent recomputes from the raw fills, gets 2.09 bp, confirms the 172, 176 and 178 ms holds and agrees with the explanation.
Neither agent may accept the explanation. “Accept the explanation?” waits for a person.
- 04He asks back
“What did the other banks quote?”
Sam Deluca · Global Head of TradingSam types the question under the thread. The Explanation agent answers from the quote log: at 14:20:05.840 Thornbury offered 1.17421, Ardmore 1.17422, Larchfield FX 1.17424, Sundgren 1.17426 and Kinloch 1.17427. Thornbury was best by 0.1 pip, which is why the platform kept sending to it; sending to Ardmore after the first rejection would have saved an estimated 0.4 bp.
Every answer carries its citation, and the question and answer go on the audit trail.
- 05One click on a citation
The FX platform's own rejection log
The evidenceEach figure on the replay is numbered. Clicking the rejection opens the FX platform's trade request and rejection log for Thornbury Bank: request time, price, amount, decision, hold in milliseconds and the mid at request and at decision. Three requests rejected after 172, 176 and 178 ms, one accepted after 41 ms, and the reject reason field reads “PRICE_CHECK” for all three.
“The record is read-only, fingerprinted and kept with the order's audit trail.”
- 06Not one bad trade
A bank that changed its last-look window
Anomaly agentSince October 1 Thornbury rejected 36 of 214 requests, 16.8%, against a panel median of 0.8% and its own 0.9% in Q3. The median hold rose from 38 to 176 ms, and 33 of the 36 rejections came when the price moved against the bank during the hold. The agent read the bank's disclosure dated September 28, which raised its maximum last-look window from 50 to 200 ms, and estimated the cost at $244,000: 0.9 bp of re-fill cost on $2.71B rejected.
Anomaly agent: “I drafted an inquiry letter asking Thornbury for the reasons behind the 36 rejections and its hold-time policy, citing the FX Global Code. It needs the head of trading's approval before it is sent.”
- 0708:46 London, then New York
Maker-checker on the broker action
Lukas Meyer proposes · Sam Deluca approvesLukas proposed A-1041 at 08:46 London: move Thornbury Bank to Review, out of the EUR/USD and GBP/USD request-for-stream panels above €20M, streaming below €20M continues, an inquiry letter on rejection reasons and hold-time policy, re-assess November 16. Sam opens it, keeps reason code EXQ-LL, execution quality: last-look rejections, and ticks the attestation before he signs.
“I have reviewed the evidence attached to this proposal and I am not its maker.” Signed, fingerprinted and added to the audit trail.
- 08One step
Nineteen checked explanations accepted at once
Sam Deluca · Global Head of TradingThe review queue holds 19 costs explained and checked by two agents: Daikoku Precision's special buy quote at the open, read from a Tokyo notice in Japanese; Sorvino Industria's volatility auction, from a Milan notice in Italian; Morrow Health Systems' trading pause; a USD/JPY fix order measured against the fix at 0.2 bp; a Hollins Water bond at 2.9 times average daily volume; Ultra 10-year Treasury futures in a thin book. Sam selects all 19 and accepts with one reason code.
“Accepting signs them as documented reasons.”
- 09Where the agents disagree
A bond with a stale price, and a person decides
Benchmark and Checker agentsHannah Brooks sold $25,000,000 of Ashgrove Utilities 5.10% 2036 to Ostrander Markets at 99.42, cover 99.38, after an RFQ to six dealers. The evaluated price, 99.71, is two business days old, so the Benchmark agent built a fair price of 99.55, confidence 88%: 13.0 bp, where the stale price would read 29.1 bp. The Checker agent uses the 10s30s curve move rather than the 10-year move for a 2036 maturity, gets 99.53 and 11.1 bp — 1.9 bp apart, above its 1.0 bp tolerance.
“Which fair price should stand?” Use 99.55 · Use 99.53 · Ask Hannah.
- 10Ready for Thursday
The committee sees what changed and who approved it
Harriet Cole · Chair, Best Execution CommitteeThe committee's screen for the meeting on Thursday, October 22 at 10:00 a.m. ET shows October so far: equities 10.8 bp, bonds 4.3 bp, FX 1.9 bp against a peer median of 1.8, and 3 decisions to ratify, each maker-checked with its evidence attached, among them A-1041, Thornbury Bank to Review, approved by Sam that morning. Harriet ratifies what the desk decided; Calloway Markets' move to the watch list goes to a committee vote. The Report agent drafted the brief overnight: FX above peers for the first time this year, because Thornbury Bank began rejecting 16.8% of requests.
Committee brief: “The desk proposed Review the same day the pattern was found.”