Determination of implied orders in a trade matching system
First Claim
1. An electronic trading system comprising:
- a validator that checks the properties of a new order against established criteria;
a database that stores orders;
a match engine that includes a processor and executes multiple threads, receives orders from the validator and transmits orders to the database;
a non-transitory computer-readable medium storing computer program instructions that, when executed by the processor, cause the match engine to perform steps comprising;
creating objects in the non-transitory computer-readable medium that extend a thread class and include a programmed set method call, wherein the programmed set method can both read and write local variables but only read those variables shared with a root node, wherein the multiple threads correspond to the objects and are each assigned to a subgroup of implied calculations;
maintaining, by each object, a shortest path tree and implied edge collection, wherein the shortest path tree is stored in the non-transitory computer-readable medium as a collection of one-dimensional arrays to further parallel processing by the multiple threads;
identifying, using the multiple threads and parallel processing, a plurality of implied orders from real orders that are not tradable against each other;
determining bid/ask spreads for the implied orders;
sending parameters to the multiple threads to reduce computing load on the processor of the match engine;
determining, using the parameters, a root-specific change set to effect adjustment of criteria for filtering;
filtering, with adjusted criteria, the implied orders to generate a first subset of the implied orders each having a bid/ask spread that is less than a threshold; and
publishing market data on the first subset of the implied;
wherein the identifying of the plurality of implied orders comprises calculation of one or more shortest path trees using a shortest path algorithm.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer implemented method for determining implied orders in an electronic trading system is provided. The method comprises receiving a first set of one or more real orders, wherein the orders are not tradable against each other. One or more implied orders are identified within the first set of real orders. Market data corresponding to the implied orders can also be identified. At least one additional order is received and the tradability of the additional order is determined against the real or implied orders within the first set of real orders. A resting set of orders is determined from those real and implied orders within the first set of orders not affected by the tradability of the additional order. Implied orders are determined from within the set of resting orders.
129 Citations
18 Claims
-
1. An electronic trading system comprising:
-
a validator that checks the properties of a new order against established criteria; a database that stores orders; a match engine that includes a processor and executes multiple threads, receives orders from the validator and transmits orders to the database; a non-transitory computer-readable medium storing computer program instructions that, when executed by the processor, cause the match engine to perform steps comprising; creating objects in the non-transitory computer-readable medium that extend a thread class and include a programmed set method call, wherein the programmed set method can both read and write local variables but only read those variables shared with a root node, wherein the multiple threads correspond to the objects and are each assigned to a subgroup of implied calculations; maintaining, by each object, a shortest path tree and implied edge collection, wherein the shortest path tree is stored in the non-transitory computer-readable medium as a collection of one-dimensional arrays to further parallel processing by the multiple threads; identifying, using the multiple threads and parallel processing, a plurality of implied orders from real orders that are not tradable against each other; determining bid/ask spreads for the implied orders; sending parameters to the multiple threads to reduce computing load on the processor of the match engine; determining, using the parameters, a root-specific change set to effect adjustment of criteria for filtering; filtering, with adjusted criteria, the implied orders to generate a first subset of the implied orders each having a bid/ask spread that is less than a threshold; and publishing market data on the first subset of the implied; wherein the identifying of the plurality of implied orders comprises calculation of one or more shortest path trees using a shortest path algorithm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a match engine that includes a processor and executes multiple threads, receives orders from a validator and transmits orders to a database; a non-transitory computer-readable medium storing computer program instructions that, when executed by the processor, cause the match engine to perform steps comprising; creating objects in the non-transitory computer-readable medium that extend a thread class and include a programmed set method call, wherein the programmed set method can both read and write local variables but only read those variables shared with a root node, wherein the multiple threads correspond to the objects and are each assigned to a subgroup of implied calculations; maintaining, by each object, a shortest path tree and implied edge collection, wherein the shortest path tree is stored in the non-transitory computer-readable medium as a collection of one-dimensional arrays to further parallel processing by the multiple threads; identifying using the multiple threads and parallel processing a plurality of implied orders from real orders that are not tradable against each other; determining bid/ask spreads for the implied orders; sending parameters to the multiple threads to reduce computing load on the processor of the match engine; determining, using the parameters, a root-specific change set to effect adjustment of criteria for filtering; filtering, with adjusted criteria, the implied orders to generate a first subset of the implied orders each having a bid/ask spread that is less than a threshold; and publishing market data on the first subset of the implied; a ticker plant that aggregates market data; and a market data distribution server that receives the market data from the ticker plant and transmits the market data to client computer devices; wherein the identifying of the plurality of implied orders comprises calculation of one or more shortest path trees using a shortest path algorithm. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification