Patent EA-002136-B1 (EA)
Title: Order processing apparatus and method
Inventor: SEIFERT BENEDICT
IPC: G06Q40/00
Filed: 1998-09-17
Abstract: 1. An apparatus for processing trading orders, said apparatus comprising a central server connectable to a plurality of terminals on which user orders are to be entered, wherein said central server comprises: communication means for receiving user orders from said terminals via a network; first storage means for storing received user orders as an array whose elements define a particular first resource ordered by a particular user; second storage means for storing an array of coefficients each representing the proportion of a particular order that is to be satisfied; and processing means for retrieving said orders from said first storage means, calculating an optimized set of values of said coefficients with respect to at least one predetermined, adjustable constraint and at least one predetermined, adjustable criterion, and storing said optimized coefficient values in said second storage means, said communication means also being for transmitting the processed orders and their respective coefficients. 2. An apparatus according to claim 1, wherein said at least one constraint includes that the value of each of said coefficients is less than or equal to 1 and greater than or equal 0. 3. An apparatus according to claim 1 or 2, wherein, said processing means is adapted to process orders such that a designated user takes the opposite position to each other user order by agreeing to exchange a proportion of the ordered first resource for a second resource, where said proportion corresponds to the optimized coefficient for that order. 4. An apparatus according to claim 3, wherein said at least one constraint includes that if all orders were to be completed, in proportion to their respective coefficients, the designated user's holdings arising from the processed orders would be only non-negative amounts of each resource, including after maturation of all simple derivatives and options to trade resources in the future. 5. An apparatus according to claim 3 or 4, wherein said at least one criterion includes maximizing the revenue of said designated user, in terms of a particular simple resource, based on an exchange rate. 6. An apparatus according to any one of the preceding claims, wherein said central server <DP=2 further comprises third storage means for storing an array of data representing the current exchange rate between each resource and at least one other resource, and wherein said processing means is further for retrieving exchange rate data from said third storage means. 7. An apparatus according to any one of the preceding claims, wherein said at least one criterion includes maximizing the volume given by the sum of the absolute values of the components of all orders that are satisfied, partially or in full, in terms of a particular simple resource at a given exchange rate. 8. An apparatus according to any one of the preceding claims, wherein said processing means is adapted to optimize the values of said coefficients by successively applying respective criteria in a cascaded manner. 9. An apparatus according to claim 6, further comprising means to specify the sequence of said cascaded criteria. 10. An apparatus according to any one of the preceding claims, wherein said processing means is adapted to apply, in sequence, each one of a plurality of predefined linear programming routines, or convex programming routines, or standard combinatorial optimisation techniques, to optimize said coefficients until one of the following events occurs: a specified maximum period of time elapses; an optimal solution is found. 11. An apparatus according to claim 10, wherein if a specified maximum period of time elapses before an optimal solution is found, a consistent sub-optimal solution is used to obtain the optimized set of coefficient values. 12. An apparatus according to any one of the preceding claims, wherein said processing means is adapted to optimize said coefficients for batches of received orders. 13. An apparatus according to claim 12, wherein said processing means is adapted to determine the end of a batch by a preset interval of time having elapsed since the start of that batch. 14. An apparatus according to claim 12, wherein said processing means is adapted to determine the end of a batch by the total order value exceeding a threshold value. 15. An apparatus according to any one of claims 12 to 14, adapted to carry forward orders not satisfied, completely or partially, in one batch to the next batch. 16. An apparatus according to any one of claims 12 to 15, adapted to remove from said first <DP=3storage means orders not satisfied, completely or partially, after a preset length of time from submission of those orders. 17. An apparatus according to claim 16, wherein said preset length of time for each order is specified by the relevant user. 18. An apparatus according to any one of the preceding claims, wherein unsatisfied orders are removed from said first memory means at the request of a user. 19. An apparatus according to any one of the previous claims, wherein at least one user order stored in said first storage means specifies a particular second resource offered in exchange for said first resource to define a resource flow. 20. An apparatus according to any one of the preceding claims, wherein at least one user order stored in said first storage means orders said first resource at a prevailing market exchange rate. 21. An apparatus according to any one of the preceding claims, wherein a resource in at least one order is a compound resource. 22. An apparatus according to any one of the preceding claims, wherein at least one of said terminals is connected to said central server via a sub-server which aggregates orders from users. 23. An apparatus according to any one of the preceding claims, wherein said communication means is adapted to transmit orders using TCP/IP. 24. An apparatus according to any claims 6 to 23, wherein said processing means computes and updates the exchange rates in said third storage means based on the satisfied order flow. 25. An apparatus according to any one of the preceding claims, wherein instruments being traded are financial, such as currencies, securities, and futures on the value of commodities. 26. An apparatus according to any one of the preceding claims, wherein said communication means transmits said processed orders and their coefficients to a further apparatus for settlement of said orders. 27. A computer terminal comprising: communication means for receiving the processed orders and their respective coefficients from an apparatus according to any one of claims 1 to 25; and a device for triggering transfer of resources in accordance with the filled part of each order specified by the respective coefficient. 28. A method for processing trading orders comprising the steps of: receiving from users orders each specifying a particular first resource ordered by a particular user and storing them as an array in a first storage means; processing said orders retrieved from said first storage means to calculate a set of coefficients each representing the proportion of a particular order that is to be satisfied; optimizing the values of said coefficients with respect to at least one predetermined, adjustable constraint and at least one predetermined, adjustable criterion; storing said optimized coefficient values in a second storage means; and outputting the processed orders and their respective coefficients. 29. A method according to claim 28, wherein said at least one constraint includes that the value of each of said coefficients is less than or equal to 1 and greater than or equal to 0. 30. A method according to claim 28 or 29, wherein a designated one of said users takes the opposite position to each other user order by agreeing to exchange a proportion of the ordered first resource for a second resource, where said proportion corresponds to the optimized coefficient for that order. 31. A method according to claim 30, wherein said at least one constraint includes that if all orders were to be completed, in proportion to their respective coefficients, the designated user's holdings arising from the processed orders would be only non-negative amounts of each resource, including after maturation of all simple derivatives and options to trade resources in the future. 32. A method according to claim 30 or 31, wherein said optimizing step includes as one criterion maximizing the revenue of said designated user, in terms of a particular simple resource, based on an exchange rate. 33. A method according to any one of claims 28 to 32, wherein a third storage means is for storing an array of data representing the current exchange rate between each resource and at least one other resource, said method further comprising the step of retrieving exchange rate data from a third storage means for use in optimizing said coefficients. 34. A method according to any one of claims 28 to 33, wherein said optimizing step includes maximizing the volume given by the sum of the absolute values of the components of all orders that are satisfied, partially or in full, in terms of a particular simple resource at a given exchange rate. 35. A method according to any one of claims 28 to 34, wherein said optimizing step further comprises successively applying respective criteria in a cascaded manner to obtain optimized values of said coefficient. 36. A method according to claim 35, further comprising the step of specifying the sequence of said cascaded criteria. 37. A method according to any one of claims 28 to 36, wherein said optimizing step further comprises applying, in sequence, each one of a plurality of predefined linear programming routines, or convex programming routines, or standard combinatorial optimisation techniques, to optimize said coefficients until one of the following events occurs: a specified maximum period of time lapses; an optimal solution is found. 38. A method according to claim 37,