Patent ID: 12198194

DETAILED DESCRIPTION

The present disclosure is directed to methods and systems related to the control of order flow for certain order types in an electronic trading system that can allow market participants with faster communication capabilities a technical advantage over other market participants.

One example order type that may leave market participants vulnerable to market participants with higher speed communication technology and expertise is a trade-at-settlement (hereinafter TAS) order. Market participants may be able to enter certain securities (e.g. futures) orders in a TAS order book during the trading day at a price equal to that day's settlement price (the price reached based on the market close price after calculations made during a subsequent settlement period following the market close for that trading day), or at a specified differential above or below the daily settlement price, e.g., two minimum price increments higher (+2) or lower (−2) than the daily settlement price. Completed TAS transactions may be confirmed during the trading session, and the final price of the transaction may be confirmed when the daily settlement price is established.

The settlement price for TAS positions are a function of the closing price, typically being priced at ranges between −10 and +10 ticks (minimum exchange supported price increments) of it. The TAS position is typically profitable if the offsetting futures contracts used to close are less than the settlement price (plus the TAS differential). The converse it typically true for a loss.

A market participant can cancel an order if it has not executed yet. There is a TAS order book where the prices are the settlement price plus any defined number of tick increments above or below the settlement price a market participant is willing to trade at. Once an order has been matched, the market participant is either long or short the TAS contract and has to trade out of it if the market participant does not actually want to do the futures trade at the close, in the same manner as if the market participant had a position in a futures contract and wanted to get flat (counter-orders for all positions, getting a market participant completely out of the market) before the delivery process starts.

While TAS transactions on an electronic trading system may be intended to help traders even out end-of-day price exposure for particular types of futures contracts or other financial instruments, technological advantages in timing and speed of communication can actually cause problems for market participants who lack the fastest connections or expertise.

For example, for those who use the TAS order type, traders with technological advantages and expertise may attempt to take advantage or avoid order flow messages in an electronic exchange by employing a speed advantage to optimize quoting, including canceling limit orders ahead of incoming market orders. The market participant (such as a trader or its client), seeing the flat price overly bid and not wanting to take a chance on a worse price, takes the TAS+1 (one “tick” (minimum price increment) worse), and in the interim the traders with technological advantages and expertise cancel large numbers of orders just before the settlement. So, the trader/client gets a worse price as a result.

As disclosed herein, a system and method for monitoring types of orders and time of the trading day are disclosed, where randomized order entry windows for trade at settlement orders are applied, and a fixed or random delay is added to TAS orders in the randomized window to help prevent the type of issues noted above. The time of the trading day is automatically monitored, and TAS orders received, regardless of source, after the TAS window has opened are automatically identified and processing delays are automatically generated, and/or TAS order reordering is initiated. The system and method thus permits application of fixed/randomized delays and/or reordering at some times of the day and not at others. For example: at the time of TAS order queuing: no delay may be added, but the order of TAS orders in the queue may be randomized during the queuing window; while during regular trading of TAS contracts: no randomization of TAS orders, but a speedbump of, for example 50 microseconds, may be applied to TAS orders.

In one embodiment, the TAS order type may be identified by the electronic trading platform by referencing an order message header and comparing the header data to an order type parameter database. Also, an order type may include a specified time of day order window or windows recognizable by an electronic trading platform of the exchange. In different embodiments, the exchange system may randomly open the trading window for a particular order type, such as the TAS order type, and may automatically apply a randomization of any TAS orders arriving in that fixed, or randomly initiated, TAS order window. In another embodiment, the order window for TAS orders may be set at a fixed time of the trading day, but the delay added to the TAS orders received during that fixed start time window may be randomly applied to each order within a predetermined range of message delay times.

As described in greater detail below, various system components in the electronic trading system may be configured to store quotes and orders, monitor the time of the trading day, implement the randomized re-arrangement of orders received at the start of the TAS order window. In different embodiments, the system components may additionally or alternatively apply a fixed or random delay to order messages identified as related to TAS orders.

According to one embodiment of the present invention, the methods and systems described herein are integrated into a computerized financial trading system, such as computerized systems that are currently used by financial exchanges (e.g., Cboe Futures Exchange). According to other embodiments of the present invention, the methods and systems described herein can be implemented utilizing computerized financial systems that are separate from systems that are currently used by financial exchanges or by utilizing a combination of financial exchange and non-financial exchange systems.

The various quote monitoring and timing modification features discussed above and herein may be implemented in a computer platform of the exchange system, alternatively referred to as a financial trading system.FIG.1shows a simplified block diagram that illustrates such a financial trading system100. Each of the blocks ofFIG.1can be implemented using a combination of computer hardware and software designed and implemented to achieve the functionality of each of the blocks. For example, member interface106, as described in further detail below, may include special purpose software configured to accept financial exchange messages including constituent series orders/quotes from market participants through a communication port of a computer server connected to an electronic communication network (e.g., LAN or Internet) by one or more pieces of computer networking equipment (e.g., a switch) configured through software to receive and route the financial exchange messages to the appropriate destinations within the financial trading system100.

The financial trading system100may include financial exchange components, as well as components that may be operated by non-exchange entities that access the financial exchange. Examples of financial exchange components are shown within the dashed lines102. Components outside the dashed lines102are components that may be operated by non-exchange entities. Electronic communications within financial trading system100may be achieved using a variety of known mediums, including: local area networks (LANs), wide area networks (WANs), the Internet, etc.

The illustrated exchange components of the financial trading system100may include a computer implemented trading platform104(that includes, but is not limited to, a member interface106, one or more matching engines108, an electronic book110(which may be embedded within the matching engines108), and a data output engine114) and computer implemented exchange backend systems116. Member interface106may provide an electronic interface for receiving trading messages (e.g., bids, offers, quotes, orders, and trading instructions for constituent series or other financial instruments) from one or more computing devices associated with one or more market participants including traders or other entities transacting business at the financial exchange. Member interface106may be implemented as a graphical user interface (GUI) or Application Programming Interface (API) and may include one or more software components operating on a computing device configured to perform trading functionality.

Member interface106may also be implemented to analyze electronic trading messages for proper format and information. If member interface106(or another financial exchange component) deems a trading message to have proper format and information, member interface106may route the eligible electronic trading messages to the appropriate matching engine108that manages the associated electronic book110where the result may be an order/quote entered into the respective book or an immediate match between a buyer and seller.

Additionally, the member interface106may include a latency adjuster111that implements changes to the queueing order and/or latency, for example quote and order messaging delays (may also be referred to herein as speedbumps), on an order type basis. The latency adjuster111may act to take TAS orders input into the exchange systems102during a TAS queuing period before the opening of a trading day and to rearrange the order of receipt of those TAS orders from the actual order of receipt. The latency adjuster111may also, or alternatively, operate to implement or remove latency to any market participants orders directed to a specific order type, such as the TAS order type. The latency adjuster111may be configured to monitor the time of the trading day and whether a randomized (or fixed) window of time for receiving a particular order type is active. Orders for the particular type of order that are placed in the active order window are either placed on the book with a delay identifier, or may be delayed before placement on the book, before the order is executed. The latency adjuster111may include an interface that automatically transmits notices to market participants when a delay is about to be applied to order messaging for the identified order type. In different implementations, the latency adjuster111may periodically or continuously post or transmit latency data affecting any actively delayed order type for all market makers to see, or just to those who have entered orders and that have been affected.

The latency adjuster111is shown as part of the member interface106in the trading platform104inFIG.1, but may be located in the matching engine108or be separate from either the member interface106or the matching engine108in other implementations. The latency adjuster111may include a buffer that briefly stores, and shuffles the order of, received TAS orders in near real-time during a TAS order queueing period. The latency adjuster111may be configured as a physical circuit with switchable delay paths, or utilize a software-implemented re-ordering of queue priority and/or delay on a processor, to implement randomized TAS order queue re-ordering and/or switchable delay paths based on order type in different implementations. The latency adjuster may receive orders of a particular order type during a predetermined or random time period, reorder the order in the order queue for that particular order type from the actual time of receipt, and then only send out confirmations of order receipt identifying the reordered time/priority order. The latency adjuster111may identify time of trading day and order type to apply a blanket delay (speedbump) to order processing for that order type at a given time of the trading day. Alternatively, the latency adjuster may selectively adjust specific market-maker, or specific other market participant, messages (including quote and order messages) based on order type identifier, time of trading day and any of a number of identification criteria, including user ID numbers, IP address information, or other market-maker specific identification or communication path information associated with a given quote or other order message arriving at the exchange systems102. Other details about the functionality of the latency adjuster111in the trading system100are discussed in more detail below.

The trading platform104may include an application programming interface (API), which enables external systems to communicate with the member interface106and/or other components of exchange systems102. The API may include programming instructions and standards that allow one or more market participants (e.g., market maker122, customer124, member firm order routing system126, etc.) to interface with the trading platform104via specially programmed computer code. For example, market maker122may program software to connect to an API at trading platform104. Once connected, market maker122may enter orders/quotes into a specially programmed computer or have programs generate computer orders/quotes based on determined strategies. The entered or otherwise generated orders/quotes can be sent to the trading platform104via the API. Once received, the API can route the received orders/quotes to a processor associated with member interface106where a determination can be made as to whether the orders/quotes are eligible for entering into the electronic book110and/or execution. Eligible orders/quotes can be sent to the electronic book110and/or matching engine108. Due to the large number of trading messages that are received every second, the API and/or member interface106should be configured to quickly and accurately process large amounts of data in short amounts of time.

In some embodiments, trading messages received via member interface106may be communicated to matching engine108, which in turn may result in data being sent to external systems such as clearing systems118or member firm backend systems120via data feeds. In embodiments, data in data feeds may be categorized or otherwise grouped based on one or more attributes that are associated with a financial product. The attributes may include, for example, a product symbol, an opening price, a strike price, an expiration date, a quote, originator of the order or quote, a class, a bid, an ask, or any number of other attributes that can be used to group trading message data. Data having one or more similar attributes may be combined to form an input set. The formation of an input set, attribute grouping, or other categorization of data in the data feed may be performed by a processor at the data output engine114of the trading platform104. The input sets may include all or part of the data in one or more trading messages in data feeds.

Matching engine108may provide an electronic mechanism for matching bids and offers that are submitted to the financial exchange by traders or other entities transacting business at the financial exchange. While financial trading system100shows a single matching engine108, multiple matching engines may be included in a trading platform104. Multiple matching engines may work independently or cooperatively depending on various factors related to the business of the financial exchange. For example, different exchange traded products (e.g., stocks, options, futures, etc.) may utilize different matching engines. The matching engine108may execute trades by pairing buy and sell orders. In some examples, non-marketable orders may be placed in an electronic book110. Orders or quotes in electronic book (also referred to as the EBOOK)110may rest until they can be matched to a contra order or quote.

Matching engine108may update the electronic book110based on executed transactions. After a trade is executed, matching engine108may send information related to the executed trade to the data output engine114. The data output engine114may send the received information to exchange backend systems116, which may be used in the process of settling trades that have been executed at the financial exchange. Further, data output engine114may send information related to the executed trade to member firm backend systems120. Member firm backend systems120may record or otherwise track an entity's executed transactions and/or those transactions that have yet to be executed.

The non-exchange components of financial trading system100can include clearing systems118, member firm backend systems120, and member firm order routing system126; however, additional non-exchange components are also contemplated. Clearing systems118may be used in the process of clearing and settling trades that have been executed at the financial exchange. An example of a clearing corporation is The Options Clearing Corporation, which is a derivatives clearing organization. In some examples, the data output engine114may send a calculated value to the clearing systems118for use in settling one or more transactions. Member firm backend systems120may be used by the entities conducting business at the financial exchange to receive settlement information regarding their transactions. The received settlement information, which may include the value used in the settlement process, may be transmitted from exchange system102(e.g., data output engine114) to member firm backend systems120via a communication mechanism. In embodiments, member firm backend systems120may include a storage device for storing the settlement information, a display device for displaying the settlement information, and/or any number of other components that can be used to facilitate the use of the settlement information.

The computer implemented trading platform104can be accessed in a variety of ways by entities conducting business at the financial exchange. For example, market makers may access computer implemented trading platform104through market maker computers122that are in electronic communication with the member interface106(or an API). Utilizing the market maker computers122, electronic trading messages (e.g., bids, offers, quotes, orders, trading instructions) may be sent to the computer implemented trading platform104. Alternatively, the electronic trading messages may be routed through a member firm order routing system126. The trading messages may include instructions for trading simple and/or complex orders. A simple order may include a single leg, while a complex order may include multiple legs that may be completed for a net price. One or more of the legs in the order may be for an index with a value that is determined using calculation engine112as described herein.

In further embodiments, a non-member entity wanting to transact business at the financial exchange can enter the non-member entity's trading instructions using a customer computer124. Customer computer124may include one or more devices, such as a cellular telephone, smartphone, personal computer, laptop computer, tablet computer, or other mobile or fixed devices now known or later developed. The non-entity entered trading instructions may be routed through a member firm order routing system126, which may transmit the electronic trading instructions to the member interface106(or an API). The trading instructions may be used to purchase one or more financial products whose value is determined using calculation engine112.

The exchange backend systems116may perform a number of functions. For example, exchange backend systems116may perform operations related to contract definition and listing data. Additionally, exchange backend systems116may perform operations including one or more of (i) transmitting information regarding orders (including, but not limited to orders relating to index-based derivatives) to market data vendors128; (ii) performing operations related to the performance of financial product upon which derivatives are based; (iii) determining appropriate contract settlement values; (iv) supplying final settlement data to the clearing systems118and the member firm backend systems120; (v) etc.

FIG.2is a functional block diagram that illustrates a computing device200used in a trading platform104or exchange backend systems116such as illustrated inFIG.1in accordance with embodiments described herein. Computing device200may take a variety of forms. For example, computing device200may comprise or be arranged as a server, a computer, or other device or processing component that is now known or later developed, configured using proprietary software designed and implemented to achieve the functionality described herein.

As shown, computing device200may include a communication interface202, a processor204, and a data storage206, all of which may be communicatively linked together by a system bus, network, or one or more other connection mechanisms214. Although not shown, computing device200may also include other components, such as external storage, an input device operative to interact with the computing device, etc. It should also be understood that the configuration or functionality of computing device200may be distributed or subdivided between a plurality of entities, such as multiple computing devices. Further, it should be understood that some of the functions described herein may be carried out by an entity other than computing device200.

In computing device200, the communication interface202may comprise one or more structures, and associated equipment, for receiving data from one or more sources and distributing data to a group of one or more destinations. Communication interface202may be configured to receive input set data from one or more entities (such as matching engine108inFIG.1) and store all or part of the input set data in data storage206. Communication interface202may also be configured to communicate all or part of the input set data to data output engine114once the input sets are stored or otherwise processed.

Communication interface202may be configured to connect with a network208, external media, a display, or any other components that may be present in a trading system (such as financial trading system100inFIG.1). The connection with the network208(and/or components thereof) may be wired connection, a wireless connection, or combinations thereof. For example, the connection may be a physical connection, such as a wired Ethernet connection or Infiniband connection. In another example, the connection may be a wireless connection, such as a cellular telephone network, an 802.11, 802.16, 802.20 controls or components, a WiMax network, or any other type of network. Further, network208may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.

Processor204may comprise one or more processors, such as general-purpose processors (e.g., a microprocessor), special-purpose processors (e.g., an application-specific integrated circuit (ASIC) or digital-signal processor (DSP)), programmable-logic devices (e.g., a field programmable gate array (FPGA)), or any other processor components now known or later developed. Processor204may carry out one or more instructions using one or more arithmetic, logical, and/or input/output operations. Though processor204is illustrated as a single component, processor204may be integrated in whole or in part with other components of computing device200.

Data storage206may be a main memory, a static memory, or a dynamic memory. Data storage206may include, but may not be limited to computer readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media, organic storage components, and the like. In one case, data storage206may include a cache or random access memory for the processor204. Data storage206may be separate from the processor204, such as a cache memory of a processor, the system memory, or other memory. Data storage206may be an external storage device or database for storing data. Examples may include a hard drive, compact disc (“CD”), digital video disc (“DVD”), memory card, memory stick, universal serial bus (“USB”) memory device, or any other device operative to store data.

As further shown, data storage206may include program data210and/or program logic212. Program data210may include one or more types of data suitable for a given implementation. For example, program data210may include data (such as input sets) that may be stored in memory. Program logic212may include, for example, machine language instructions executable by processor204to carry out various functions, such as the functionality of the methods and systems described herein. In some examples, the functions, acts or tasks may be independent of the particular type of instructions sets, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, micro-code and the like, operating alone or in combination. Processing strategies may include multiprocessing, multitasking, parallel processing and the like.

Referring now toFIG.3, the trading platform104may use identifiers for labeling order types, message types and market participants, as well as predetermined parameters or algorithms to identify each order type and the delay that may be appropriate for adding to processing of the order type or orders from a particular market participant. These identifiers and parameters may be stored in the trading platform104in an order type parameter database300. The order type parameter database300may include the parameters that the trading platform104updates and utilizes for determining which market participant is sending a message, and the time of day and order type that may trigger a latency adjustment to maintain an orderly market. For example, the quote order type database300may include order type and market participant identifiers302that uniquely identify the origin of an order or other message, as well as the order type contained in a message or relating to the message. The order type parameter database300may also include an order type delay setting304identifying a length of time that a quote or order of a predetermined type may be subjected to a delay if a time of trading day or other triggering parameter is met. Additionally, an order type window parameter306, identifying the time of day or the algorithm used for identifying when to begin the delay for a particular order type, may be included in the database300. The order type parameter database may also include one or more order randomization algorithms308for reordering received orders of a given order type in a randomized fashion. The randomization algorithms, order randomization start/stop times for order randomization, and delay requirements may also be included in the order type parameter database. The order type parameter database300may be stored in one or more locations in the exchange systems102, for example the trading platform104, such as in the latency adjuster111, the matching engine108or other component in the trading platform having a memory.

Utilizing the components ofFIGS.1-3, a method of applying a re-ordering of orders or order messaging in an order-type specific queue, and/or adding a messaging delay based on order type, is illustrated inFIG.4.FIG.4illustrates an example trading session400with certain landmark times of the trading session400shown along a timeline402. A pre-opening period401may be set before the opening of the exchange where TAS order queueing starts403and proceeds until the opening of the trading day404. In one implementation, specific order types, like TAS orders, received during the pre-opening period401of the trading day, may be re-ordered from the actual time of receipt to a modified priority ordering. In other implementations, a specific order type may have a latency delay added to it separately from, or in addition to, the re-ordering of the received order queue for that order type.

At the opening404of the trading day for a variety of order types406on the electronic exchange quotes and orders are managed for many different order types and the orders are accepted and matched up to the market close408at the end of the regular trading hours410for the electronic exchange. Certain order types, for example the trade at settlement (TAS) orders412, may be able to be submitted, modified, or cancelled into the pre-opening period401through the settlement period414after the market close408up until the final settlement416time. Because a TAS order412is one that does not have its price decided until settlement408, there may be a burst of quotes and orders during the settlement period414that market participants may use to engineer a last moment change, such as a cancellation of an order or a change in pricing. Although rapid submission of orders and cancellations for TAS orders may take place at the end of the trading day after market close408, the initial pre-opening period401is often where an exchange may see a race for queueing priority of the TAS orders where those market participants with better technology or understanding of the technical order processing capabilities of the exchange may inadvertently obtain, or purposely employ, a technology advantage. Thus, the queueing of TAS orders403in the pre-opening period401may be unrelated to orderly market conditions and, instead, may be related to technological advantages of the trading systems of technologically advantaged market participants over the trading systems of other market participants. With higher speed computing systems that are technically superior in the speed in which order messages (and order cancellation messages) may be sent to and acted on by the electronic exchange, a market participant may become a predatory market participant with respect to TAS orders by taking advantage of faster technology at opening to obtain TAS order queue advantage and then send the trading platform104quick cancellations in the brief settlement period414to obtain a best price after market close408where the final prices are determined. The problematic trading activity that may be more readily initiated by more technologically advantaged market participants may be accomplished by posting orders at different price levels during the pre-opening period401and then quickly removing selective quotes and orders before settlement416. This rapid, last moment order activity can force the TAS orders awaiting execution on the electronic trading system to trade at an undesirable price, or force market participants interested in TAS orders to settle for selecting a less desirable price range when entering a TAS order earlier in regular trading hours410or the settlement period414. This type of predatory market participant activity may even shut out other market participants from matching with any contra TAS orders at all due to the technical advantage the trading systems of certain technologically advantaged market participants may have to affect changes both at pre-opening during order queueing and in the short time of the settlement period414.

As a way of reducing the technical advantage certain market participants may have during the pre-opening period401and settlement period414, an automated and randomized reordering of the TAS order queue during pre-opening401, with or without an automated speedbump418during settlement, may be generated by the latency adjuster111for certain trading activity relating to TAS orders. As shown inFIG.4, the optional speedbump418has a time duration420, a start time422and a stop time424. In one implementation, the duration420of the speedbump418may be a fixed time, for example 5 milliseconds or a fixed percentage of the total settlement period414. In this fixed duration embodiment, the start time422may be randomized by the latency adjuster111. For example, the start time422may begin at any point in the queuing period, or may begin at a random time only within a predetermined window of time beginning at the market close408. In an alternative implementation, the both the duration420and the start time422may be fixed.

In another embodiment, the start time422of the speedbump418may be fixed, for example at market close408, while the speedbump duration420is randomly selected each day by the latency adjuster111. The randomly selected duration420may be completely random, or be selected within a window duration of, for example, 10 microseconds to 5 milliseconds. In yet another implementation, both the duration420and start time422may be fixed and the stop time424of the speedbump418maybe random. Also, in yet another embodiment, both the duration and the start/stop times422,424may be randomly selected each day. In one implementation, the start time delay is before market open but after the pre-open queuing period begins

Alternatively, rather than (or in conjunction with) imposing a speedbump418during the settlement period418, the speedbump418may be applied to TAS orders sent in during the pre-opening period401in any of the same ways discussed herein with respect to the settlement period speedbump option.

FIG.5illustrates a typical order of events in an exchange that is not implementing the features described inFIG.4. The exchange of messages between the market participant502and the exchange system504over time from the pre-opening period between the beginning of TAS queueing to the opening of the trading day, shows a simple first-in-first-out queueing and execution of orders. For example, if Orders A, B and C are all received during the pre-opening period, they are typically acknowledged and queued up by order of receipt. When the market opens, assuming that orders A, B and C are all the same side order (e.g., all are buy orders) then the matching engine will execute a trade of the first received order (here, Order A) against the first received contra order (Order D) that arrived and was acknowledged after the market opened.

The example ofFIG.6illustrates an order flow in an exchange system having one of the features discussed with respect toFIG.4. Specifically,FIG.6demonstrates a simplified version of order flow where TAS orders received during the TAS queueing are reordered during pre-opening period. The pre-opening period includes a randomization or re-ordering portion and a regular pre-opening portion. During the randomization portion or the pre-opening period, the latency adjuster receives and recognizes TAS orders. Rather than immediately acknowledge the order by returning an acknowledgement message indicating timing and priority of the received order, it briefly stores all of the orders received during the randomization period and then reorders their priority at the end to the randomization period. After the end to the randomization portion of the TAS order queueing period, the acknowledgments from the exchange system of these particular orders are then sent out indicating the reordered priorities implemented by the latency adjuster.

As shown inFIG.6, the sequential orders from market participants (Orders A, B and C) received during the randomization portion of the pre-opening period are randomized and acknowledged in a different order (Ack B, C and A, indicating the new randomized priority from the original A, B, C order of receipt) during the remainder of the pre-opening period. Accordingly, only a small delay in the acknowledgement of the orders received and randomized during the randomization portion of the pre-opening period occurs. Also, any TAS orders received during the remainder of the pre-opening period are not randomized or delayed and are simply queued in the order received, as indicated by the Order D sent by a market participant, and immediately acknowledged by the exchange system as having a time priority based on the order of receipt.

Subsequently, after the market opens, the first contra order to the earlier received orders will trade against the order given the first priority in the randomization portion of the pre-opening period. Assuming in the simplified example ofFIG.6that all of the TAS orders received in the pre-ordering period were of the same type (e.g. sell orders), and that the first contra order (e.g. buy order) received after the market open is Order E, then the matching engine of the exchange system would execute Order B against Order E. In like manner, the next buy order arriving would be executed against Order C due to the randomization that had been applied earlier to the TAS order queue.

The re-ordering of the TAS order priorities from the actual time of receipt priority may be accomplished by the latency adjuster111in several ways. The latency adjuster may retrieve an order randomization algorithm308from the order type parameter database300. That order randomization algorithm may be a random number generator that assigns a new priority value to each order, or simply a fixed technique of shuffling order priority by, for example, executing a one-time swap of the queue order of each pair of received TAS orders with the next later order in the queue (e.g. re-ordering 1,2,3,4,5,6 to 2,1,4,3,6,5). Any number of randomization algorithms or of predetermined fixed techniques may be used, and a different technique or randomization algorithm, from a set of different fixed techniques or randomization algorithms may be selected for use on a given trading day.

In one alternative implementation, as illustrated in the example ofFIG.7, a speedbump may be applied to prevent a market participant having a technological advantage from lifting a TAS quote from a market maker. The latency adjuster111may identify a market maker TAS quote and, based on identifying that a contra TAS order has arrived that would execute against that order, provide a latency to that contra TAS order so that the market maker quote may have a little more time to cancel the market maker quote. Thus, the market participant order (Professional Order B) would be delayed by a speedbump to allow more time for the market maker cancellation of the original market maker quote to make it to the exchange. The cancellation (Cancel Quote A), which was not subjected to a speedbump would first be acknowledged (Quote A Cancelled), and then the delayed market participant order would be later acknowledged (Order B Ack) and would not execute against the market maker original quote. The window of time in which the speedbump may be applied may be, for example, between 1 microsecond and 10 milliseconds. This time window may be adjusted as the marketplace and technology continues to progress. The speedbump may be selectively applied to market participant orders directed to market maker quotes during this speedbump window, based on the market participant ID associated with the quote or order and based on the order type identifier (e.g. a TAS order).

FIG.8illustrates an example decision flow that may be executed by the trading platform104, for example by a processor of the latency adjuster111, for monitoring trade activity and instituting latency to order execution and/or message transmission. In the discussion above, a particular order type, the TAS order, is discussed for applying re-ordering of an order queue during pre-opening, or order latency, however other order types are also contemplated. Referring toFIG.8, one example of a process800for applying a speedbump to particular order types is illustrated. The latency adjuster111of the exchange systems102monitors the time of the trading day to determine if the time for a potential speedbump generation operation is appropriate (at802). If an order is received (at804) and if order type is not of the type that the speedbump would be generated for (e.g. other than a TAS order in this embodiment), then the latency adjuster111takes no action, regardless of the time of the trading day. If the incoming order is identified as the correct order type, a TAS order in this embodiment, then the latency adjuster takes a next step in determining whether to apply a speedbump. The determination of order type for an incoming order may be based on an identifier associated with the order type that may be included or added to an order that is received at the member interface106of the trading platform104. The latency adjuster111, which maybe in the member interface106, the matching engine108or other portion of the trading platform104, may then identify whether the order type associated with the received message or order matches one in the order type parameter database300associated with any latency requirement or rules.

The process800continues with, when the received order type is the TAS or other predetermined order type, determining whether the time for determining what the latency should be for newly incoming orders and messages identified as TAS related (at806). In one implementation, this may be a determination as to whether the market close408has been reached. Alternatively, other parameters may be considered that moves the time for latency determination before the close408or bypasses the latency process altogether in other implementations.

When a TAS order latency determination time has been reached, the latency adjuster111calculates the duration420of the speedbump418that will be applied, as well as the start422or stop424time of the speedbump418(at806,808). As noted above, the order type parameter database300may be accessed by the latency adjuster111to obtain the actual values or algorithms for calculating the delay duration and the start or stop times. For example, the duration of the speedbump418may be from a fixed number, or a table of fixed numbers, in the order type delay setting304region of the order type parameter database. The start and stop time may be randomly generated using a random number generator algorithm contained in the order type window setting306of the database300. The random number generation algorithm could be seeded with a current time measurement from a processor clock used by a processor of the latency adjuster in embodiment.

In different implementations, the duration and start/stop times of the speedbump may be further adjusted by market participant specific characteristics based on a market participant identification code, IP address or other market participant identifier associated with a TAS related message. In this manner, the particular known technology advantage of a given market participant, or a pattern of that market participant's prior trade actions indicative of a technology advantage, may be further compensated for in the TAS order delay process by increasing the window or duration of the speedbump applied to their particular order processing.

After determining the duration and start/stop times of the speedbump for a given TAS-related order received, the latency adjuster waits until the determined start time422has been reached for that TAS order speedbump418and then applies the calculated speedbump to delay processing of that order for the determined duration420(at810,812). In one embodiment, the same speedbump418(duration) is applied to all TAS order processing from any market participant during the settlement period up to the settlement time. In other implementations, such as noted in the example ofFIG.7, only certain market participant TAS orders, or orders directed against an existing TAS quote from a market maker are subjected to a speedbump.

A system and method for re-ordering received orders of a specific order type during a pre-opening period, and/or managing latency of messages in an electronic exchange is described above. To maintain an orderly and efficient electronic marketplace, and counteract potential high frequency or predatory market practices available to those market participants with technology advantages over others, a re-ordering of queue priority or a latency may be applied to processing of certain order types based on time of trading day. The queue reordering, latency duration, or application start/stop time for the particular order type may be fixed or random.

It is intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, that are intended to define the spirit and scope of this invention.