Optimizing Trade Execution Feedback
A brokerage firm has a custom application that delivers data files about the individual executions of derivatives orders (fills) to its clients. Delivering fills data in near real-time is the goal of any such system. In its current state, opportunities exist to decrease the response time to levels that would provide greater performance to the firms clients. Moreover, in the event of a server or network problem, at either the brokerage or the client, response times are sluggish, reporting on the error is slow to reach operations personnel, and fills data transmission could be at risk.
Fills data are being delivered to clients in a single thread of execution, so that multiple server CPUs and network bandwidth are under-utilized. More importantly, a slow server or network connection at a single client blocks delivery to all clients. And, while the brokerage has a sophisticated system in place for error reporting and incident escalation, the fills data delivery system is not architected to take advantage of that system, and the way the system handles network and database errors is not robust in the face of incorrect data or a power outage.
PSC consultants re-designed the brokerage's delivery system to use configurable parallel lanes of delivery. The system was designed with a tunable pool of execution threads so that server resources are divided among deliveries in a fair way. Finally, PSC's consultants re-designed the error handling so that no data is lost even in the event of a power outage. Now, the brokerage's fills notification system loses no data and delivers notifications of almost all fills less than fifteen seconds after they occur.