Symbolic Language For Trade Matching
First Claim
Patent Images
1. A computer-implemented method for specifying and testing a match engine comprising:
- providing a user interface, coupled to the match engine, for receiving commands, the interface comprising a two-dimensional grid, wherein along the first dimension of the grid one or more products are identified and along the second dimension of the grid one or more dates are identified, the intersection of a given product and a given date corresponding to a particular contract, the grid further comprising one or more regions corresponding to a virtual contract that is not associated with a product or a date;
receiving, via the user interface, a first set of one or more commands corresponding to a set of orders, wherein the first set of orders comprises one or more orders for a contract that are not tradeable against each other;
identifying any markets implied by the first set of orders;
outputting market data corresponding to the results of the determining;
receiving, via the user interface, a second set of one or more commands corresponding to a second order for a contract;
determining if the second order is tradable against any subset of orders or markets drawn from the first set; and
outputting data corresponding to the results of the determining.
1 Assignment
0 Petitions
Accused Products
Abstract
A symbolic modeling language for trade matching provides techniques to describe the specialized operations of a match engine in a form that can be understood by business analysts and readily translated into program code and test cases by developers and testers. Associated techniques for calculating implied markets and testing can expedite match engine development, testing and maintenance.
-
Citations
47 Claims
-
1. A computer-implemented method for specifying and testing a match engine comprising:
-
providing a user interface, coupled to the match engine, for receiving commands, the interface comprising a two-dimensional grid, wherein along the first dimension of the grid one or more products are identified and along the second dimension of the grid one or more dates are identified, the intersection of a given product and a given date corresponding to a particular contract, the grid further comprising one or more regions corresponding to a virtual contract that is not associated with a product or a date; receiving, via the user interface, a first set of one or more commands corresponding to a set of orders, wherein the first set of orders comprises one or more orders for a contract that are not tradeable against each other; identifying any markets implied by the first set of orders; outputting market data corresponding to the results of the determining; receiving, via the user interface, a second set of one or more commands corresponding to a second order for a contract; determining if the second order is tradable against any subset of orders or markets drawn from the first set; and outputting data corresponding to the results of the determining. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of testing a match engine comprising:
-
generating a model of a first match engine, wherein generating the model comprises a set of expressions in a domain specific visual modeling language (DSVL), selecting a set of trading scenarios in a format associated with the DSVL, the trading scenarios comprising any sequence of messages that the match engine is capable of receiving, regardless of whether these messages result in a trade; coupling to executable code corresponding to a second match engine; converting the trading scenarios into instructions compatible with the executable code; providing the instructions to the executable code for execution of the trading scenarios; executing the trading scenarios with the model of the first match engine; and comparing the results of executing the trading scenarios by the model of the first match engine and the second match engine. - View Dependent Claims (16, 17)
-
-
18. A computer-implemented method for interfacing with a match engine, the method comprising:
-
providing an interface for receiving instructions, the interface comprising a grid that comprises one or more regions each corresponding to a tradable futures contract, security, or other tradable item for which orders can be matched by the match engine, as well as one or more regions corresponding to a virtual contract that is not associated with a tradable item; receiving, via the interface, one or more symbolic instructions from a user, each instruction associated with one or more tradable items, the instruction comprising a symbol placed on the grid; executing the instructions on the match engine; and displaying to the user the results of the executing. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A computer implemented method of defining a market, the method comprising:
-
providing a rectilinear grid having at least one row and at least one column, the grid comprising grid elements wherein each grid element corresponds to a virtual contract or a tradable instrument, the grid elements being arranged spatially on the rectilinear grid such that tradeable orders may be drawn in directions only parallel to either a row or a column; defining an initial state of the market by receiving an instruction in a visual language, the instruction comprising a request to buy or sell a virtual contract or a tradeable item; receiving an order in a visual language, the order comprising a request to buy or sell a virtual contact or a tradeable item; determining if the order is tradeable against the initial state of the market; and providing the results of the determining. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A system for testing a match engine comprising:
-
a match engine having an input port for receiving data corresponding to instructions and an output port for transmitting first result data, the result data comprising the results of processing instructions; a testing sub-system comprising; a user interface for receiving a trading scenario in a visual language, the visual language being governed a rule set; a first processing resource coupled to the interface for converting the trading scenario to instructions corresponding to the trading scenario in a second language; a communication resource coupled to the input port of the match engine for transmitting the instructions to match engine and further coupled to the output port of the match engine for receiving the first result data; a second processing resource for processing the instructions according to the rule set of the visual language and generating second result data; a comparator for comparing the first result data to the second result data. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification