Patent Publication Number: US-2019172137-A1

Title: Trade engine processing of mass quote messages and resulting production of market data

Description:
REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation under 37 C.F.R. § 1.53(b) of U.S. patent application Ser. No. 14/094,994 filed Dec. 3, 2013 (Attorney Docket No. 004672-03381Z-US)) now U.S. Pat. No. ______, which is a continuation under 37 C.F.R. § 1.53(b) of U.S. patent application Ser. No. 13/168,595 filed Jun. 24, 2011, now U.S. Pat. No. 8,626,625, which is a continuation under 37 C.F.R. § 1.53(b) of U.S. patent application Ser. No. 10/903,826, filed Jul. 30, 2004, now abandoned, which claims the benefit of the filing date under 35 U.S.C. § 119(e) U.S. Provisional Patent Application Ser. No. 60/517,491, filed Nov. 5, 2003, the entire disclosures of which is hereby incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     Aspects of the present invention relate to the processing of mass quote messages that include a plurality of orders. More specifically, aspects of the present invention provide systems and methods for processing mass quote messages and distributing market data. 
     BACKGROUND 
     Current financial instrument trading systems allow traders to combine orders for a group of financial instruments into a single order called a mass quote message. For example, a trader may use a mass quote message when transmitting orders for a group of related option contracts, such as an option series belonging to one option class. With conventional trade engines, each individual order is processed separately and results in the creation of market data. The market data produced for each trade is then distributed to traders and other entities. 
     As the number of orders and traders increases, the distribution of market data messages can strain computer systems and networks that are used to transmit such messages. The processing of numerous market data messages and associated overhead consumes bandwidth and processing time. 
     Therefore, there is a need in the art for improved systems and methods for processing mass quote messages and producing and distributing market data messages. 
     SUMMARY OF THE INVENTION 
     The present invention overcomes at least some of the problems and limitations of the prior art by providing systems and methods for processing mass quote messages and producing a single market data message. The orders within a mass quote message are processed and result in the production of market data. The market data is stored in one or more market data message buffers. The contents of the market data message buffer(s) is transmitted as a single market data message. In some embodiment of the invention the mass quote message includes orders spread across different order books. The mass quote messages may be formatted in accordance with one or more of the formats described in U.S. provisional patent application serial No. 60/517,491. 
     In various embodiments, aspects of the present invention can be partially or wholly implemented on a computer-readable medium, for example, by storing computer-executable instructions or modules, or by utilizing computer-readable data structures. 
     Of course, the methods and systems disclosed herein may also include other additional elements, steps, computer-executable instructions, or computer-readable data structures. 
     The details of these and other embodiments of the present invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will be apparent from the description and drawings, and from the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention may take physical form in certain parts and steps, embodiments of which will be described in detail in the following description and illustrated in the accompanying drawings that form a part hereof, wherein: 
         FIG. 1  shows a computer network system that may be used to implement aspects of the present invention; 
         FIG. 2  illustrates a system for processing mass quote messages and a distributing corresponding market data in accordance with an embodiment of the invention; 
         FIG. 3  illustrates a computer implemented method for processing mass quote messages in accordance with an embodiment of the invention; and 
         FIG. 4  illustrates a computer implemented method of processing mass quote message that includes creating a market data message buffer, in accordance with an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS AND PRESENTLY PREFERRED EMBODIMENTS 
     Exemplary Operating Environment 
     Aspects of the present invention are preferably implemented with computer devices and computer networks that allow users to exchange trading information. An exemplary trading network environment for implementing trading systems and methods is shown in  FIG. 1 . An exchange computer system  100  receives orders and transmits market data related to orders and trades to users. Exchange computer system  100  may be implemented with one or more mainframe, desktop or other computers. A user database  102  includes information identifying traders and other users of exchange computer system  100 . Data may include user names and passwords. An account data module  104  may process account information that may be used during trades. A match engine module  106  is included to match bid and offer prices. Match engine module  106  may be implemented with software that executes one or more algorithms for matching bids and offers. A trade database  108  may be included to store information identifying trades and descriptions of trades. In particular, a trade database may store information identifying the time that a trade took place and the contract price. An order book module  110  may be included to compute or otherwise determine current bid and offer prices. A market data module  112  may be included to collect market data and prepare the data for transmission to users. A risk management module  134  may be included to compute and determine a user&#39;s risk utilization in relation to the user&#39;s defined risk thresholds. An order processing module  136  may be included to decompose delta based and bulk order types for processing by order book module  110  and match engine module  106 .) 
     The trading network environment shown in  FIG. 1  includes computer devices  114 ,  116 ,  118 ,  120  and  122 . Each computer device includes a central processor that controls the overall operation of the computer and a system bus that connects the central processor to one or more conventional components, such as a network card or modem. Each computer device may also include a variety of interface units and drives for reading and writing data or files. Depending on the type of computer device, a user can interact with the computer with a keyboard, pointing device, microphone, pen device or other input device. 
     Computer device  114  is shown directly connected to exchange computer system  100 . Exchange computer system  100  and computer device  114  may be connected via a Ti line, a common local area network (LAN) or other mechanism for connecting computer devices. Computer device  114  is shown connected to a radio  132 . The user of radio  132  may be a trader or exchange employee. The radio user may transmit orders or other information to a user of computer device  114 . The user of computer device  114  may then transmit the trade or other information to exchange computer system  100 . 
     Computer devices  116  and  118  are coupled to a LAN  124 . LAN  124  may have one or more of the well-known LAN topologies and may use a variety of different protocols, such as Ethernet. Computers  116  and  118  may communicate with each other and other computers and devices connected to LAN  124 . Computers and other devices may be connected to LAN  124  via twisted pair wires, coaxial cable, fiber optics or other media. Alternatively, a wireless personal digital assistant device (PDA)  122  may communicate with LAN  124  or the Internet  126  via radio waves. PDA  122  may also communicate with exchange computer system  100  via a conventional wireless hub  128 . As used herein, a PDA includes mobile telephones and other wireless devices that communicate with a network via radio waves. 
       FIG. 1  also shows LAN  124  connected to the Internet  126 . LAN  124  may include a router to connect LAN  124  to the Internet  126 . Computer device  120  is shown connected directly to the Internet  126 . The connection may be via a modem, DSL line, satellite dish or any other device for connecting a computer device to the Internet. 
     One or more market makers  130  may maintain a market by providing constant bid and offer prices for a derivative or security to exchange computer system  100 . Exchange computer system  100  may also exchange information with other trade engines, such as trade engine  138 . One skilled in the art will appreciate that numerous additional computers and systems may be coupled to exchange computer system  100 . Such computers and systems may include clearing, regulatory and fee systems. 
     The operations of computer devices and systems shown in  FIG. 1  may be controlled by computer-executable instructions stored on computer-readable medium. For example, computer device  116  may include computer-executable instructions for receiving order information from a user and transmitting that order information to exchange computer system  100 . In another example, computer device  118  may include computer-executable instructions for receiving market data from exchange computer system  100  and displaying that information to a user. 
     Of course, numerous additional servers, computers, handheld devices, personal digital assistants, telephones and other devices may also be connected to exchange computer system  100 . Moreover, one skilled in the art will appreciate that the topology shown in  FIG. 1  is merely an example and that the components shown in  FIG. 1  may be connected by numerous alternative topologies. 
     Mass Quote Message Processing and Market Data Dissemination 
       FIG. 2  illustrates a system for processing mass quote messages and a distributing corresponding market data in accordance with an embodiment of the invention. A mass quote message  202  contains a plurality of orders for financial instruments. The financial instruments may be derivative products. Derivative products may include options on futures contracts, futures contracts that are functions of or related to other futures contracts, or other financial instruments that have their price related to or derived from an underlying product. In one embodiment of the invention, the orders are for options contracts that belong to a common option class. Orders may also be for baskets, quadrants, other combinations of financial instruments, etc. Mass quote message  202  may be received at an exchange. As used herein, an exchange is a place or system that receives and executes orders. The orders in mass quote message  202  are delivered to appropriate order book objects  204 ,  206  and  208 . Each order book object may correspond to a particular financial instrument, such as an option contract and may track or maintain the order book for that financial instrument. The market data produced by each order may be delivered to a market data message buffer  210  where market data for each order in mass quote message  202  is compiled. When all of the market data has been received, the contents in market data message buffer  210  may be distributed to traders and others tracking market data. The transmission may be via the Internet  210  or other mechanisms connecting traders to an exchange. 
       FIG. 3  illustrates a computer implemented method for processing mass quote messages in accordance with an embodiment of the invention. First, in step  302  a mass quote message is received. The mass quote message includes a plurality of orders for financial instruments and may be received at an exchange, match engine or any other location or device that processes orders for financial instruments. Next, in step  304  a thread iterates through the mass quote message and passes orders to corresponding order book objects. Step  304  may include sequentially reading all of the orders within the message and passing the orders to corresponding order book objects. 
     Order book objects process orders and generate market data messages in step  306 . The processing of orders and generation of market data messages may utilize conventional methods known to those of skill in the art. Each of the market data messages may be stored in a market data message buffer in step  308 . The use of a market data message buffer facilitates compiling market data messages so that such messages can be distributed together in a single message. Finally, when market data has been received for all orders in the mass quote message, the contents in the market data message buffer is transmitted in step  310 . Step  310  may include transmitting a market data message across one or computer, audio, video or data networks. 
     There are a number of alternative methods for determining when a market data message buffer has received market data for all of the orders in a mass quote message. An input thread may determine how many orders are within a mass quote message and pass this number to the market data message buffer. Mass quote messages may also contain a fixed number of orders such that the market data message buffer only needs to count individual market messages. In another alternative embodiment, the last order within a mass quote message may include a flag or code that signifies to the market data message buffer or other module that the order is the last order. In yet another embodiment of the invention, order book objects may transmit a code to the market data message buffer when each one is done processing the orders that they have received. When the market data message buffer receives a code from each order book object, the buffer knows that it has received market data for each of the orders in the mass quote message. Each order book object may utilize its own thread for processing orders. 
     Aspects of the invention may also use fixed, single and multiple market data message buffers. For example, each order book object may transmit market data messages to a unique market data message buffer.  FIG. 4  illustrates a computer implemented method of processing mass quote message that includes creating a market data message buffer, in accordance with an embodiment of the invention. A mass quote message is received in step  402 . Next, in step  404 , a market data message buffer is created. Step  404  may include determining the required size of the buffer and selecting a buffer from a pool of available buffers or allocating memory for the buffer. In an alternative embodiment, step  404  may include creating a plurality of market data message buffers, such that each order book object that is used to process orders has access to a unique market data message buffer. Of course, two or more order book objects may also share a market data message buffer. 
     Next, in step  406  the plurality of orders included within the mass quote message are processed by order book objects. Step  406  may include generating market data messages for each of the orders with the mass quote message. Each of the market data messages may be stored in a market data message buffer in step  408 . 
     In step  410  it is determined whether the market data message buffer contains market data for all of the plurality of orders. Step  410  may be performed by using one or more of the processes described above. When all market data has not been received, orders are the processing of orders continues in step  412 . When all market data has been received, a single market data message containing the market data stored in the market data buffer is transmitted in step  414 . 
     In embodiments that use multiple market data message buffers, the contents of the buffers may be transmitted as a single market data message after all of the orders have been processed. 
     The embodiments described above utilize a mass quote message. In alternative embodiments individual orders may be processed and produce market data that is compiled into a single market data message. A variety of criteria may be used to group orders that produce market data that is ultimately compiled into a single market data message. For example, orders received within a predetermined time period or orders for similar financial instruments received within a predetermined time period may be grouped together such that the resulting market data is transmitted within a single market data message. 
     The embodiments described above also transmit a single market data message after all orders have been processed. In alternative embodiments of the invention a market data message may be transmitted before all of the orders are processed. For example, the message may be transmitted at a predetermined time after receiving market data from the first order. This allows market data to be distributed even when the processing of one or more orders takes an undue length of time. After a first market data message is transmitted, subsequent market data messages may be transmitted upon receipt of additional market data. 
     The present invention has been described in terms of preferred and exemplary embodiments thereof. Numerous other embodiments, modifications and variations within the scope and spirit of the invention will occur to persons of ordinary skill in the art from a review of this disclosure. For example, aspects of the invention may be used to process and communicate data other than market data.