Synthetic Average Price Allocation
Problem
A brokerage firm has a client that makes a large derivatives order, and the brokerage begins getting the order filled using a holding account. At some later time, the client allocates the order to several of its customer accounts. The instrument ordered is very liquid, and the large order is executed in many small lots at many different prices over the course of the day. The brokerage then has to divide up the lots among the customer accounts so that each account receives an average price as close as possible to the price paid by all the other accounts. The brokerage is currently solving this problem with an ad hoc collection of spreadsheets to ensure that prices offered to different customers are "non-discriminatory." The concern, of course, is that the current solution is not a scalable solution for a growing company.
Analysis
In a typical average pricing scenario, the number of possible ways to divide executions among the ordering accounts is inconceivably huge. A modern computer would take billions of years to solve a single such problem with an exhaustive search of every possible solution. Software that tackles the problem of synthetic average pricing must be able to reach a solution between the time of the last execution and the client's reporting deadline.
Solution
PSC consultants recognized that this problem bears a strong resemblance to well studied, very difficult problems in computer science, to which the only feasible solution is modern, dynamic algorithms. PSC invented a "genetic algorithm" for solving the average pricing problem that is able to find a solution for individual account prices within 0.0001% of each other in less than five seconds. With the new software, the brokerage has a scalable solution with provably non-discriminatory pricing.
Download