WO2000026834A2 - Crossing network and method - Google Patents

Crossing network and method Download PDF

Info

Publication number
WO2000026834A2
WO2000026834A2 PCT/US1999/025369 US9925369W WO0026834A2 WO 2000026834 A2 WO2000026834 A2 WO 2000026834A2 US 9925369 W US9925369 W US 9925369W WO 0026834 A2 WO0026834 A2 WO 0026834A2
Authority
WO
WIPO (PCT)
Prior art keywords
price
orders
order
ofthe
satisfaction
Prior art date
Application number
PCT/US1999/025369
Other languages
French (fr)
Other versions
WO2000026834A3 (en
Inventor
John T. Rickard
William A. Lupien
Original Assignee
Optimark Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Optimark Technologies, Inc. filed Critical Optimark Technologies, Inc.
Priority to AU14558/00A priority Critical patent/AU1455800A/en
Priority to EP99971554A priority patent/EP1131764A2/en
Publication of WO2000026834A2 publication Critical patent/WO2000026834A2/en
Publication of WO2000026834A3 publication Critical patent/WO2000026834A3/en
Priority to GBGB0428305.7A priority patent/GB0428305D0/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention is directed to an automated crossing network (also known as a matching system) and method, and in particular, to an anonymous and confidential crossing network that matches buy and sell orders by maximizing the mutual satisfaction of traders submitting orders.
  • an automated crossing network also known as a matching system
  • an anonymous and confidential crossing network that matches buy and sell orders by maximizing the mutual satisfaction of traders submitting orders.
  • crossing networks used in connection with the trading of trading instruments are disclosed in U.S. Pat. No. 4,412,287, which discloses an automated stock exchange in which a computer matches buy and sell orders for a variety of stocks; U.S. Pat. 3,573,747. which discloses an anonymous trading system for selling fungible properties between subscribers to the system; U.S. Pat. 3,581,072, which discloses the use of a special purpose digital computer for matching orders and establishing market prices in an auction market for fungible goods; U.S.
  • Pat. 4.674,044 which discloses an automated securities trading system
  • U.S. Pat. 5,136,501 which discloses an anonymous matching system for effectuating trades through automatic matching in which buyers and sellers who are willing to trade with one another based on specified criteria, such as price, quantity and credit, may automatically trade when matching events occur satisfying these criteria
  • U.S. Pat. No. 5.101,353 which discloses an automated system for providing liquidity to securities markets in which orders are entered by the system and executed in real time either internally between system users or externally with stock exchanges and markets.
  • Crossing networks have a number of advantages, including: (a) traders need not search for a contraparty; and (b) anonymity is preserved.
  • Instinet ' s Crossing Network and POSIT Portfolio System for Institutional Trading
  • POSIT Portfolio System for Institutional Trading
  • the Instinet Crossing Network has an equities trading service to match buyers and sellers anonymously at set times. Computers pair buyers with sellers on a time priority basis. Trades are executed at the closing price for exchange-listed issues, and at the midpoint ofthe inside market (best bid and ask) for OTC issues.
  • POSIT for example, enables large investors to trade baskets of stocks among themselves.
  • the orders are sent to a central computer where they are electronically matched with other orders.
  • POSIT crosses are done during the trading day.
  • the prices are obtained from those quoted on the exchanges, a practice known as "parasitic pricing. " ' See “Reshaping the Equity Markets, A Guide for the 1990s” cited above.
  • Instinet owned by Reuters, also operates an electronic block-trading system that facilitates the negotiation of block trades between institutional investors and brokers. Instinet allows parties to trade anonymously, entering bids electronically. Instinet subscribers can respond to an "order" entered into the system either by matching a displayed price or by making a counter bid or offer that is transmitted instantaneously to the contraparty's terminal. The trades that result from these negotiations become public information only when they are executed. This procedure provides an alternative to the direct human-to-human negotiation of orders in the upstairs market or on the trading floors. Instinet provides a limit order book for over-the-counter (OTC) securities and listed securities and also provides inside quotes for exchange listed securities for the seven U.S. exchanges on which stocks can be traded and for NASDAQ listed securities.
  • OTC over-the-counter
  • crossing networks function independently of existing stock exchanges. However, some crossing networks are operated by stock exchanges.
  • the Match Market Exchange (“MMX") is operated by the Chicago Stock Exchange. All matched orders are executed at a random time within a predetermined ten minute window at the market price at such time. The market price is calculated based upon the spread of a particular issue. Rather than matching orders on the basis of time priority, the MMX system uses liquidity fees and liquidity credits to determine the level of priority for order matching. Those users willing to pay the highest liquidity fee have the highest execution priority. See 59 F.R. 5451 (February 4, 1994).
  • Crossing networks that automatically match buy and sell orders often concentrate trading at a single point of time, and can be called a batch process matching system. There is a need, however, for an anonymous crossing network that continuously, and in real-time, satisfies the buying and selling desires of an arbitrary number of market participants.
  • a major problem encountered in the design of crossing networks is that of determining how to match buyers and sellers.
  • Existing approaches to this problem include:
  • Premium strategies (as in the Chicago MMX system), where bids and offers have an associated positive or negative premium, and crossing takes place at the midpoint of market spread or at the minimum necessary premium differential from the midpoint, with priority given in order of premium.
  • the premium-based priority in matching provides the incentive for offering higher premiums.
  • Each ofthe above approaches is a batch process that relies upon ad hoc rules of competition among a relatively small set of discrete orders as being the means of arbitrating the crossing network participants' buy /sell entries.
  • orders to buy or sell can enter the market at any time, and discrete orders in a crossing network often represent only an approximate and partial expression of the order fill that would satisfy the trader.
  • discrete orders in a crossing network often represent only an approximate and partial expression of the order fill that would satisfy the trader.
  • an individual order seldom represents the full desired fill size, and the trader must then employ multiple orders at different prices (and generally in different markets) to achieve his ultimate fill.
  • existing crossing networks allow discrete buy or sell orders to be entered, e.g., "sell 10.000 IBM at 64.”
  • Existing crossing networks do not easily allow traders to enter combinations of orders, such as "sell 10,000 IBM at 64 only if I can buy 20,000 DEC at 32".
  • existing crossing networks do not allow traders to enter combinations of orders, such as "sell 10.000 IBM at 64 or sell 100,000 IBM at 63.”
  • Traders often have trading strategies such as, for example, "buy 3,000 IBM at 33, but if I can buy 5,000. 1 would be prepared to pay 33 and V ⁇ that cannot be handled by existing crossing networks.
  • a crossing network is needed that will guarantee mathematical optimality ofthe matching process, so that each participant is assured that the overall outcome of the process (in terms ofthe price and size of all fills) has maximized the joint satisfaction of all participants.
  • the present invention is directed to a computerized crossing network that allows traders to input as orders a satisfaction density profile and maximum size limit which at once characterizes the trader ' s degree of satisfaction to trade at any and all prices and sizes, up to the aggregate (or size) limit, and that matches orders (as represented by each trader's satisfaction density profile) so that each trader is assured that the overall outcome ofthe process (in terms of average price and size of fill) has maximized the mutual satisfaction of all traders.
  • the satisfaction density profile is a two-dimensional grid or matrix (which could also be represented as a two-dimensional graph or in another two-dimensional format), one dimension being price and the second dimension being size of transaction, that as a whole characterizes the trader ' s degree of satisfaction for a transaction at each (price, size) coordinate.
  • Each element ofthe satisfaction density profile called a satisfaction density value, indicates the trader's degree of satisfaction to trade that size order at that price.
  • each satisfaction density value is a number between zero and one, with zero representing no satisfaction (i.e., will under no circumstances trade that quantity at that price) and one representing total satisfaction.
  • Each trader can input one or more satisfaction density profiles.
  • each satisfaction density profile can be represented and input as a graph of at least two dimensions, such as, for example, as a temperature grid or two dimensional matrix.
  • a trader may input a limit order that may be converted into a satisfaction density profile.
  • the trader once the satisfaction density profile is complete, the trader causes the satisfaction density profile to be transmitted to a central matching controller ("CMC"), which anonymously matches buy and sell orders as discussed below.In this embodiment, the CMC may maintain the characteristics ofthe orders represented by the satisfaction density profiles confidential.
  • CMC central matching controller
  • such characteristics may include the name of a security, a price of a security, a quantity of shares of a security, a preference value for trading a particular security at a certain price and volume, conditions relating to the way in which the buy/sell order for a particular security should be filled or satisfied (e.g., all/none, fill or kill, immediate or cancel, corporate buy back, etc.), and combinations thereof.
  • the present invention can easily handle trades of baskets of securities. For example, in the representative embodiment, if a trader wishes to simultaneously both sell IBM and buy DEC, the trader would create a sell satisfaction density profile representing the IBM part of the transaction and a buy satisfaction density profile representing the DEC part ofthe transaction, and indicate that these profiles are to be linked together. The CMC will then combine these two satisfaction density profiles into one. This combining process can be accomplished, for example, by utilizing a connection matrix and performing matrix manipulation on the two profiles. It will be apparent that other, more complex, combined trades can be accomplished in the same manner.
  • the present invention can be operated as a batch crossing network, where orders are matched at set times.
  • the present invention can be operated as a continuous crossing network by treating each new satisfaction density profile that is entered as a triggering event that causes a new round of computation as described above.
  • One aspect ofthe subject invention is directed to a method for matching orders.
  • the method includes the steps of receiving a plurality of orders, wherein each order has a source and characteristics associated therewith; maintaining the source ofthe plurality of orders anonymous; maintaining the characteristics ofthe plurality of orders confidential; and matching at least some of the orders based on a mutual satisfaction function.
  • the method includes the steps of creating plurality of buy and sell kernels based on buy and sell orders for a security. Each kernel has a price ofthe security at which a trader willing is willing to buy /sell the security, a minimum and maximum volume ofthe security that the trader is willing to buy/sell, and priority characteristics associated therewith.
  • the method also includes the steps of sorting the buy and sell kernel based on the priority characteristics; selecting a buy/sell kernel from the sorted buy and sell kernels; and aggregating sell/buy kernels against the selected buy/sell kernel at the price associated with the kernel.
  • the method may also include the steps of altering the price ofthe selected kernel; aggregating sell/buy kernels against the selected buy/sell kernel at the altered price; and executing a trade ofthe security associated with the kernel at the altered price.
  • Fig. 1 is a block diagram of a representative system operating according to the present invention
  • Fig. 2 is an example satisfaction density profile for a sell order
  • Figs. 3A to 3D are example satisfaction density profiles in contour plot format
  • Fig. 4A and 4B are examples of interface windows, used to set parameters for and enable input of satisfaction density profiles
  • Fig. 5 is a load pattern interface window, used to load parameterized satisfaction density profile templates:
  • Fig. 6A and 6B are examples of screen displays showing an interface window, a load pattern interface window and a satisfaction density profile;
  • Fig. 7 is an example buy satisfaction density profile displayed as a temperature graph
  • Fig. 8 is a description ofthe matching process in flow chart format
  • Figs. 9A to 9C are example mutual satisfaction cross products, represented as contour graphs
  • Fig. 10 depicts a preference profile for use in the exemplar)' embodiment for use with a specific exchange
  • Fig. 11 shows an illustration of explicit price and volume controls in accordance with one aspect ofthe present invention
  • Fig. 12 shows an illustration of implicit price controls generated by the system according to another aspect ofthe present invention:
  • Fig. 13 is an illustration of a preference profile with no implicit price controls according to yet another aspect ofthe present invention.
  • Fig. 14 is an illustration of coordinates with and without standing according to a further aspect ofthe present invention.
  • Fig. 15 is a flow chart representing the sequential steps ofthe matching algorithm of the subject invention.
  • Fig. 16 is a flow chart representing the sequential steps ofthe aggregation stage ofthe matching algorithm of Fig. 15;
  • Fig. 17 is a flow chart representing the sequential steps ofthe negotiation stage ofthe matching algorithm of Fig. 15.
  • the present invention is described below in the context of trading equity securities.
  • the invention is not so limited and can be easily adapted to allow the trading of anything that can be bought or sold, including liquid assets such as futures, derivatives, options, bonds, currencies, commodities, insurance contracts, and the like.
  • the invention may be employed to trade media time, airline tickets, concert tickets, electronic components, or any contract for goods or services.
  • the term instrument is used in its broadest meaning to cover anything that may be bought or sold. Accordingly, where the context permits, the terms "securities", “stock”, and “shares” when used herein includes other instruments that can be traded, such as, for example, futures, derivatives, options, bonds and currencies.
  • the terms “buy “ and "sell” include, where appropriate, put and call, bid and offer, etc.
  • Intended users ofthe representative embodiment system of this invention are typically investors, such as institutional investors (e.g., a pension fund) but may also be individual investors, brokers or others who deal in or trade securities.
  • institutional investors e.g., a pension fund
  • investors may also be individual investors, brokers or others who deal in or trade securities.
  • the term "user”, "trader” or “investor” means that person or entity who wishes to make a trade.
  • a central matching controller (“CMC") 2 matches buy and sell orders transmitted to the CMC from various trader terminals, e.g., 10, 12, 14.
  • the CMC 2 is preferably a supercomputer that can perform matrix calculations at rates of multiple gigaflops, such as. for example with present technology, an IBM SP2 or an Intel PARAGON supercomputer.
  • a storage device 4 is coupled to the CMC 2.
  • the storage device 4 comprises a database for storing buy and sell satisfaction density profiles.
  • buy satisfaction density profiles can be stored in a buy profile database 6 and sell satisfaction density profiles can be stored in a sell profile database 8.
  • Each trader who wished to trade will have access to a trader terminal, such as trader CPU 10, 12. 14.
  • the trader terminals 10, 12, 14 are high powered personal computers or workstations.
  • the trader terminals 10. 12, 14 are coupled to the CMC 2.
  • Trader terminals may be coupled to the CMC 2 over a wide area network (WAN) and/or over the Internet.
  • Each trader terminal includes one or more input output devices 16, 18, 20 that allow for the entry of satisfaction density profiles and the display of output, such as matching trades.
  • a trader may input a buy or sell order as a limit order.
  • software residing within either the CMC 2 or a trader terminal 10, 12. 14 may convert the limit order into a satisfaction density profile.
  • Each order has a source and characteristics associated therewith.
  • the source of an order identifies the person or entity submitting the order (e.g., the name of a trader, a specialist, a market maker, a firm, and combinations thereof).
  • a characteristic of an order is information that relates to the order, for example, a name of a security, a price of a security, a quantity of shares of a security, conditions relating to the order for a security, and combinations thereof.
  • the conditions relating to the order for a security e.g., "Day,” “All or none,” “Fill or kill,” “Immediate or cancel," “Good until first fill,” and “Corporate buy back) are described in more detail below.
  • the CMC 2 maintains the identity ofthe sources of orders anonymous and maintains the characteristics ofthe orders represented by the profiles confidential. Thus, in this embodiment, the sources and characteristics ofthe orders submitted to the CMC 2 are not disclosed to other traders. This reduces the market impact that an order might otherwise have on the price of a security.
  • FIG. 2 there is illustrated an example satisfaction density profile for a sell order.
  • each security that a trader wishes to trade requires the creation of a satisfaction density profile.
  • the satisfaction density profile as shown in Fig. 2 is a two-dimensional grid. Quantity is represented on the vertical axis and price is represented on the horizontal axis. (The ranges and scale of each axis can be set by the trader or automatically set by the present invention.) The satisfaction density levels are described by the numbers shown.
  • the satisfaction density profile characterizes the trader's range of interest in the transaction at each (price, size) combination.
  • the trader is required to enter in one or more places on the satisfaction density profile a satisfaction density value, indicating the trader's willingness to trade that size order at that price.
  • each satisfaction density value is a number between and including zero and one, with zero representing no satisfaction (i.e., will under no circumstances trade that quantity at that price) and one representing total satisfaction.
  • Fig. 2 shows that the trader is fully willing to sell 7,500 at $73, but under no circumstances is willing to sell any quantity at $70.25.
  • the satisfaction density value to sell 2.250 at $72.25 is 0.3, indicating a limited degree of satisfaction.
  • Fig. 2 shows that the trader is more willing to sell 8.250 at $72.75 then 1.500 at $73.25.
  • a boundary is shown, marked B1-B2-B3-B4.
  • the user is able to draw a boundary on the satisfaction density profile.
  • the user can enter satisfaction density values.
  • the satisfaction density values are automatically set to zero.
  • Fig. 3A there is illustrated an example satisfaction density profile for a buy order.
  • the satisfaction density profile as shown in Fig. 3A is a contour plot on a two-dimensional grid. Price is represented on the vertical axis and quantity is represented on the horizontal axis. The satisfaction density levels are described by the contours shown.
  • each satisfaction density value is a number between and including zero and one, with zero representing no satisfaction (i.e., will under no circumstances trade that quantity at that price) and one representing total satisfaction.
  • Fig. 3A shows that the trader would be highly satisfied to buy 1,500 at $20.50, but under no circumstances is willing to buy any quantity at $24.
  • the satisfaction density value for a buy of 3,000 at $20 is 0.6, indicating a more limited degree of satisfaction.
  • Fig. 3 A shows the trader is more willing to buy 2,000 shares at $21 than 4.000 shares at $21.
  • Fig. 3B shows an example satisfaction density profile for a sell transaction in the same format as the contour plot in Fig. 3 A.
  • the satisfaction density profile of Fig. 3B could represent, for example, an agency sell order.
  • Fig. 3C shows a satisfaction density profile for a sell transaction.
  • Fig. 3C illustrates a "soft" limit order.
  • Fig. 3D shows a satisfaction density profile for a buy transaction.
  • FIG. 4A there is illustrated an example interface window 21 that can be used by a trader to set parameters when inputting a satisfaction density profile (see also Fig. 4B).
  • the interface window 21 is displayed on an Input/Output device (e.g.. 16, 18, 20).
  • the interface window 21 in the representative embodiment can be manipulated according to standard graphical user interface (GUI) commands by a user using, for example, a mouse and a keyboard.
  • GUI graphical user interface
  • a Side indicator 22 allows the trader to set the type of transaction, e.g.. buy, sell, sell short etc.
  • a Symbol indicator 24 allows the trader to set the instrument being traded, e.g., for stocks, the ticker symbol; for futures, the futures symbol, etc.
  • a Maximum Quantity indicator 26 allows the trader to set the maximum quantity to be traded. In Fig. 4A, the trader has entered a buy profile to buy a maximum quantity of 50,000 Motorola shares.
  • the trader can also set a Time-in-Force indicator 28 that determines for how long the order will be valid. Examples of valid Time-in-Force settings include "good until canceled", “good until end of day " and for a set period of time.
  • a Surface Description section 30 of the interface window 21 allows the trader to define the dimensions ofthe satisfaction density profile.
  • a Center Price parameter 32 is used to set the price that is displayed in the center of price axis ofthe satisfaction density profile.
  • a Price Range parameter 34 shows the range for the price on the price axis.
  • a Price Interval parameter 36 enables the trader to set the price interval (i.e.. scale) on the price axis ofthe satisfaction density profile. For example, as shown in Fig. 4A. the center price is set at 48 and the price range at 6. Thus, the price axis will vary from a price of 45 to a price of 51 (with 48 being in the center) in price increments of one quarter.
  • a Price parameter 37 can be used to set whether the price is absolute or relative (e.g., pegged to the bid/ask midpoint or to the average price ofthe last match of that security).
  • a Min Size parameter 38 and a Max Size parameter 40 allows the trader to set the minimum and maximum limits for the quantity axis ofthe satisfaction density profile.
  • the CMC 2 could determine the smallest grid resolution used and interpolate all coarser grid resolutions to that resolution.
  • the CMC 2 could specify a minimum resolution (e.g. 100 shares and 1/8 in price) and interpolate all coarser grid resolutions to the specified minimum resolution.
  • a Cursor Position segment 42 will display the coordinates (price, size) of the position ofthe cursor as the cursor is moved by the user over the satisfaction density profile being created.
  • a Cursor Type section 44 has a number of buttons to control the function ofthe cursor, for example, a set button, a more button, a less button, a boundary button, and an edit button. The more and less buttons allow the user to increase or decrease the satisfaction density level on the satisfaction density profile at the location ofthe cursor. In the representative embodiment, the selected satisfaction density value is increased or deceased each time the mouse button is "clicked.”
  • the boundary button allows the user to create a boundary, as discussed above at Fig. 2.
  • the edit button allows the user to edit the boundary.
  • the set button allows the user to set a satisfaction density value, so that each time the mouse is "clicked", the set value is placed in the satisfaction density profile at the location ofthe cursor.
  • a Display section 46 that has two buttons, namely, an Update button and a Display Surface button.
  • the Update Button will redraw the satisfaction density profile.
  • the Display Surface button will allow the user to change the way the satisfaction density profile is displayed, e.g., as a contour plot (as shown in Fig. 2) or a temperature graph (as shown in Fig. 7 below).
  • the interface window 21 can also have a quit button 50, a clear button 52, a reset button 54 and an apply button 56.
  • the quit button 50 enables a user to exit from the program that controls the interface window 21.
  • the clear button 52 clears the display ofthe graph (e.g., the display ofthe satisfaction density profile) and all other parameter values, such as, for example, the Min Size parameter 38 and the Max Size parameter 40.
  • the reset button 54 "undeletes" the most recent change to the graph, resetting the state ofthe graph to the immediately preceding state.
  • the apply button 56 when selected, causes the satisfaction density profile to be submitted for matching.
  • a remove boundary button 59 when selected, will remove all boundaries from the satisfaction density profile.
  • a patterns button 58 allows a user to retrieve pre-defined or user-defined parameterized templates for common types of satisfaction density profiles.
  • a load pattern window 60 (as shown in Fig. 5) will be displayed, that allows the user to select saved patterns.
  • there are two saved patterns namely ibm_seller_l and ibm_buyer_ l, that store patterns that enable a user to quickly load and use satisfaction density profiles to buy and sell IBM stock.
  • Certain common order types can be expressed as parameterized templates that could be selected directly using the Patterns button 58 and the Load Pattern window 60. Once the corresponding template pops up on the display, the user could morph the display to suit the user ' s preferences as described below.
  • Figs. 6A and 6B show a full screen display that includes an interface window 21 and the satisfaction density profile of Fig. 2.
  • the entry of buy/sell profiles can be facilitated by a combination of a user-friendly graphical interface and user-tailorable templates.
  • a user-friendly graphical interface and user-tailorable templates.
  • the GUI would provide a set of tools for quickly entering buy/sell profile "peg point" values at selected price/size grid coordinates, along with an arbitrarily drawn boundary outside of which the profile values would be set to zero at all grid points.
  • the CMC 2 would then calculate a two-dimensional (or multi-dimensional) profile that exactly matches the specified points and interpolates between these values to compute all other grid values.
  • This interpolation can be accomplished by a number of mathematical algorithms, including but not limited to triangular tessellations, spline functions, and surface and/or contour plotting programs.
  • the GUI would also include the ability to "morph" a surface profile created in this manner, using mouse hook-and-drag type operations or other similar methods, so that the profile can be altered by the user as desired to achieve a final configuration.
  • Fig. 7 shows a buy satisfaction density profile displayed as a temperature graph.
  • the user can cause any satisfaction density profile that has been inputted as a contour plot (or other representation) to be displayed in the form of a temperature graph by selecting the Display Surface button.
  • each (price, quantity) coordinate is represented by a colored square (e.g., 80), with the color ofthe square signifying the satisfaction density value.
  • a satisfaction density value of 0 is represented by a black square
  • a satisfaction density value of 1 is represented by a white square
  • a satisfaction density value of 0.1 is represented by a blue square
  • a satisfaction density value of 0.2 is represented by a red square
  • a satisfaction density value of 0.9 is represented by a yellow square, and so on.
  • the trader can view the satisfaction density profile as a meaningful and colorful graphical display.
  • Fig. 8 is a flow chart representing the overall steps performed in accordance with the present invention.
  • Traders enter satisfaction density profiles, as discussed above, at steps 100 and 102. It will be appreciated that many traders can each enter one or more satisfaction density profiles.
  • Fig. 8 shows that the buy and sell profiles are entered at different steps (i.e.. steps 100 and 102); however, the same interface (e.g., interface window 21) and terminals 10. 12, 14 are used for the input of both buy and sell profiles.
  • steps 100 and 102 could conceptually be considered to be the same step, merely with differing data.
  • buy satisfaction density profiles when ready for matching, are transmitted to the CMC 2 and stored in a buy profile database 6 (step 104).
  • Sell satisfaction density profiles when ready for matching, are transmitted to the CMC 2 and stored in a sell profile database 8 (step 106).
  • the CMC 2 calculates, for each possible buy /sell combination stored in the buy profile database 6 and sell profile database 8, a mutual satisfaction function, which, in the representative embodiment, is a mutual satisfaction cross product.
  • the mutual satisfaction cross product represents the potential for that buy/sell pair mutually to satisfy each side.
  • the CMC 2 will calculate six mutual satisfaction cross products, e.g. Al, A2. Bl. B2, CI, C2.
  • the CMC 2 ranks each grid element (possible buy /sell pair at a corresponding price and size) of each mutual satisfaction cross product in order from largest to smallest.
  • the buy /sell pairs are then matched in the ranked order (step 1 12), accumulating the price and size for the buyer and seller of each matched transaction (steps 1 14 and 116).
  • step 1 12 When the size limit for a particular satisfaction density profile is reached, all remaining lower ranked grid elements involving that profile are removed from consideration (steps 122 and 124). If all feasible (i.e.. non-zero mutual satisfaction) crosses have not been done (step 1 18), then control returns to step 112. If all feasible crosses have been completed, then the process is temporarily suspended until the next order is entered or an existing unmatched order is canceled or modified (step 120), upon which control returns to step 108.
  • Fig. 8 can be described more precisely in mathematical notation, as follows. This explanation will begin with a batch process description, and then show how this extends directly to a continuous crossing strategy.
  • B,(p,s) Assume we have M buyers and N sellers in a crossing pool for a given stock. We define B,(p,s) as the "satisfaction density" of the i-th buyer for receiving a portion, s. of his fill at price p, where 0 B(p,s) 1. Along with this profile, the buyer will have a maximum size limit , . Let S ⁇ (p,s) and ⁇ be the corresponding satisfaction density and size limit for the k-th seller. These satisfaction density profiles are two-dimensional surfaces over a grid of price and size coordinates that characterize the participant's degree of satisfaction in the transaction.
  • a value of zero in any coordinate cell indicates no satisfaction (i.e., no desire for any portion ofthe transaction to be accomplished at the corresponding cell price), while a value of unity indicates full satisfaction. In-between values correspond to limited degrees of satisfaction. Mathematically, these values represent "fuzzy " variables that characterize the degree of membership of a particular price/size transaction in the set of satisfying transactions.
  • the satisfaction density of a marketmaker at a given price p might be constant for sizes from zero up to 1.000 shares, and then decline rapidly to zero for larger sizes.
  • the satisfaction density of an agency broker might be non-zero only for sizes up to the client ' s order size.
  • the satisfaction density of an accumulating or divesting investor might exhibit a broad hump in size centered at some large value.
  • This product lies between zero and unity in value, and provides a measure ofthe relative degree to which a given price and size satisfy a particular pair of buyer and seller. There will be MN such mutual satisfaction densities for all participants in the batch.
  • J ik (p,s) min (B,(p,s), S k (p,s) ⁇
  • the optimization problem is: what allocation of amounts and prices
  • the present invention may allow a minimum threshold of mutual satisfaction in the ranking process, below which no allocations are made.
  • the satisfaction density for one stock can be made a function ofthe allocations already made in another stock.
  • each new satisfaction density entered into the crossing network of the present invention is treated as an event that triggers a new round of computation as described above. While the computation requirements to implement this process in real time for all stocks are significant, they are well within the capability of modern supercomputers.
  • Buyer #1 Profile is represented graphically as a contour plot in Fig. 3A.
  • Buyer #2 Profile is represented graphically as a contour plot in Fig. 3D.
  • Seller #1 Profile is represented graphically as a contour plot in Fig. 3C.
  • Seller #2 Profile is represented graphically as a contour plot in Fig. 3B.
  • J12 therefore equals 0.00 0.00 0.00 0.00
  • J21 therefore equals 0.10 0.10 0.10 0.00
  • J22 therefore equals 0.00 0.00 0.00 0.00
  • Jl 1 is represented graphically, as a contour plot, in Fig. 9A.
  • J12 is represented graphically, as a contour plot, in Fig. 9B.
  • J21 is represented graphically, as a contour plot, in Fig. 9C.
  • J22 is represented graphically as a blank contour plot (not illustrated).
  • the present invention can easily handle trades of baskets of securities.
  • the CMC 2 will functionally link related satisfaction density profiles into one. This linking process can be accomplished in its most general form, for example, by matrix manipulation of the two profiles utilizing a connection matrix.
  • additional variables can be included that have an effect on the satisfaction density profile.
  • an eligibility variable or an urgency variable could be set by the trader, as explained below.
  • a trader has a "buy basket” and a “sell basket” whose execution status cannot become too far unbalanced on either side, in dollars or shares or both.
  • the satisfaction density profile of the present invention can be augmented to include two other variables: eligibility and urgency.
  • each of these variables can take on a value between and including zero and one.
  • the eligibility variable has a binary value and the urgency variable has a value between and including zero and one.
  • Both the urgency variable and the eligibility variable can be associated with the satisfaction density profile as a whole (e.g.. one value per variable per profile) or each coordinate ofthe satisfaction density profile (e.g., one value for each (price, size) coordinate.)
  • the eligibility value when associated with each coordinate, represents the degree to which that grid point is eligible for matching.
  • the eligibility variable is a binary variable that is used to track execution status, i.e., all values ofthe eligibility variable are assigned a value of one at order profile entry, and matched values are set to zero upon matching.
  • the eligibility variable could keep track of when matches have occurred.
  • the eligibility of unmatched values could be held to zero pending satisfaction of execution status constraints of other securities (e.g.. as in scenario A. above).
  • the eligibility variable could be used as a coupling between two different stocks.
  • the eligibility variable could be a "fuzzy " variable, having values between and including zero and one. that would allow for " soft” (i.e.. continuous-
  • the urgency variable represents the degree to which a particular grid point satisfaction value should be either (a) translated in the direction of a more aggressive price, or (b) warped to a more aggressive satisfaction value, or both.
  • there is one urgency value per satisfaction density profile i.e., urgency is condensed to a single scalar value for each security, applied uniformly
  • the value ofthe urgency variable ranges from zero to one.
  • the urgency variable would have a value of zero, representing regular trading urgency.
  • Non-zero values ofthe urgency variable would signify the degree of urgency, with one being the most urgent.
  • the following provides a detailed description of an exemplary embodiment ofthe above-described matching system and method, including general protocols associated with preference profiles, and the detailed algorithmic process by which contra profiles are matched.
  • the latter description may include priority rules, matching constraints, and the handling of special cases such as ITS (Intermarket Trading System) trades and short sales.
  • ITS Intermarket Trading System
  • the basic user input to the crossing network is a preference or satisfaction density profile, which expresses the trader's degree of preference (a number between zero and one) to trade at each price/size coordinate in a given cycle. Any coordinate with a non-zero preference value is eligible to be matched one or more times at its corresponding size with one or more contra profiles, at its corresponding price or better, during that cycle, subject to the algorithmic process and constraints to be described below.
  • Fig. 10 depicts an exemplary embodiment of a preference profile 150 (in this case, a buy profile) in the graphical user interface (GUI) used in this exemplary embodiment ofthe present invention.
  • GUI graphical user interface
  • the white region 151 denotes ' 1 ' preference values, while the shaded region (between contour lines 153 and 154) denotes intermediate preference values between '0 * and ' 1 " .
  • the black region 152 indicates zero preference values (i.e., prohibited trades).
  • the actual grid over which preference profiles are defined is quantized in price (vertical axis) by the minimum trading increment in the corresponding security being traded. It is quantized in size (horizontal axis) to 1000 share increments. In the latter case, it is important to note the difference between the quantization of preference (which represents the granularity of expressing trading preference as a function of size) versus the unit of trading size in the system, which may be in round lots (100 shares). Any integer number of round lots can be traded, but the same preference value at a given price applies to each round lot size between, e.g., 1 100 and 2000 shares, or between 7100 and 8000 shares.
  • Every preference profile has an associated maximum quantity of shares (in round lot multiples) to be bought or sold. This quantity must be greater than or equal to 1000 shares, except for profiles that originate from the exchange's specialist's workstations or from the exchange's order book, which may be in any round lot quantity down to 100 shares, or from CQS (Consolidated Quote System) quotes, which may be in any round lot quantity greater than 100 shares. CQS quotes of 100 shares are ignored.
  • satisfaction density profiles are entered via the specification of preference contours, which are adequate to describe any practical preference profile.
  • the user can specify individual preference contours, corresponding to preference values from the set [0.0, 0.1. . . . 1.0]. manually via the GUI, or eventually by computer using an extension ofthe Financial Information Exchange (FIX) standard messaging format.
  • Each contour is specified in terms of its vertices (i.e., end points or bend points in the contour), which correspond to discrete preference coordinates in the specified price and size increments.
  • the profile in Fig. 10 is entirely defined by the two preference contours shown, each of which is specified by only two vertices.
  • contours are expanded into piecewise continuous line segments, each corresponding to a single specified preference value. Every profile must specify a ' 1 ' preference contour, and this * 1 ' contour must be specified over the entire size range of nonzero preference values in the profile. If a profile does not specify a "0 " contour, it will be automatically created by the matching engine. The zero contour will be inserted across all profile sizes at a price that is one tick more aggressive than the most aggressive coordinate specified with a non-zero preference.
  • the full matrix of preference values is constructed from the specified preference contour vertices in two stages.
  • the first stage linearly interpolates between adjacent vertices to create piecewise linear preference contours lying on the grid of price/size coordinates.
  • the corresponding preference value is assigned to the intersecting grid coordinate whose price is closest to the interpolated contour line.
  • This process is performed in decreasing order of contour preference values, so that lower- preference contours that intersect the same grid coordinate as a higher-preference contour overwrite previously assigned preference values.
  • the result is a vertically stacked set of grid coordinates for each size increment whose prices correspond to specified discrete preference values.
  • the second stage linearly interpolates the preference values over price increments lying between the prices corresponding to the discrete preference values assigned in the first stage, assigning floating point preference values to these coordinates.
  • For buy (sell) profiles all coordinates at a given size whose price is below (above) the coordinate assigned a ' 1 ' preference in the first stage are automatically assigned a ' 1 " preference.
  • For buy (sell) profiles all coordinates at a given size whose price is above (below) the minimum specified contour preference value in the first stage are assigned a zero preference value. In this manner, the entire preference matrix for a given profile is specified as a function ofthe preference contours.
  • T preference contour vertices (1000. $126,375). (65000, $125,750) '0' preference contour vertices: (1000. $126,625), (65000. $125,875)
  • the first step is to linearly inte ⁇ olate the prices between the defined contour vertices for each 1000 share size increment, followed by rounding ofthe resultant prices to the nearest price increment.
  • the next step is, for each size increment, to inte ⁇ olate linearly the preference values at each price increment lying between those prices assigned to the corresponding preference contour values in the above tables.
  • This operation fills in the intermediate preference values in the matrix, and for illustration, would result in the following table of inte ⁇ olated preference values for the price increment $126,500:
  • the matching engine may exclude profiles specifying preference contours that are too aggressively priced relative to the National Best Bid or Offer (NBB or NBO) at the time of the call from a match. Since the determination of the NBBO is not made until the start time ofthe match, users are not given an indication of the rejection ofthe profile.
  • NBO National Best Bid or Offer
  • a buy profile specifies any preference contour coordinate greater than 159 price ticks higher than the NBO. the profile is excluded from a match. For a 1/16 price increment, this means that a profile with a preference contour coordinate $10.00 or more above the NBO is excluded. Note that this includes the specification of points on the * 0 ' -preference contour. Similarly, if a sell profile specifies a preference contour coordinate more than 159 ticks lower than the NBB. it is excluded from a match.
  • buy (sell) profiles specifying preference contour coordinates that are much lower (higher) than the NBB (NBO) are also excluded from a match. If a buy profile specifies any preference coordinate more than 799 price ticks below the NBB (i.e.. more than $50.00 below the NBBj it will be rejected. Similarly, if a sell profile specifies a preference coordinate more than 799 price ticks above the NBO (i.e., more than $50.00 above the NBO), it will be rejected. Profiles that are rejected in these tests remain in the system with their original time stamps, so they may participate in future call cycles if the NBB or NBO changes so as to make them eligible for trading.
  • any profile whose maximum quantity is more than 20 times the maximum size of any non-zero preference coordinate in that profile will be excluded from all matches. For example, a profile whose maximum size coordinate is 5,000 shares, but whose maximum quantity is 101,000 shares, will be excluded from all matches.
  • Aggressively priced buy or sell profiles that are not excluded from a match based on the above tests may still be truncated in price if they extend too far from the NBO or NBB, respectively.
  • all non-zero preference coordinates more than 100 price ticks (i.e., $6.25 for a 1/16 price increment) above the NBO are truncated from the profile.
  • all non-zero preference coordinates more than 100 price ticks below the NBB are truncated from the profile.
  • any portion of a buy profile at prices more than 100 price ticks below the NBB is ineligible to trade, as is any portion of a sell profile at prices more than 100 price ticks above the NBO, since there will be no contra side profile coordinates extending beyond these limits.
  • the pegging reference price options available through the system user interface are: National best bid price: National best offer price: midpoint between the national best bid and best offer prices; and National last sale price prior to a system matching cycle.
  • pegging is invoked in the creation or modification of a profile
  • the prices displayed on the vertical axis ofthe profile are shown relative to the selected pegging price variable. All contours in a pegged profile, and their corresponding preference specifications, are updated with respect to the appropriate pegging price at the beginning of each system matching cycle.
  • Pegged profiles always receive a new time stamp at the beginning of each cycle, which puts them lower in time priority than any non-pegged profile. However, the relative time priorities among the subset of pegged profiles are preserved in accordance with their original time stamps, so that earlier submitted pegged profiles have time priority over later submitted ones.
  • the market data is filtered to determine the pegging reference prices in a manner to reduce the likelihood of an unintended outcome from a match.
  • the bids and offers are censored one at a time in reverse chronological order of their update times (i.e., the most recently updated bid/offer is censored first), until the remaining set of bids and offers is not locked or crossed. If the bid and offer from a single exchange are crossed then both quotes will be ignored for that exchange. If there is neither a bid nor offer from the primary exchange the cycle will be cancelled. If a crossed market is detected from different exchanges and the timestamps are equal then the offer will be ignored. If a quote has a size of 100 shares (1 round lot) or less it will be excluded from the cycle. If a quote is not flagged as 'firm' it will be excluded from the cycle. If a quote is flagged as 'fast market' it will be excluded from the cycle. Quotes from the following exchanges will be considered for the cycle: Boston, Chicago, Philadelphia, New York, Amex, Third Market and Cincinnati.
  • the remaining set of bids and offers is then used to calculate the NBBO.
  • a final validation test is performed to eliminate best bid, best offer, or last sale values that have deviated more than a threshold amount from their last reference values. This threshold is proportional to the price and the square root " of time since the last reference value. In the event that all bids are locked or crossed with respect to all offers, the match will not be executed. If either the NBB or the NBO (but not both) is missing or determined to be not valid, the match will be executed, but all pegged profiles except those pegged to the valid bid or offer will be excluded. If the last sale exceeds the threshold from its previous value, all profiles pegged against the last sale will be excluded from the cycle, but the tick direction will be taken "as-is".
  • the NBBO prices resulting from step 1 or step 3 are used as the pegging reference prices for profiles pegged to the best bid or best offer, respectively.
  • the midpoint price is calculated as the average ofthe best bid and best offer reference prices determined in step 3. If the midpoint price corresponds to a legitimate trading increment price, that price is used as the pegging reference price for profiles pegged to the midpoint ofthe national best bid and best offer. If not, buy profiles pegged to the midpoint will use the next lowest trading increment price below the midpoint price as the pegging reference price. Sell profiles pegged to the midpoint will use the next highest trading increment price above the midpoint price as the pegging reference price.
  • the national last sale price if the national last sale price lies on or within the NBBO price range, it is used as the pegging reference price for both buy and sell profiles. If the national last sale price is greater than the best offer price calculated in step 1 or 3, the national best offer price is used as the pegging reference price for buy profiles, and the national last sale value is used as the pegging reference price for sell profiles. If the national last sale price is less than the best bid price calculated in step 1 or 3, the national best bid price is used as the pegging reference price for sell profiles, and the national last sale value is used as the pegging reference price for buy profiles.
  • the above market data filtering algorithm does not correct erroneous market data that may be used to determine pegging reference prices.
  • any individual coordinate of a preference profile is eligible for multiple matches against contra profiles each time a new system matching cycle is performed. There are four basic constraints that limit this eligibility:
  • a coordinate whose size, when added to the cumulative size of potential allocations already made to its profile, would exceed the maximum quantity for the profile is not eligible for further matching.
  • a user may enter an arbitrary number of explicit price or volume controls that restrict the total number of shares that may be allocated from a particular price or size region ofthe preference profile. For example, the user may specify that, notwithstanding the overall shape ofthe preference profile, no more than 100,000 shares may be accumulated at a price of 57 or higher, and no more than 50.000 shares may be accumulated at sizes of 10,000 shares or less.
  • Explicit price and/or size controls are logically ANDed (i.e., each and every control must be satisfied by a prospective allocation), and they are neither reset nor adjusted from one matching cycle to the next. These boundary conditions provide a further degree of user control over the trade allocations that can be made to the profile, throughout its life. Note that pegged profiles are not permitted to have price controls.
  • a user may enter an Intermarket Trading System (ITS) restriction that limits the number of shares (as a percentage ofthe maximum quantity) in his profile that may be matched against the quotes of ITS participants, as described more fully in Section 6.3 below.
  • ITS Intermarket Trading System
  • Implicit price controls For buy (sell) profiles with regions of downward (upward) slope, where the maximum coordinate size with non-zero preference at a particular price is less than the maximum coordinate size with non-zero preference at any price in the profile, the system automatically generates an "implicit price control". This price control limits the number of shares that can be allocated at that price or above (below) in a single match to the size ofthe maximum-size non-zero preference coordinate at that price. Implicit price controls, at each price where they are generated, are automatically reset and/or recomputed at the beginning of each matching cycle. Thus they do not prevent the accumulation of trades at a particular price across multiple matches whose total volume might otherwise be disallowed in a single match. As an illustration, note that in the last table of Sectionl .2.
  • Fig. 11 illustrates the use of explicit price and volume controls in a profile
  • Fig. 12 details the generation of implicit price controls.
  • the explicit volume control limits total volume in trades of 300,000 shares or less to 400,000 shares
  • the explicit price control limits total volume at $39 15/16 and above to 510,000 shares.
  • Fig. 13 shows an example of a buy profile for which no implicit boundaries are generated, notwithstanding the downward slope region over a portion ofthe profile, since the maximum non-zero preference coordinate size at each price equals the maximum non-zero preference coordinate size at any price in the profile.
  • a regular-way limit order specifies a maximum size and a limit price against which one or more fills may be allocated, up to the maximum size and at or better than the limit price.
  • Such orders have "standing" in the sense that no trade is permitted that would trade through the limit price of such an order without first filling the order.
  • the key features of an order with standing are 1 ) it is a held order at the limit price or better; and 2) any portion ofthe order may be filled at the limit price or better.
  • the analogous concept of a preference profile coordinate with standing is defined by the following features: 1) the coordinate must have ' 1 ' preference. 2) the coordinate must lie in a row of contiguous coordinates of ' 1 ' preference at the same price, extending down to the minimum (i.e., leftmost) size increment, all of which are eligible to be matched, and 3) the profile must not have its ITS participation set to less than 100%. Thus if a coordinate has standing, it lies in a region ofthe preference profile that has ' 1 ' preference values for all coordinate sizes from the minimum preference increment (i.e., 1000 shares) up to and including the coordinate's size, at its corresponding price.
  • Fig. 14 illustrates the concept of standing.
  • no match is permitted that would trade through the price of a coordinate with standing, as described more fully below.
  • No coordinate has standing in any profile that inco ⁇ orates an (explicit) size boundary condition.
  • coordinates that otherwise would have standing may be traded through if the profile has failed to make a prospective trade at an earlier point in a given cycle as a result of its ITS restriction. Otherwise, these coordinates are treated as though they possess full standing.
  • Each limit order and specialist quote residing in the host exchange computer system at the time of a match is converted to a limit profile with Book class.
  • Each profile submitted via the system GUI must be identified by the user as either an Agency or Principal profile. The end user is responsible for properly identifying profiles as Agency or Principal.
  • the account type identification of electronically submitted limit orders to the system via the FIX protocol is specified using the Account Identification Codes (AIC) published by the New York Stock Exchange (NYSE).
  • AIC Account Identification Codes
  • NYSE New York Stock Exchange
  • Each profile created by the system from such orders is designated as either an Agency or Principal profile, in accordance with the following classification table: ⁇ t ⁇ iRVfmarw_MirBg waar(_iirwH_iM
  • AIC codes have no other impact on the system matching algorithm. Specifically:
  • the host exchange is the Pacific Exchange (PCX) which does not change its order processing when the NYSE invokes sidecar processing rules
  • PCX Pacific Exchange
  • the system does not change its processing of program trading order AIC codes (D, C, M, N, J, K, U, Y) when sidecars are triggered on the NYSE.
  • the system will comply with any changes to these rules if and when the PCX modifies its rules.
  • CQS profiles are created from the quotes of other market participants in the Intermarket Trading System (ITS) at the time of a match, provided that the size of such quotes exceeds 100 shares and the quote has not produced a locked or crossed market. In either of the latter cases, no CQS profile is created for the corresponding quote.
  • CQS profiles are analogous to regular limit orders, and thus possess standing.
  • the system prioritizes Book over Agency profiles, Agency over Principal profiles, and Principal over CQS profiles.
  • CQS profiles are canceled automatically at the end ofthe cycle in which they participate, since new CQS profiles are created at the beginning ofthe next cycle.
  • the system supports the following profile type eligibility conditions:
  • Fill or kill an all or none profile that is automatically cancelled after the next match, if it has not been filled.
  • Fill or kill profiles have the same restrictions regarding ITS participation as described above for all or none profiles.
  • Immediate or cancel a profile that is automatically cancelled after the next match, regardless of its leaves quantity.
  • Profiles marked as short sales are subject to intra-match cycle eligibility restrictions, as explained in detail below.
  • preference values of ' 1 ' are inte ⁇ reted as "non-discretionary", analogous to a held order at the corresponding price and size.
  • the matching of contra sides where both parties have a preference of ' 1 ' is analogous to the matching of held orders that occurs in existing markets.
  • the system uses matching rules consistent with the rules of priority used in existing markets.
  • This first stage of matching is denoted as “aggregation” in the system, since it permits multiple coordinates on one side ofthe market to be matched against a single coordinate on the contra side. Under a "crossed market” condition, as described hereinbelow, the aggregation stage matches multiple buyers and sellers at a clearing price.
  • Preference values of less than ' 1 ' (and greater than zero) are inte ⁇ reted as giving the system the corresponding degree of discretion in finding contra side matches.
  • the matching of contra sides where one or both parties have less than ' 1 ' (but greater than zero) preference is analogous to one-on-one manual negotiations that have no particular rules of priority, which occur in existing market structures. In these cases, the system uses mutual preference (with values less than ' 1 ', but greater than zero) as the primary determinant of trading priority. This second stage of matching is denoted as "negotiation" in the system, since it negotiates trades between contra pairs at individual price and size values. Where a prospective match based on partial preference would trade through coordinates with ' 1 ' preference that have standing, or trade at the price of such coordinates that have class or time priority, or violate the short sale rule (as described below), this match is blocked.
  • Time of entry Among coordinates that have equal price, standing and class status, the time of entry ofthe associated profile determines relative priority, with earlier time of entry having higher priority. Each profile has a unique time of entry assigned upon its receipt by the system, so there are no ties among profiles in this category. 5. Size. Among coordinates of a given price within the same profile, priority for matching is determined by size, with larger sizes having higher priority.
  • the matching algorithm never permits a match that would cause a trade through of any coordinate with standing. Furthermore, no match is permitted at the price of a coordinate with standing, if the latter coordinate has standing or class priority according to the above rules, with the following exceptions:
  • price priority overrules class priority, permitting more aggressively priced profiles with standing to trade at the price of less aggressively priced profiles that have class or time priority.
  • the matching algorithm never permits a match that would result in the violation of any price or size control (implicit or explicit) associated with any profile involved in a match.
  • Pegged profiles which the user designates to be adjusted with reference to the current market at the beginning of each match cycle) may not contain explicit price controls. All price and/or size control limits affecting a particular coordinate must be satisfied in order for the coordinate to participate in a trade.
  • a profile with one or more size controls has no coordinates with standing, at any size or price.
  • implicit price controls at each price where they are generated, are automatically reset and/or recomputed at the beginning of each matching cycle. Thus they do not prevent the accumulation of trade volumes at a particular price across multiple matches that otherwise might be disallowed in a single match. Users must employ explicit price controls to prevent this occurrence.
  • every profile submitted through the system GUI designates the portion ofthe maximum quantity associated with the profile that is eligible for matching against CQS profiles.
  • the system GUI default setting for ITS eligibility is 0% for all or none and fill or kill profile types, and is 100% for all other profile types.
  • CQS profiles are always included in system matches, but have lower class priority than any other profile type in the system. Matches involving a CQS profile carry an implicit risk of not executing the trade, since the ITS commitment sent to another market may be only partially filled, or may expire or be declined. Users who elect to limit the eligibility of their profile for ITS trades may lose some trading opportunities and/or some degree of standing protection in the system, since all CQS profile coordinates have standing, and thus trading through these coordinates is forbidden.
  • profile coordinates that possess standing, but have declined any portion of a trade due to ITS limits are not permitted to block other trades as a result of their standing. This may potentially result in a trade-through of these coordinates. Notwithstanding these considerations, the system and method does not permit a match that would result in a violation ofthe ITS eligibility limits for any profile.
  • ITS trading limits specify the percentage ofthe total original profile volume (not the remaining "leaves" quantity) that is eligible for matching against CQS profiles in each match.
  • the volume associated with this commitment is subtracted from the ITS eligible volume in the current match.
  • there is no possibility of exceeding the profile's ITS exposure limit For example, a profile submitted with the maximum quantity specified as 100.000 shares, and the ITS eligibility specified as 10%, normally is permitted to match up to 10.000 shares against CQS profiles in aggregate in each match cycle.
  • the national last sale and tick is used to initialize the eligibility of short sell profile coordinates.
  • the internal last sale and tick is used to update the eligibility of short sell profile coordinates. No allocation involving a short sell coordinate is allowed at a price less than the internal last sale (on a plus or zero-plus internal tick) or at a price less than one price increment above the internal last sale (on a minus or zero-minus internal tick).
  • Short sell coordinates that lose their eligibility at any stage internal to a match cycle receive a new effective time stamp upon restoration of their eligibility within that cycle, which results in a loss of their original time of entry priority for the balance of that matching cycle.
  • the profile's original time of entry is used to prioritize short sell coordinates at the same price that have been disabled during a cycle, and also is used at the start ofthe next cycle to determine time of entry priority for that cycle.
  • the matching system and method ofthe subject invention does not permit a match between two CQS profiles.
  • each kernel represents a single-price row of contiguous coordinates in the profile, having ' 1 ' preference values.
  • each kernel is parameterized by the minimum and maximum number of shares spanned by the row of ' 1 ' coordinates.
  • kernels are generated at every price increment lying in the range of price overlap with contra-side profiles.
  • a single buy kernel list and a single sell kernel list are constructed from the kernels of all profiles, via a sequence of nested sorts of each list in strict order of price, standing, class and time of entry priority, as described above. (Note that the size sort on coordinates mentioned hereinabove is implicit in the kernel structure, given that kernels always seek to fill their maximum size, but no less than their minimum size.)
  • normal aggregation is one-sided, in the sense that a single kernel on one side ofthe market aggregates potentially multiple kernels from the opposite side.
  • multiple kernels with standing on each side of the market overlap in price, in which case one-sided aggregation is blocked by the standing constraints.
  • two-sided aggregation is used (as described hereinbelow) to clear these overlaps before resuming with one-sided aggregation.
  • An earlier entered (non-CQS profile) kernel at the top of either the buy or sell kernel list is selected as the initial "aggregation attractor" kernel.
  • the matching algorithm attempts to aggregate volume from kernels on the contra list, in strict order of priority on that list, in order to match the aggregation attractor' s size and price.
  • the matching algorithm proceeds through the contra list in priority order in its attempt to allocate contra parties to the aggregation attractor. Kernels without standing in this contra list may be skipped over if their minimum and maximum size limits are incompatible with the size limits ofthe aggregation attractor kernel.
  • the potential trade price is set initially to the aggregation attractor's price, and the aggregate contra list is examined to see whether sufficient contra volume exists to satisfy at least the minimum volume demanded by the price ofthe aggregation attractor kernel.
  • the aggregation process always seeks the maximum volume available for the attractor kernel, and is repeated for that kernel if the profile maximum volume is larger than the aggregator kernel maximum volume, so long as none of the other profile constraints is violated.
  • the attractor kernel is skipped over, and the next-highest priority kernel is selected from either the buy or sell list. Also, if the resulting set of trades fills kernels with lower class priority (excluding CQS kernels) without completely filling all kernels with higher class priority and standing at that price, the attractor kernel is skipped over. This process continues until a price is determined at which the aggregation attractor can attract adequate volume from the contra list without trading through any contra kernels with standing, or trading at the price of higher class priority contra kernels with standing.
  • This price is then checked to see if it trades through the price of any kernel with standing on the attractor ' s side. If it does, the prospective aggregation trades are disallowed. If the unsuccessful aggregation attractor kernel has standing, the choice ofthe next aggregation kernel is restricted to the contra list. If an aggregation attractor kernel with standing cannot make an otherwise permissible trade due to its ITS participation being restricted, it may be traded through in subsequent trades of a given cycle, in order to prevent it from blocking other trades.
  • the matching algorithm seeks to improve the trade price for the aggregation attractor by one price increment, and recalculates the available trade volume. This price improvement process repeats until the improved price results in a decrease in the available volume to trade. However, price improvement for the aggregation attractor is halted if the resulting price would trade through the price of any coordinate with standing on its side ofthe market or trade through any coordinate that is willing to do the identical trade (i.e., same price and size), regardless of whether the latter coordinate has standing or not.
  • the attractor's price also may not trade at (if the aggregation attractor has standing but does not have class priority, or if the aggregation attractor does not have standing) the price of any kernel possessing standing from another profile on the aggregation attractor's side ofthe market, unless the latter is a CQS profile.
  • the matching algorithm selects the next aggregation attractor only from the contra list, and attempts aggregation. If the same situation arises in which a contra aggregation attractor with standing is blocked from trading by a kernel on its side ofthe market, then one-sided aggregation is blocked on both sides, and we proceed to the two sided aggregation stage described in the next section.
  • the aggregation process continues until no further aggregations are possible.
  • the matching algorithm then proceeds into the negotiation stage, described in detail hereinbelow.
  • the pu ⁇ ose of this stage of the matching algorithm is to clear multiple overlapping kernels with standing that block one-sided aggregation.
  • This stage operates in somewhat analogous fashion to a single-price call, but with greater generality, since all kernels with standing (even if they are derived from profiles that do not correspond to standard limit orders) are included in two-sided aggregation.
  • supply and demand schedules as a function of price, representing all trading interest with standing, are assembled.
  • the price that matches the most volume is selected, and the co ⁇ esponding trades are executed. If there are multiple prices that clear the same maximum volume, the highest price is selected if there exists a buyer su ⁇ lus, and the lowest price is selected if there exists a seller su ⁇ lus. If there is an exact match of buyer/seller volume over a range of prices, the middle price is selected if there are an odd number of tied prices with no su ⁇ lus. If there is an even number of tied prices with no su ⁇ lus, then ofthe two middle prices, the one is selected that is closer to the last sale price recorded by the system. This is the national last sale if this occurs at the beginning of a match cycle, or the last committed trade price in the middle of a cycle.
  • the priority order for trading is as follows: Price; Class; and Time of Entry.
  • two-sided aggregation price has strict priority over class.
  • a kernel with lower class priority may trade at the price of a kernel with higher class priority without completely filling the latter, if the former kernel is from a profile with more aggressively priced kernels than the latter.
  • the net effect of two-sided aggregation is to clear any overlapping active contra kernels with standing, so that one-sided aggregation can resume.
  • the negotiation stage begins by calculating mutual preference profiles between all pairs of buy and sell preference profiles.
  • the non-zero mutual preference coordinates from all mutual preference profiles are then entered into a single list that is rank ordered in descending order of priority as described hereinabove.
  • Prospective matches are assembled sequentially from the top of this list.
  • the matching algorithm ensures that none ofthe profile constraints of described above would be violated as a result of making the co ⁇ esponding allocation to either party.
  • the prospective match would:
  • negotiation coordinate list is re-sorted to inco ⁇ orate the changed eligibility and time stamps of these reactivated short sell coordinates, and is then rescanned from the top to continue trading. This revisits negotiation coordinates that previously may have been skipped over because they were blocked or ineligible to trade.
  • the negotiation stage terminates when no non-zero mutual preference coordinates remain on the list, i.e., there is no remaining overlap of trading desire between any buyer and seller.
  • Fig. 15 there is illustrated a schematic flow chart illustrating the overall system and method ofthe subject invention.
  • market data is received into the system to facilitate, for example, the determination of pegging reference prices for trades.
  • the CMC reads the preference profiles and generates the kernel lists on either side ofthe market.
  • the aggregation stage is conducted, which results in the execution of trades and the cancellation of filled buy/sell orders.
  • the negotiation stage is then conducted at step 230, whereupon trades are constructed based upon partial mutual preference, resulting in the cancellation of additional filled buy/sell orders and the execution of additional trades.
  • the method terminates.
  • Fig. 16 there is illustrated a schematic flow chart ofthe aggregation stage ofthe matching algorithm shown in Fig. 15.
  • the buy kernel lists and sell kernel lists constructed from the profiles on either side of the market are sorted in strict order of price, standing class and time of entry.
  • flags are initialized for each kernel so as to designate the profile characteristics associated therewith.
  • Step 320 represents a loop return point for the aggregation algorithm which is revisited until such time as the aggregation stage is completed.
  • the system determines whether any profiles have been cancelled. At such a time, the system looks to a prioritized queue to seek out client initiated profile cancellations. If the inquiry at step 330 is positive, kernels from any cancelled profile on either side ofthe market are removed from the contra side kernel lists at step 340. If the inquiry is negative, the
  • E 26 system proceeds to step 350, whereupon a determination is made as to whether there is a crossed market condition, i.e., if one-sided aggregation is blocked on both sides ofthe market.
  • step 360 the system performs a two-sided aggregation at step 360 to clear multiple overlapping kernels with standing that would block one-sided aggregation.
  • the trades resulting from the two-sided aggregation are executed at step 370, and the system returns to step 320 to begin the cancelled kernel removal subroutine at steps 330 and 340.
  • step 380 the system proceeds to step 380. whereupon a determination is made as to whether there are any kernels available for aggregation. If the inquiry is positive, the system constructs valid trades at step 390 until a profile constraint is violated. In conjunction with step 390, valid trades are committed at step 400.
  • inactive kernels may still have some remaining volume associated therewith, to the extent that a complete aggregation of contra side volume was not achieved.
  • the algorithm return to step 320 to perform the called kernel removal subroutine.
  • the aggregation stage ofthe subject matching algorithm will terminate at step 420 when it is determined that there are no kernels available for aggregation at step 380.
  • Fig. 17 there is illustrated a schematic flow chart depicting the negotiation stage ofthe subject matching algorithm identified at step 230 of Fig. 15.
  • the negotiation stage follows the aggregation stage as shown at step 500.
  • the system constructs a cross list of non-zero mutual preference coordinates by calculating mutual preference between all pairs of buy and sell profiles.
  • the list is sorted and ranked in descending order of priority by mutual preference, standing, class, time of entry, size and price.
  • the system then proceeds to step 530 whereupon, for each cross list entry, the following subroutine commences.
  • step 540 while the buyer and seller for each entry on the cross list have volume available, the system proceeds to step 550. Thereupon, a decision is made as to whether a trade should be allowed or blocked due to standing constraints. If the inquiry at step 550 is positive, the subroutine proceeds to step 560 whereupon a trade between the buyer and seller is committed. Thereafter, at step 570, the volumes are deceremented and appropriate flags are initialized with respect to the traded coordinates. The system then proceeds to step 580. At step 580 the negotiation stage can terminate, proceed to the next cross list entry at step 590 or return to step 540. Upon proceeding to step 590. the algorithm will return to step 530 to run through the trading subroutine. Returning to the decision at step 550.
  • step 590 the system proceeds directly to step 590 to evaluate the next cross list entry.
  • the negotiation stage terminates when there are no non-zero mutual preference coordinates remaining on the cross list. This indicates that there is an absence of overlap of trading desire between any paired buyer or seller.
  • Prints are disseminated to the host exchange in the sequence they are generated by the matching engine. Trades are aggregated into a single print until a break in seller profile or price occurs, but do not include any ITS commitment trade results (if accepted, these trades are reported by the away market).
  • exchange specialists are provided with an system electronic interface at their posts, which allows them to designate any regular limit or all-or-none limit orders in their book for inclusion in system matching cycles. Any regular limit book orders not designated by the specialist for the system are protected by the specialist at the best price of any resulting system trades.
  • ITS commitments resulting from aggregation trades are priced according to the ITS block rule. If the host exchange's portion of an aggregation trade is for 10.000 shares or more, or if the trade value exceeds $200,000, the ITS commitment is sent at the aggregation price computed by the system. If the host exchange ' s portion ofthe trade does not exceed either of these limits, then the ITS commitment is sent at the quote price. In any event, the price of an ITS commitment does not impact trade through restrictions in the system, since resulting trades are printed on the away exchange.
  • RCI Regional Computer Interface
  • the specialist on the away exchange has up to one minute to send a confirmation message for the ITS commitment generated by the system.
  • the fills associated with this commitment are marked as 'pending' by the system until an ITS response is received.
  • the confirmation may specify a lower quantity fill than the original commitment amount or, potentially, a better price. If the confirmation does not match the original commitment terms, the corresponding fill price and size sent to the user is adjusted.
  • the system maintains an ITS preference file that determines the priority with which ITS commitments to trade at a given price are routed to the different away exchanges.

Abstract

A crossing network that matches buy and sell orders based upon a satisfaction and quantity profile is disclosed. The crossing network includes a number of trader terminals that can be used for entering orders. The orders are entered in the form of a satisfaction density profile that represents a degree of satisfaction to trade a particular instrument at various (price, quantity) combinations. Typically, each order is either a buy order or a sell order. The trader terminals are coupled to a matching controller computer. The matching controller computer can receive as input the satisfaction density profiles entered at each one of the trading terminals. The matching controller computer matches orders (as represented by each trader's satisfaction density profile) so that each trader is assured that the overall outcome of the process (in terms of average price and size of fill) has maximized the mutual satisfaction of all traders. Typically, the matching process is anonymous and confidential. The matching process can be continuous or performed on a batch basis.

Description

CROSSING NETWORK AND METHOD
Field of nvention
The present invention is directed to an automated crossing network (also known as a matching system) and method, and in particular, to an anonymous and confidential crossing network that matches buy and sell orders by maximizing the mutual satisfaction of traders submitting orders.
Copyright Notice
A portion ofthe disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone ofthe patent document or patent disclosure as it appears in the Patent and Trademark Office, patent file or records, but otherwise reserves all copyright rights whatsoever.
Background ofthe Invention
Traditionally, traders and investors who desired to buy or sell securities placed orders with brokers who traded on the floor of organized stock exchanges, such as the New York Stock Exchange or the NASDAQ market. Traders and investors, particularly institutional investors, are increasingly balking at the high cost of trading on organized exchanges and in the OTC (Over-The-Counter) market. Discontent with the expense of using intermediaries and the cost of market impact has contributed to the development of the electronic fourth market for crossing trades. See "Reshaping the Equity Markets, A Guide for the 1990s" by Robert A. Schwartz. Harper Business. 1991, especially at pp. 93-95.
Various companies and exchanges operate computerized crossing networks, also called anonymous matching systems. In an anonymous matching system, the identity ofthe source of an order (e.g., the name of a trader or firm submitting the order) is not disclosed to other traders. By way of example, crossing networks used in connection with the trading of trading instruments are disclosed in U.S. Pat. No. 4,412,287, which discloses an automated stock exchange in which a computer matches buy and sell orders for a variety of stocks; U.S. Pat. 3,573,747. which discloses an anonymous trading system for selling fungible properties between subscribers to the system; U.S. Pat. 3,581,072, which discloses the use of a special purpose digital computer for matching orders and establishing market prices in an auction market for fungible goods; U.S. Pat. 4.674,044, which discloses an automated securities trading system; U.S. Pat. 5,136,501. which discloses an anonymous matching system for effectuating trades through automatic matching in which buyers and sellers who are willing to trade with one another based on specified criteria, such as price, quantity and credit, may automatically trade when matching events occur satisfying these criteria; and U.S. Pat. No. 5.101,353, which discloses an automated system for providing liquidity to securities markets in which orders are entered by the system and executed in real time either internally between system users or externally with stock exchanges and markets.
Crossing networks have a number of advantages, including: (a) traders need not search for a contraparty; and (b) anonymity is preserved.
Existing facilities for crossing trades include Instinet's Crossing Network and POSIT (Portfolio System for Institutional Trading) which is jointly owned by Jefferies and BARRA. The Instinet Crossing Network has an equities trading service to match buyers and sellers anonymously at set times. Computers pair buyers with sellers on a time priority basis. Trades are executed at the closing price for exchange-listed issues, and at the midpoint ofthe inside market (best bid and ask) for OTC issues.
POSIT, for example, enables large investors to trade baskets of stocks among themselves. The orders are sent to a central computer where they are electronically matched with other orders. Unlike Instinet's Crossing Network. POSIT crosses are done during the trading day. The prices are obtained from those quoted on the exchanges, a practice known as "parasitic pricing. "' See "Reshaping the Equity Markets, A Guide for the 1990s" cited above.
Instinet, owned by Reuters, also operates an electronic block-trading system that facilitates the negotiation of block trades between institutional investors and brokers. Instinet allows parties to trade anonymously, entering bids electronically. Instinet subscribers can respond to an "order" entered into the system either by matching a displayed price or by making a counter bid or offer that is transmitted instantaneously to the contraparty's terminal. The trades that result from these negotiations become public information only when they are executed. This procedure provides an alternative to the direct human-to-human negotiation of orders in the upstairs market or on the trading floors. Instinet provides a limit order book for over-the-counter (OTC) securities and listed securities and also provides inside quotes for exchange listed securities for the seven U.S. exchanges on which stocks can be traded and for NASDAQ listed securities.
Many crossing networks function independently of existing stock exchanges. However, some crossing networks are operated by stock exchanges.
For example, the Match Market Exchange ("MMX") is operated by the Chicago Stock Exchange. All matched orders are executed at a random time within a predetermined ten minute window at the market price at such time. The market price is calculated based upon the spread of a particular issue. Rather than matching orders on the basis of time priority, the MMX system uses liquidity fees and liquidity credits to determine the level of priority for order matching. Those users willing to pay the highest liquidity fee have the highest execution priority. See 59 F.R. 5451 (February 4, 1994).
Crossing networks that automatically match buy and sell orders often concentrate trading at a single point of time, and can be called a batch process matching system. There is a need, however, for an anonymous crossing network that continuously, and in real-time, satisfies the buying and selling desires of an arbitrary number of market participants. A major problem encountered in the design of crossing networks is that of determining how to match buyers and sellers. Existing approaches to this problem include:
Take-out strategies, where overlapping bids and offers are matched at the midpoint of the overlapped bid and ask prices, with priority given to buyers and sellers in order of price. This assumes a significant quantity of non-disclosed orders in the system; otherwise, there would be no incentive for overlap, and take-out would start at the disclosed best bid/offer prices, just like the Instinet book. Single price auction strategies, where a single, size-weighted average price is computed from overlapping bid and offer prices, and everyone is filled at that price.
Again, traders would have to be confident of a significant number of non-disclosed orders in the system to have the incentive to enter orders at a better price than the best disclosed price.
Premium strategies (as in the Chicago MMX system), where bids and offers have an associated positive or negative premium, and crossing takes place at the midpoint of market spread or at the minimum necessary premium differential from the midpoint, with priority given in order of premium. Here, the premium-based priority in matching provides the incentive for offering higher premiums.
Each ofthe above approaches is a batch process that relies upon ad hoc rules of competition among a relatively small set of discrete orders as being the means of arbitrating the crossing network participants' buy /sell entries. In the real world of trading, orders to buy or sell can enter the market at any time, and discrete orders in a crossing network often represent only an approximate and partial expression of the order fill that would satisfy the trader. For institutional traders in particular, an individual order seldom represents the full desired fill size, and the trader must then employ multiple orders at different prices (and generally in different markets) to achieve his ultimate fill.
Typically, existing crossing networks allow discrete buy or sell orders to be entered, e.g., "sell 10.000 IBM at 64." However, as stated above many traders, particularly institutional traders, wish to deal in baskets of securities, so that, for example, a portfolio is as far as possible, "balanced." Existing crossing networks do not easily allow traders to enter combinations of orders, such as "sell 10,000 IBM at 64 only if I can buy 20,000 DEC at 32". Furthermore, existing crossing networks do not allow traders to enter combinations of orders, such as "sell 10.000 IBM at 64 or sell 100,000 IBM at 63." Traders often have trading strategies such as, for example, "buy 3,000 IBM at 33, but if I can buy 5,000. 1 would be prepared to pay 33 and Vϊ that cannot be handled by existing crossing networks.
Given the above limitations of conventional crossing networks, a more satisfactory approach to the overall problem of continuously satisfying the buying and selling desires of an arbitrary number of market participants is needed. Furthermore, a crossing network is needed that will guarantee mathematical optimality ofthe matching process, so that each participant is assured that the overall outcome of the process (in terms ofthe price and size of all fills) has maximized the joint satisfaction of all participants.
Summary ofthe Invention
The present invention is directed to a computerized crossing network that allows traders to input as orders a satisfaction density profile and maximum size limit which at once characterizes the trader's degree of satisfaction to trade at any and all prices and sizes, up to the aggregate (or size) limit, and that matches orders (as represented by each trader's satisfaction density profile) so that each trader is assured that the overall outcome ofthe process (in terms of average price and size of fill) has maximized the mutual satisfaction of all traders.
The satisfaction density profile is a two-dimensional grid or matrix (which could also be represented as a two-dimensional graph or in another two-dimensional format), one dimension being price and the second dimension being size of transaction, that as a whole characterizes the trader's degree of satisfaction for a transaction at each (price, size) coordinate. Each element ofthe satisfaction density profile, called a satisfaction density value, indicates the trader's degree of satisfaction to trade that size order at that price. In the representative embodiment, each satisfaction density value is a number between zero and one, with zero representing no satisfaction (i.e., will under no circumstances trade that quantity at that price) and one representing total satisfaction.
Each trader can input one or more satisfaction density profiles. In a representative embodiment, each satisfaction density profile can be represented and input as a graph of at least two dimensions, such as, for example, as a temperature grid or two dimensional matrix. In another embodiment, a trader may input a limit order that may be converted into a satisfaction density profile. In a representative embodiment, once the satisfaction density profile is complete, the trader causes the satisfaction density profile to be transmitted to a central matching controller ("CMC"), which anonymously matches buy and sell orders as discussed below.In this embodiment, the CMC may maintain the characteristics ofthe orders represented by the satisfaction density profiles confidential.
In the case of a system for trading equity securities, such characteristics may include the name of a security, a price of a security, a quantity of shares of a security, a preference value for trading a particular security at a certain price and volume, conditions relating to the way in which the buy/sell order for a particular security should be filled or satisfied (e.g., all/none, fill or kill, immediate or cancel, corporate buy back, etc.), and combinations thereof.
For the purpose of explanation, assume a batch process in which multiple traders enter satisfaction density profiles that represent either buy or sell orders for a particular stock. Upon transmission ofthe satisfaction density profiles to the CMC. the CMC will cause buy profiles to be stored in a buy profile database and sell profiles to be stored in a sell profile database. The CMC will then calculate, for every buy/sell profile pair, a mutual satisfaction cross product. The mutual satisfaction cross product represents the degree to which that buy/sell pair can satisfy each other. Next, the individual grid values of the mutual satisfaction cross products for all buy/sell combinations are ranked in order, starting with the highest value of mutual satisfaction. The buy /sell orders represented by the ranked grid values ofthe mutual satisfaction cross products are then matched in order, and matching trades are aggregated by the CMC system. The matching process then continues down the ranked list.
The present invention can easily handle trades of baskets of securities. For example, in the representative embodiment, if a trader wishes to simultaneously both sell IBM and buy DEC, the trader would create a sell satisfaction density profile representing the IBM part of the transaction and a buy satisfaction density profile representing the DEC part ofthe transaction, and indicate that these profiles are to be linked together. The CMC will then combine these two satisfaction density profiles into one. This combining process can be accomplished, for example, by utilizing a connection matrix and performing matrix manipulation on the two profiles. It will be apparent that other, more complex, combined trades can be accomplished in the same manner.
The present invention can be operated as a batch crossing network, where orders are matched at set times. Alternatively, the present invention can be operated as a continuous crossing network by treating each new satisfaction density profile that is entered as a triggering event that causes a new round of computation as described above.
One aspect ofthe subject invention is directed to a method for matching orders. The method includes the steps of receiving a plurality of orders, wherein each order has a source and characteristics associated therewith; maintaining the source ofthe plurality of orders anonymous; maintaining the characteristics ofthe plurality of orders confidential; and matching at least some of the orders based on a mutual satisfaction function.
Another aspect ofthe subject invention is directed to a method for matching orders. The method includes the steps of creating plurality of buy and sell kernels based on buy and sell orders for a security. Each kernel has a price ofthe security at which a trader willing is willing to buy /sell the security, a minimum and maximum volume ofthe security that the trader is willing to buy/sell, and priority characteristics associated therewith. The method also includes the steps of sorting the buy and sell kernel based on the priority characteristics; selecting a buy/sell kernel from the sorted buy and sell kernels; and aggregating sell/buy kernels against the selected buy/sell kernel at the price associated with the kernel. The method may also include the steps of altering the price ofthe selected kernel; aggregating sell/buy kernels against the selected buy/sell kernel at the altered price; and executing a trade ofthe security associated with the kernel at the altered price.
Brief Description ofthe Drawings
So that those having ordinary skill in the art to which the subject invention pertains will more readily understand how to employ the crossing network and methodology of the subject invention, preferred embodiments thereof will be described in detail hereinbelow with reference to the drawings, wherein:
Fig. 1 is a block diagram of a representative system operating according to the present invention;
Fig. 2 is an example satisfaction density profile for a sell order;
Figs. 3A to 3D are example satisfaction density profiles in contour plot format;
Fig. 4A and 4B are examples of interface windows, used to set parameters for and enable input of satisfaction density profiles;
Fig. 5 is a load pattern interface window, used to load parameterized satisfaction density profile templates: Fig. 6A and 6B are examples of screen displays showing an interface window, a load pattern interface window and a satisfaction density profile;
Fig. 7 is an example buy satisfaction density profile displayed as a temperature graph;
Fig. 8 is a description ofthe matching process in flow chart format;
Figs. 9A to 9C are example mutual satisfaction cross products, represented as contour graphs;
Fig. 10 depicts a preference profile for use in the exemplar)' embodiment for use with a specific exchange;
Fig. 11 shows an illustration of explicit price and volume controls in accordance with one aspect ofthe present invention;
Fig. 12 shows an illustration of implicit price controls generated by the system according to another aspect ofthe present invention:
Fig. 13 is an illustration of a preference profile with no implicit price controls according to yet another aspect ofthe present invention;
Fig. 14 is an illustration of coordinates with and without standing according to a further aspect ofthe present invention;
Fig. 15 is a flow chart representing the sequential steps ofthe matching algorithm of the subject invention;
Fig. 16 is a flow chart representing the sequential steps ofthe aggregation stage ofthe matching algorithm of Fig. 15; and
Fig. 17 is a flow chart representing the sequential steps ofthe negotiation stage ofthe matching algorithm of Fig. 15.
Detailed Description ofthe Disclosure
The present invention is described below in the context of trading equity securities. However, the invention is not so limited and can be easily adapted to allow the trading of anything that can be bought or sold, including liquid assets such as futures, derivatives, options, bonds, currencies, commodities, insurance contracts, and the like. It is also envisioned that the invention may be employed to trade media time, airline tickets, concert tickets, electronic components, or any contract for goods or services. Therefore, as used herein, the term instrument is used in its broadest meaning to cover anything that may be bought or sold. Accordingly, where the context permits, the terms "securities", "stock", and "shares" when used herein includes other instruments that can be traded, such as, for example, futures, derivatives, options, bonds and currencies. The terms "buy" and "sell" include, where appropriate, put and call, bid and offer, etc.
Intended users ofthe representative embodiment system of this invention are typically investors, such as institutional investors (e.g., a pension fund) but may also be individual investors, brokers or others who deal in or trade securities. As used herein, the term "user", "trader" or "investor" means that person or entity who wishes to make a trade.
Referring now to the drawings, and initially Fig. 1 , there is illustrated a block diagram ofthe overall architecture ofthe crossing network according to the present invention. A central matching controller ("CMC") 2 matches buy and sell orders transmitted to the CMC from various trader terminals, e.g., 10, 12, 14. The CMC 2 is preferably a supercomputer that can perform matrix calculations at rates of multiple gigaflops, such as. for example with present technology, an IBM SP2 or an Intel PARAGON supercomputer. A storage device 4 is coupled to the CMC 2. The storage device 4 comprises a database for storing buy and sell satisfaction density profiles. In the representative embodiment, buy satisfaction density profiles can be stored in a buy profile database 6 and sell satisfaction density profiles can be stored in a sell profile database 8.
Each trader who wished to trade will have access to a trader terminal, such as trader CPU 10, 12. 14. Ideally, the trader terminals 10, 12, 14 are high powered personal computers or workstations. The trader terminals 10. 12, 14 are coupled to the CMC 2. Trader terminals may be coupled to the CMC 2 over a wide area network (WAN) and/or over the Internet. Each trader terminal includes one or more input output devices 16, 18, 20 that allow for the entry of satisfaction density profiles and the display of output, such as matching trades. In an alternate embodiment, a trader may input a buy or sell order as a limit order. In this case, software residing within either the CMC 2 or a trader terminal 10, 12. 14 may convert the limit order into a satisfaction density profile.
Each order has a source and characteristics associated therewith. The source of an order identifies the person or entity submitting the order (e.g., the name of a trader, a specialist, a market maker, a firm, and combinations thereof). A characteristic of an order is information that relates to the order, for example, a name of a security, a price of a security, a quantity of shares of a security, conditions relating to the order for a security, and combinations thereof. The conditions relating to the order for a security (e.g., "Day," "All or none," "Fill or kill," "Immediate or cancel," "Good until first fill," and "Corporate buy back") are described in more detail below.
In one embodiment, the CMC 2 maintains the identity ofthe sources of orders anonymous and maintains the characteristics ofthe orders represented by the profiles confidential. Thus, in this embodiment, the sources and characteristics ofthe orders submitted to the CMC 2 are not disclosed to other traders. This reduces the market impact that an order might otherwise have on the price of a security.
Turning now to Fig. 2, there is illustrated an example satisfaction density profile for a sell order. In the representative embodiment, each security that a trader wishes to trade requires the creation of a satisfaction density profile. The satisfaction density profile as shown in Fig. 2 is a two-dimensional grid. Quantity is represented on the vertical axis and price is represented on the horizontal axis. (The ranges and scale of each axis can be set by the trader or automatically set by the present invention.) The satisfaction density levels are described by the numbers shown.
The satisfaction density profile characterizes the trader's range of interest in the transaction at each (price, size) combination. The trader is required to enter in one or more places on the satisfaction density profile a satisfaction density value, indicating the trader's willingness to trade that size order at that price. In the representative embodiment shown in Fig. 2, each satisfaction density value is a number between and including zero and one, with zero representing no satisfaction (i.e., will under no circumstances trade that quantity at that price) and one representing total satisfaction.
Thus, for example, Fig. 2 shows that the trader is fully willing to sell 7,500 at $73, but under no circumstances is willing to sell any quantity at $70.25. The satisfaction density value to sell 2.250 at $72.25 is 0.3, indicating a limited degree of satisfaction. Fig. 2 shows that the trader is more willing to sell 8.250 at $72.75 then 1.500 at $73.25.
In Fig. 2, a boundary is shown, marked B1-B2-B3-B4. Using known drawing program techniques, the user is able to draw a boundary on the satisfaction density profile. On one side of the boundary, the user can enter satisfaction density values. On the other side ofthe boundary, the satisfaction density values are automatically set to zero.
In Fig. 3A, there is illustrated an example satisfaction density profile for a buy order. The satisfaction density profile as shown in Fig. 3A is a contour plot on a two-dimensional grid. Price is represented on the vertical axis and quantity is represented on the horizontal axis. The satisfaction density levels are described by the contours shown. In the representative embodiment of Fig. 3 A, each satisfaction density value is a number between and including zero and one, with zero representing no satisfaction (i.e., will under no circumstances trade that quantity at that price) and one representing total satisfaction.
Thus, for example. Fig. 3A shows that the trader would be highly satisfied to buy 1,500 at $20.50, but under no circumstances is willing to buy any quantity at $24. The satisfaction density value for a buy of 3,000 at $20 is 0.6, indicating a more limited degree of satisfaction. Fig. 3 A shows the trader is more willing to buy 2,000 shares at $21 than 4.000 shares at $21.
Fig. 3B shows an example satisfaction density profile for a sell transaction in the same format as the contour plot in Fig. 3 A. The satisfaction density profile of Fig. 3B could represent, for example, an agency sell order.
As another example, Fig. 3C shows a satisfaction density profile for a sell transaction. Fig. 3C illustrates a "soft" limit order.
As another example, Fig. 3D shows a satisfaction density profile for a buy transaction.
Turning now to Fig. 4A, there is illustrated an example interface window 21 that can be used by a trader to set parameters when inputting a satisfaction density profile (see also Fig. 4B). In the representative embodiment, the interface window 21 is displayed on an Input/Output device (e.g.. 16, 18, 20). The interface window 21 in the representative embodiment can be manipulated according to standard graphical user interface (GUI) commands by a user using, for example, a mouse and a keyboard.
A Side indicator 22 allows the trader to set the type of transaction, e.g.. buy, sell, sell short etc. A Symbol indicator 24 allows the trader to set the instrument being traded, e.g., for stocks, the ticker symbol; for futures, the futures symbol, etc. A Maximum Quantity indicator 26 allows the trader to set the maximum quantity to be traded. In Fig. 4A, the trader has entered a buy profile to buy a maximum quantity of 50,000 Motorola shares.
The trader can also set a Time-in-Force indicator 28 that determines for how long the order will be valid. Examples of valid Time-in-Force settings include "good until canceled", "good until end of day" and for a set period of time.
A Surface Description section 30 of the interface window 21 allows the trader to define the dimensions ofthe satisfaction density profile. A Center Price parameter 32 is used to set the price that is displayed in the center of price axis ofthe satisfaction density profile. A Price Range parameter 34 shows the range for the price on the price axis. A Price Interval parameter 36 enables the trader to set the price interval (i.e.. scale) on the price axis ofthe satisfaction density profile. For example, as shown in Fig. 4A. the center price is set at 48 and the price range at 6. Thus, the price axis will vary from a price of 45 to a price of 51 (with 48 being in the center) in price increments of one quarter. A Price parameter 37 can be used to set whether the price is absolute or relative (e.g., pegged to the bid/ask midpoint or to the average price ofthe last match of that security).
A Min Size parameter 38 and a Max Size parameter 40 allows the trader to set the minimum and maximum limits for the quantity axis ofthe satisfaction density profile.
Mismatches of grid resolution (e.g., due to different traders using different settings) is handled by interpolation to a common grid resolution. For example, the CMC 2 could determine the smallest grid resolution used and interpolate all coarser grid resolutions to that resolution. Alternatively, the CMC 2 could specify a minimum resolution (e.g. 100 shares and 1/8 in price) and interpolate all coarser grid resolutions to the specified minimum resolution.
A Cursor Position segment 42 will display the coordinates (price, size) of the position ofthe cursor as the cursor is moved by the user over the satisfaction density profile being created. A Cursor Type section 44 has a number of buttons to control the function ofthe cursor, for example, a set button, a more button, a less button, a boundary button, and an edit button. The more and less buttons allow the user to increase or decrease the satisfaction density level on the satisfaction density profile at the location ofthe cursor. In the representative embodiment, the selected satisfaction density value is increased or deceased each time the mouse button is "clicked." The boundary button allows the user to create a boundary, as discussed above at Fig. 2. The edit button allows the user to edit the boundary. The set button allows the user to set a satisfaction density value, so that each time the mouse is "clicked", the set value is placed in the satisfaction density profile at the location ofthe cursor.
In the representative embodiment, there is a Display section 46 that has two buttons, namely, an Update button and a Display Surface button. The Update Button will redraw the satisfaction density profile. The Display Surface button will allow the user to change the way the satisfaction density profile is displayed, e.g., as a contour plot (as shown in Fig. 2) or a temperature graph (as shown in Fig. 7 below).
The interface window 21 can also have a quit button 50, a clear button 52, a reset button 54 and an apply button 56. The quit button 50 enables a user to exit from the program that controls the interface window 21. The clear button 52 clears the display ofthe graph (e.g., the display ofthe satisfaction density profile) and all other parameter values, such as, for example, the Min Size parameter 38 and the Max Size parameter 40. The reset button 54 "undeletes" the most recent change to the graph, resetting the state ofthe graph to the immediately preceding state. The apply button 56, when selected, causes the satisfaction density profile to be submitted for matching. A remove boundary button 59, when selected, will remove all boundaries from the satisfaction density profile.
A patterns button 58 allows a user to retrieve pre-defined or user-defined parameterized templates for common types of satisfaction density profiles. Upon selection of the patterns button 58. a load pattern window 60 (as shown in Fig. 5) will be displayed, that allows the user to select saved patterns. In the example of Fig. 5, there are two saved patterns, namely ibm_seller_l and ibm_buyer_ l, that store patterns that enable a user to quickly load and use satisfaction density profiles to buy and sell IBM stock.
Certain common order types (e.g., market-maker quotes, limit orders, agency orders) can be expressed as parameterized templates that could be selected directly using the Patterns button 58 and the Load Pattern window 60. Once the corresponding template pops up on the display, the user could morph the display to suit the user's preferences as described below.
An even more elegant approach is to use a family of templates that represent two- dimensional basis functions for the surface profile. These functions can be selected from any of the standard two-dimensional orthogonal basis sets (e.g., Fourier, Cosine, Walsh- Hadamard. Haar transforms) or from more generalized and/or data specific basis functions such as those associated with the Gabor and other wavelet transforms or the Karhunen-Loeve transform. Analogous to their role in image data compression, the use of such functions as templates in this application would provide a substantially lower dimensional representation ofthe buy/sell surface profile, which in turn will correspondingly reduce the dimensionality ofthe coupling matrices needed to link together the profiles of multiple securities.
Figs. 6A and 6B show a full screen display that includes an interface window 21 and the satisfaction density profile of Fig. 2.
As will be appreciated, the entry of buy/sell profiles can be facilitated by a combination of a user-friendly graphical interface and user-tailorable templates. Those illustrated above are merely examples ofthe types of interfaces that could be used to enter satisfaction density values. In an alternative embodiment, the GUI would provide a set of tools for quickly entering buy/sell profile "peg point" values at selected price/size grid coordinates, along with an arbitrarily drawn boundary outside of which the profile values would be set to zero at all grid points. The CMC 2 would then calculate a two-dimensional (or multi-dimensional) profile that exactly matches the specified points and interpolates between these values to compute all other grid values. This interpolation can be accomplished by a number of mathematical algorithms, including but not limited to triangular tessellations, spline functions, and surface and/or contour plotting programs. The GUI would also include the ability to "morph" a surface profile created in this manner, using mouse hook-and-drag type operations or other similar methods, so that the profile can be altered by the user as desired to achieve a final configuration.
Fig. 7 shows a buy satisfaction density profile displayed as a temperature graph. The user can cause any satisfaction density profile that has been inputted as a contour plot (or other representation) to be displayed in the form of a temperature graph by selecting the Display Surface button. In the representative embodiment, each (price, quantity) coordinate is represented by a colored square (e.g., 80), with the color ofthe square signifying the satisfaction density value. For example, in the representative embodiment, a satisfaction density value of 0 is represented by a black square, a satisfaction density value of 1 is represented by a white square, a satisfaction density value of 0.1 is represented by a blue square, a satisfaction density value of 0.2 is represented by a red square, a satisfaction density value of 0.9 is represented by a yellow square, and so on. Using this display, the trader can view the satisfaction density profile as a meaningful and colorful graphical display. 75
As shown in Figs. 2. 3. 6 A, 6B and 7, there are many ways and forms for creating and representing a satisfaction density profile on a computer interface and for inputting satisfaction density values.
Fig. 8 is a flow chart representing the overall steps performed in accordance with the present invention. Traders enter satisfaction density profiles, as discussed above, at steps 100 and 102. It will be appreciated that many traders can each enter one or more satisfaction density profiles. For convenience. Fig. 8 shows that the buy and sell profiles are entered at different steps (i.e.. steps 100 and 102); however, the same interface (e.g., interface window 21) and terminals 10. 12, 14 are used for the input of both buy and sell profiles. In fact, steps 100 and 102 could conceptually be considered to be the same step, merely with differing data.
In the representative embodiment ofthe present invention, buy satisfaction density profiles, when ready for matching, are transmitted to the CMC 2 and stored in a buy profile database 6 (step 104). Sell satisfaction density profiles, when ready for matching, are transmitted to the CMC 2 and stored in a sell profile database 8 (step 106).
At step 108, the CMC 2 calculates, for each possible buy /sell combination stored in the buy profile database 6 and sell profile database 8, a mutual satisfaction function, which, in the representative embodiment, is a mutual satisfaction cross product. The mutual satisfaction cross product represents the potential for that buy/sell pair mutually to satisfy each side. By way of example, if there are three buy profiles (A, B, C) and two sell profiles (1 , 2), the CMC 2 will calculate six mutual satisfaction cross products, e.g. Al, A2. Bl. B2, CI, C2.
At step 1 10. the CMC 2 ranks each grid element (possible buy /sell pair at a corresponding price and size) of each mutual satisfaction cross product in order from largest to smallest. The buy /sell pairs are then matched in the ranked order (step 1 12), accumulating the price and size for the buyer and seller of each matched transaction (steps 1 14 and 116). When the size limit for a particular satisfaction density profile is reached, all remaining lower ranked grid elements involving that profile are removed from consideration (steps 122 and 124). If all feasible (i.e.. non-zero mutual satisfaction) crosses have not been done (step 1 18), then control returns to step 112. If all feasible crosses have been completed, then the process is temporarily suspended until the next order is entered or an existing unmatched order is canceled or modified (step 120), upon which control returns to step 108.
To operate the present invention as a continuous crossing network, then control should return to step 108 whenever a new order is entered or an existing order canceled or modified. Certain aspects of Fig. 8 can be described more precisely in mathematical notation, as follows. This explanation will begin with a batch process description, and then show how this extends directly to a continuous crossing strategy.
Assume we have M buyers and N sellers in a crossing pool for a given stock. We define B,(p,s) as the "satisfaction density" of the i-th buyer for receiving a portion, s. of his fill at price p, where 0 B(p,s) 1. Along with this profile, the buyer will have a maximum size limit , . Let S^(p,s) and ^ be the corresponding satisfaction density and size limit for the k-th seller. These satisfaction density profiles are two-dimensional surfaces over a grid of price and size coordinates that characterize the participant's degree of satisfaction in the transaction. A value of zero in any coordinate cell indicates no satisfaction (i.e., no desire for any portion ofthe transaction to be accomplished at the corresponding cell price), while a value of unity indicates full satisfaction. In-between values correspond to limited degrees of satisfaction. Mathematically, these values represent "fuzzy" variables that characterize the degree of membership of a particular price/size transaction in the set of satisfying transactions.
Certain characteristics ofthe satisfaction density functions can be derived from obvious constraints. For a given value of size, we have:
B,(pι.s) >B,(p ,s) if pι<p (i.e., buyers prefer lower prices),
Bj(p,s) Tl as p IΌ (full satisfaction as price goes to zero),
Bj(p.s) 4Ό as p too (no satisfaction as price goes to infinity), and similarly,
Sk(pι.s) >S (p2,s) if pι>p (i.e., sellers prefer higher prices),
S (p,s) tl as p t∞ (full satisfaction as price goes to infinity),
S (p,s) lo as p i 0 (no satisfaction as price goes to zero).
For a given price p, there is no similar set of ordinal relationships with respect to size. However, there are special cases that typically would arise in trading. For example, the satisfaction density of a marketmaker at a given price p might be constant for sizes from zero up to 1.000 shares, and then decline rapidly to zero for larger sizes. The satisfaction density of an agency broker might be non-zero only for sizes up to the client's order size. The satisfaction density of an accumulating or divesting investor might exhibit a broad hump in size centered at some large value. We define the mutual satisfaction density between the i-th buyer and the k-th seller to be
Ji (p,s) = B,(p,s) Sk(p,s), i=l, . . ., M; k=l, . . ., N.
This product lies between zero and unity in value, and provides a measure ofthe relative degree to which a given price and size satisfy a particular pair of buyer and seller. There will be MN such mutual satisfaction densities for all participants in the batch.
Numerous other alternatives for defining these mutual satisfaction densities are available. For example, an alternative definition could be
Jik(p,s) = min (B,(p,s), Sk(p,s)}
It will be apparent that other definitions are possible that accomplish the same objective of characterizing the degree of mutual satisfaction.
The optimization problem is: what allocation of amounts and prices
(Pik.a,k) i=l . . . M; j= 1 . . . N between the i-th buyer and the k-th seller results in the maximum joint mutual satisfaction over all participants? This is equivalent to maximizing
M N
Figure imgf000019_0001
i=l k=l
subject to the size constraints
N
Σ s, < β„ k=l
M
Σ s, < σk. i=l This maximization can be performed as follows:
1. At each price/size value in the grid, compute the MN values of J,k (p,s).
2. Over all price/size grid values, rank the J,k (p,s) from largest to smallest, saving the index values corresponding to both the buyer/seller pair and the grid coordinates.
3. Allocate price and size, starting with the highest ranked J, (p,s), and accumulate the amounts for each buyer/seller. When a size limit is reached, knock out ofthe ranked list any remaining entries for that buyer/seller. Any ties in the ranking process could be arbitrated by random drawing in step three, in order to be fair to all participants. Alternatively, where there is a tie. the CMC 2 could select the match that would result in the greatest overall mutual satisfaction over all possible securities being accomplished. For example, the CMC 2 could "look ahead" and determine whether any other possible matches depend upon one ofthe tied possible matches occurring.
The CMC 2 can then aggregate all allocations between each pair of buyer and seller to compute a single size and price for their transaction as follows: sik= ∑ Σ sik(m,n) m n (total size, where (m.n) are grid point coordinates corresponding to non-zero mutual satisfactions)
Figure imgf000020_0001
Pik= m.n (average price).
Sik
Numerous variations on this theme are possible. For example, in a representative embodiment, the present invention may allow a minimum threshold of mutual satisfaction in the ranking process, below which no allocations are made. Furthermore, the satisfaction density for one stock can be made a function ofthe allocations already made in another stock.
To convert the batch process into a continuous one, each new satisfaction density entered into the crossing network of the present invention is treated as an event that triggers a new round of computation as described above. While the computation requirements to implement this process in real time for all stocks are significant, they are well within the capability of modern supercomputers.
The following is a simple example to illustrate the operation ofthe present invention. This example assumes that there are two buy profiles and two sell profiles entered by traders into the system for the trade of a single stock. The four satisfaction density profiles can be represented as the following matrices, with price being rows and quantity being columns: Buyer #1 Profile Bl : = 0.0 0.0 0.0 0.0
0.1 0.0 0.0 0.0
0.8 0.7 0.3 0.1
1.0 0.8 0.4 0.2
Buyer #2 Profile B2 : = 0.1 0.1 0.1 0.0
0.3 0.3 0.3 0.0
0.5 0.5 0.5 0.0
1.0 1.0 1.0 0.0
Seller #1 Profile SI : = 1.0 1.0 1.0 1.0
0.7 0.7 0.7 0.7
0.2 0.2 0.2 0.2
0.0 0.0 0.0 0.0
Seller #2 Profile S2 : = 0.0 0.0 0.0 0.5
0.0 0.0 0.0 0.7
0.0 0.0 0.0 0.3
0.0 0.0 0.0 0.1
Buyer #1 Profile is represented graphically as a contour plot in Fig. 3A. Buyer #2 Profile is represented graphically as a contour plot in Fig. 3D. Seller #1 Profile is represented graphically as a contour plot in Fig. 3C. Seller #2 Profile is represented graphically as a contour plot in Fig. 3B.
Then the four mutual satisfaction cross products produced at step 108 are as follows: Jl l := (B1 - SI) Jl l therefore equals 0.00 0.00 0.00 0.00
0.07 0.00 0.00 0.00
0.16 0.14 0.06 0.02
0.00 0.00 0.00 0.00 J12:= (B1 - S2)
J12 therefore equals 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.03
0.00 0.00 0.00 0.02
J21 := (B2 - S1)
J21 therefore equals 0.10 0.10 0.10 0.00
0.21 0.21 0.21 0.00
0.10 0.10 0.10 0.00
0.00 0.00 0.00 0.00
J22:= (B2 • S2)
J22 therefore equals 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
Jl 1 is represented graphically, as a contour plot, in Fig. 9A. J12 is represented graphically, as a contour plot, in Fig. 9B. J21 is represented graphically, as a contour plot, in Fig. 9C. J22 is represented graphically as a blank contour plot (not illustrated).
Ranking each (price, quantity) pair from the above four grids gives the following vector: w = (.21, .21, .21, .16. .14, .1. .1, .1, .1, .1, .1, .07, .06, .03, .02, .02, 0. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. 0, 0, 0, 0, 0, 0, 0. 0, 0, 0, 0. 0, 0, 0. 0, 0, 0. 0, 0, 0, 0, 0, 0, 0, 0. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
If there are a number of possible trades ranked equally (e.g., there are three possible trades ranked first above), then one is chosen at random or, as explained above, according to a predetermined scheme to increase overall mutual satisfaction in the matching process.
The present invention can easily handle trades of baskets of securities. In such case, the CMC 2 will functionally link related satisfaction density profiles into one. This linking process can be accomplished in its most general form, for example, by matrix manipulation of the two profiles utilizing a connection matrix.
In further embodiments, additional variables (or parameters) can be included that have an effect on the satisfaction density profile. For example, an eligibility variable or an urgency variable (or both) could be set by the trader, as explained below. To further elaborate, consider the following scenarios:
A. A trader has a "buy basket" and a "sell basket" whose execution status cannot become too far unbalanced on either side, in dollars or shares or both.
B. A trader wants to become more (or less) aggressive about buying/selling a given security as a function ofthe execution status of other securities in the traders" actual/desired basket.
C. Some combination of A. and B. above.
To account for these constraints and relationships, the satisfaction density profile of the present invention can be augmented to include two other variables: eligibility and urgency. In the most general case, each of these variables can take on a value between and including zero and one. Alternatively, each could have a binary value, zero or one. In one embodiment, the eligibility variable has a binary value and the urgency variable has a value between and including zero and one.
Both the urgency variable and the eligibility variable can be associated with the satisfaction density profile as a whole (e.g.. one value per variable per profile) or each coordinate ofthe satisfaction density profile (e.g., one value for each (price, size) coordinate.)
The eligibility value, when associated with each coordinate, represents the degree to which that grid point is eligible for matching. In the simplest case, the eligibility variable is a binary variable that is used to track execution status, i.e., all values ofthe eligibility variable are assigned a value of one at order profile entry, and matched values are set to zero upon matching. Thus, in this embodiment, the eligibility variable could keep track of when matches have occurred. In a more general case, the eligibility of unmatched values could be held to zero pending satisfaction of execution status constraints of other securities (e.g.. as in scenario A. above). Thus, the eligibility variable could be used as a coupling between two different stocks.
In a most general case, the eligibility variable could be a "fuzzy" variable, having values between and including zero and one. that would allow for "soft" (i.e.. continuous-
26 valued) constraints such as "I want to sell [some | a good amount | a lot] of IBM before I buy [ some I much | a large amount ] of DEC.
The urgency variable represents the degree to which a particular grid point satisfaction value should be either (a) translated in the direction of a more aggressive price, or (b) warped to a more aggressive satisfaction value, or both. In the representative embodiment, there is one urgency value per satisfaction density profile (i.e., urgency is condensed to a single scalar value for each security, applied uniformly), and the value ofthe urgency variable ranges from zero to one. In the normal case, the urgency variable would have a value of zero, representing regular trading urgency. Non-zero values ofthe urgency variable would signify the degree of urgency, with one being the most urgent.
For case (a) immediately above, a non-zero value ofthe urgency variable would translate the whole satisfaction density profile up in price (for a buy) or down in price (for a sell). In this instance, the boundaries of the satisfaction density profile would shift accordingly.
In case (b), non-zero values ofthe urgency variable would exponentially warp the satisfaction density values. Assume that the urgency variable is assigned a value u. Then each (non-zero) satisfaction density value is raised to the power (1-u). In this case, the boundaries ofthe satisfaction density profile are not changed. Exemplary Embodiment ofthe Invention
The following provides a detailed description of an exemplary embodiment ofthe above-described matching system and method, including general protocols associated with preference profiles, and the detailed algorithmic process by which contra profiles are matched. The latter description may include priority rules, matching constraints, and the handling of special cases such as ITS (Intermarket Trading System) trades and short sales.
Preference Profile Protocols
The basic user input to the crossing network is a preference or satisfaction density profile, which expresses the trader's degree of preference (a number between zero and one) to trade at each price/size coordinate in a given cycle. Any coordinate with a non-zero preference value is eligible to be matched one or more times at its corresponding size with one or more contra profiles, at its corresponding price or better, during that cycle, subject to the algorithmic process and constraints to be described below. Fig. 10 depicts an exemplary embodiment of a preference profile 150 (in this case, a buy profile) in the graphical user interface (GUI) used in this exemplary embodiment ofthe present invention. The white region 151 denotes ' 1 ' preference values, while the shaded region (between contour lines 153 and 154) denotes intermediate preference values between '0* and ' 1 ". The black region 152 indicates zero preference values (i.e., prohibited trades).
Profile Features and Parameters
The actual grid over which preference profiles are defined is quantized in price (vertical axis) by the minimum trading increment in the corresponding security being traded. It is quantized in size (horizontal axis) to 1000 share increments. In the latter case, it is important to note the difference between the quantization of preference (which represents the granularity of expressing trading preference as a function of size) versus the unit of trading size in the system, which may be in round lots (100 shares). Any integer number of round lots can be traded, but the same preference value at a given price applies to each round lot size between, e.g., 1 100 and 2000 shares, or between 7100 and 8000 shares.
Every preference profile has an associated maximum quantity of shares (in round lot multiples) to be bought or sold. This quantity must be greater than or equal to 1000 shares, except for profiles that originate from the exchange's specialist's workstations or from the exchange's order book, which may be in any round lot quantity down to 100 shares, or from CQS (Consolidated Quote System) quotes, which may be in any round lot quantity greater than 100 shares. CQS quotes of 100 shares are ignored.
Specification of Preference Profiles
In accordance with an embodiment ofthe subject invention, satisfaction density profiles, also known as preference profiles, are entered via the specification of preference contours, which are adequate to describe any practical preference profile. The user can specify individual preference contours, corresponding to preference values from the set [0.0, 0.1. . . . 1.0]. manually via the GUI, or eventually by computer using an extension ofthe Financial Information Exchange (FIX) standard messaging format. Each contour is specified in terms of its vertices (i.e., end points or bend points in the contour), which correspond to discrete preference coordinates in the specified price and size increments. The profile in Fig. 10 is entirely defined by the two preference contours shown, each of which is specified by only two vertices.
As described below, contours are expanded into piecewise continuous line segments, each corresponding to a single specified preference value. Every profile must specify a ' 1 ' preference contour, and this * 1 ' contour must be specified over the entire size range of nonzero preference values in the profile. If a profile does not specify a "0" contour, it will be automatically created by the matching engine. The zero contour will be inserted across all profile sizes at a price that is one tick more aggressive than the most aggressive coordinate specified with a non-zero preference.
The full matrix of preference values is constructed from the specified preference contour vertices in two stages. The first stage linearly interpolates between adjacent vertices to create piecewise linear preference contours lying on the grid of price/size coordinates. At each discrete size increment, the corresponding preference value is assigned to the intersecting grid coordinate whose price is closest to the interpolated contour line. This process is performed in decreasing order of contour preference values, so that lower- preference contours that intersect the same grid coordinate as a higher-preference contour overwrite previously assigned preference values. The result is a vertically stacked set of grid coordinates for each size increment whose prices correspond to specified discrete preference values.
For each of these size increments, the second stage linearly interpolates the preference values over price increments lying between the prices corresponding to the discrete preference values assigned in the first stage, assigning floating point preference values to these coordinates. For buy (sell) profiles, all coordinates at a given size whose price is below (above) the coordinate assigned a ' 1 ' preference in the first stage are automatically assigned a ' 1 " preference. Similarly, for buy (sell) profiles, all coordinates at a given size whose price is above (below) the minimum specified contour preference value in the first stage are assigned a zero preference value. In this manner, the entire preference matrix for a given profile is specified as a function ofthe preference contours.
To illustrate this process, assume the following contour vertices have been entered to create a preference profile:
T preference contour vertices: (1000. $126,375). (65000, $125,750) '0' preference contour vertices: (1000. $126,625), (65000. $125,875)
Profile price increment = $0,125
The first step is to linearly inteφolate the prices between the defined contour vertices for each 1000 share size increment, followed by rounding ofthe resultant prices to the nearest price increment. This results in the following tables for the ' 1 ' and '0' preference contours, respectively:
' 1 ' Preference Contour Table
Size Interpolated Price delta (.ounded price
Figure imgf000027_0001
'0' Preference Contour Table
Size coordinate Inteφolated Price delta
Figure imgf000028_0001
Note that the rounded price value for 7000 shares in the '0' contour has shifted to the next lower price increment because the linear inteφolated value has shifted more than 0.5 of the price increment.
The next step is, for each size increment, to inteφolate linearly the preference values at each price increment lying between those prices assigned to the corresponding preference contour values in the above tables. This operation fills in the intermediate preference values in the matrix, and for illustration, would result in the following table of inteφolated preference values for the price increment $126,500:
11
Size increment at $126,500 price Preference value increment
1000 0.50
2000 0.50
3000 0.50
4000 0.50
5000 0.50
6000 0.50
7000 0.00
Profile Range Limits
In this exemplary embodiment, the following profile range limitations are imposed by the system.
Exclusion of Profiles from a Match
The matching engine may exclude profiles specifying preference contours that are too aggressively priced relative to the National Best Bid or Offer (NBB or NBO) at the time of the call from a match. Since the determination of the NBBO is not made until the start time ofthe match, users are not given an indication of the rejection ofthe profile.
If a buy profile specifies any preference contour coordinate greater than 159 price ticks higher than the NBO. the profile is excluded from a match. For a 1/16 price increment, this means that a profile with a preference contour coordinate $10.00 or more above the NBO is excluded. Note that this includes the specification of points on the *0 '-preference contour. Similarly, if a sell profile specifies a preference contour coordinate more than 159 ticks lower than the NBB. it is excluded from a match.
In addition to these aggressively priced cases, buy (sell) profiles specifying preference contour coordinates that are much lower (higher) than the NBB (NBO) are also excluded from a match. If a buy profile specifies any preference coordinate more than 799 price ticks below the NBB (i.e.. more than $50.00 below the NBBj it will be rejected. Similarly, if a sell profile specifies a preference coordinate more than 799 price ticks above the NBO (i.e., more than $50.00 above the NBO), it will be rejected. Profiles that are rejected in these tests remain in the system with their original time stamps, so they may participate in future call cycles if the NBB or NBO changes so as to make them eligible for trading.
Finally, any profile whose maximum quantity is more than 20 times the maximum size of any non-zero preference coordinate in that profile will be excluded from all matches. For example, a profile whose maximum size coordinate is 5,000 shares, but whose maximum quantity is 101,000 shares, will be excluded from all matches.
Truncation of Profiles Included in a Match
Aggressively priced buy or sell profiles that are not excluded from a match based on the above tests may still be truncated in price if they extend too far from the NBO or NBB, respectively. For buy profiles, all non-zero preference coordinates more than 100 price ticks (i.e., $6.25 for a 1/16 price increment) above the NBO are truncated from the profile. Similarly, for sell profiles, all non-zero preference coordinates more than 100 price ticks below the NBB are truncated from the profile. Thus any portion of a buy profile at prices more than 100 price ticks below the NBB is ineligible to trade, as is any portion of a sell profile at prices more than 100 price ticks above the NBO, since there will be no contra side profile coordinates extending beyond these limits.
Pegging of Profiles
Users may wish to update their profiles automatically in the system as market prices and quotes change throughout the day. This can be accomplished to a limited degree by using the pegging feature ofthe user interface, which allows profiles to be specified with respect to a reference price instead of an absolute price.
The pegging reference price options available through the system user interface are: National best bid price: National best offer price: midpoint between the national best bid and best offer prices; and National last sale price prior to a system matching cycle.
If pegging is invoked in the creation or modification of a profile, the prices displayed on the vertical axis ofthe profile are shown relative to the selected pegging price variable. All contours in a pegged profile, and their corresponding preference specifications, are updated with respect to the appropriate pegging price at the beginning of each system matching cycle. Pegged profiles always receive a new time stamp at the beginning of each cycle, which puts them lower in time priority than any non-pegged profile. However, the relative time priorities among the subset of pegged profiles are preserved in accordance with their original time stamps, so that earlier submitted pegged profiles have time priority over later submitted ones.
Market Data Filtering for Pegged Profiles
The market data is filtered to determine the pegging reference prices in a manner to reduce the likelihood of an unintended outcome from a match.
The following algorithm is used to determine the pegging reference price used by the system for each equity traded:
1. National market prices are taken directly from the SIAC market data feed. The consolidated bids and offers ofthe national market are checked to determine if they result in a locked or crossed market condition. If not, the national best bid and best offer (NBBO) is calculated, and the algorithm then proceeds to step 4.
2. If a locked or crossed market condition is detected, the bids and offers are censored one at a time in reverse chronological order of their update times (i.e., the most recently updated bid/offer is censored first), until the remaining set of bids and offers is not locked or crossed. If the bid and offer from a single exchange are crossed then both quotes will be ignored for that exchange. If there is neither a bid nor offer from the primary exchange the cycle will be cancelled. If a crossed market is detected from different exchanges and the timestamps are equal then the offer will be ignored. If a quote has a size of 100 shares (1 round lot) or less it will be excluded from the cycle. If a quote is not flagged as 'firm' it will be excluded from the cycle. If a quote is flagged as 'fast market' it will be excluded from the cycle. Quotes from the following exchanges will be considered for the cycle: Boston, Chicago, Philadelphia, New York, Amex, Third Market and Cincinnati.
3. The remaining set of bids and offers is then used to calculate the NBBO. A final validation test is performed to eliminate best bid, best offer, or last sale values that have deviated more than a threshold amount from their last reference values. This threshold is proportional to the price and the square root " of time since the last reference value. In the event that all bids are locked or crossed with respect to all offers, the match will not be executed. If either the NBB or the NBO (but not both) is missing or determined to be not valid, the match will be executed, but all pegged profiles except those pegged to the valid bid or offer will be excluded. If the last sale exceeds the threshold from its previous value, all profiles pegged against the last sale will be excluded from the cycle, but the tick direction will be taken "as-is".
4. The NBBO prices resulting from step 1 or step 3 are used as the pegging reference prices for profiles pegged to the best bid or best offer, respectively.
5. The midpoint price is calculated as the average ofthe best bid and best offer reference prices determined in step 3. If the midpoint price corresponds to a legitimate trading increment price, that price is used as the pegging reference price for profiles pegged to the midpoint ofthe national best bid and best offer. If not, buy profiles pegged to the midpoint will use the next lowest trading increment price below the midpoint price as the pegging reference price. Sell profiles pegged to the midpoint will use the next highest trading increment price above the midpoint price as the pegging reference price.
6. For profiles pegged to the national last sale price, if the national last sale price lies on or within the NBBO price range, it is used as the pegging reference price for both buy and sell profiles. If the national last sale price is greater than the best offer price calculated in step 1 or 3, the national best offer price is used as the pegging reference price for buy profiles, and the national last sale value is used as the pegging reference price for sell profiles. If the national last sale price is less than the best bid price calculated in step 1 or 3, the national best bid price is used as the pegging reference price for sell profiles, and the national last sale value is used as the pegging reference price for buy profiles.
The above market data filtering algorithm does not correct erroneous market data that may be used to determine pegging reference prices. Matching Eligibility
Unless otherwise constrained, any individual coordinate of a preference profile is eligible for multiple matches against contra profiles each time a new system matching cycle is performed. There are four basic constraints that limit this eligibility:
1. A coordinate whose size, when added to the cumulative size of potential allocations already made to its profile, would exceed the maximum quantity for the profile is not eligible for further matching.
2. A user may enter an arbitrary number of explicit price or volume controls that restrict the total number of shares that may be allocated from a particular price or size region ofthe preference profile. For example, the user may specify that, notwithstanding the overall shape ofthe preference profile, no more than 100,000 shares may be accumulated at a price of 57 or higher, and no more than 50.000 shares may be accumulated at sizes of 10,000 shares or less. Explicit price and/or size controls are logically ANDed (i.e., each and every control must be satisfied by a prospective allocation), and they are neither reset nor adjusted from one matching cycle to the next. These boundary conditions provide a further degree of user control over the trade allocations that can be made to the profile, throughout its life. Note that pegged profiles are not permitted to have price controls.
3. A user may enter an Intermarket Trading System (ITS) restriction that limits the number of shares (as a percentage ofthe maximum quantity) in his profile that may be matched against the quotes of ITS participants, as described more fully in Section 6.3 below.
4. For buy (sell) profiles with regions of downward (upward) slope, where the maximum coordinate size with non-zero preference at a particular price is less than the maximum coordinate size with non-zero preference at any price in the profile, the system automatically generates an "implicit price control". This price control limits the number of shares that can be allocated at that price or above (below) in a single match to the size ofthe maximum-size non-zero preference coordinate at that price. Implicit price controls, at each price where they are generated, are automatically reset and/or recomputed at the beginning of each matching cycle. Thus they do not prevent the accumulation of trades at a particular price across multiple matches whose total volume might otherwise be disallowed in a single match. As an illustration, note that in the last table of Sectionl .2. the largest size increment with non-zero preference value at the price $126.50 coπesponds to a size of 6000 shares, and the total profile contains non-zero preference values coπesponding to sizes greater than 6000 shares. Thus an implicit price control is generated that limits to 6000 shares the total trade volume that may be allocated in a single match at a price of $126.50 or higher. Fig. 11 illustrates the use of explicit price and volume controls in a profile, and Fig. 12 details the generation of implicit price controls. As illustrated in Fig.l 1, the explicit volume control (vertical line) limits total volume in trades of 300,000 shares or less to 400,000 shares, while the explicit price control (horizontal line) limits total volume at $39 15/16 and above to 510,000 shares. As illustrated in Fig. 12. the implicit price controls are generated at the following coordinates: $40 1/8 for 20,000 shares; $40 1/16 for 30.000 shares; $40 for 40,000 shares and $39 15/16 for 90.000 shares. Fig. 13 shows an example of a buy profile for which no implicit boundaries are generated, notwithstanding the downward slope region over a portion ofthe profile, since the maximum non-zero preference coordinate size at each price equals the maximum non-zero preference coordinate size at any price in the profile.
Users should note that the only carry-over information from one system matching cycle to the next, regarding trades already allocated to a profile, is with respect to the externally specified limits on the profile. These include maximum quantity, explicit price/size controls, ITS percentage restrictions, and profile type; all of which information is input by the user in fields outside the profile grid. The profile itself, at each new cycle, states preferences to trade in that cycle, subject to these external constraints on cumulative trade allocations. This is critically important for users who input buy profiles with downward sloping preference contours, or sell profiles with upward sloping preference contours. The implicit price controls generated as a result of this profile shape apply only to trade allocations in the current matching cycle, and take no account of trade allocations from previous cycles. Users are cautioned to use explicit price controls for such profiles to prevent trade allocations over multiple cycles that would violate the implicit price controls applicable in a single cycle. Profile Priority Variables
Standing of a Profile Coordinate
In existing market centers, a regular-way limit order specifies a maximum size and a limit price against which one or more fills may be allocated, up to the maximum size and at or better than the limit price. Such orders have "standing" in the sense that no trade is permitted that would trade through the limit price of such an order without first filling the order. The key features of an order with standing are 1 ) it is a held order at the limit price or better; and 2) any portion ofthe order may be filled at the limit price or better.
The analogous concept of a preference profile coordinate with standing is defined by the following features: 1) the coordinate must have ' 1 ' preference. 2) the coordinate must lie in a row of contiguous coordinates of ' 1 ' preference at the same price, extending down to the minimum (i.e., leftmost) size increment, all of which are eligible to be matched, and 3) the profile must not have its ITS participation set to less than 100%. Thus if a coordinate has standing, it lies in a region ofthe preference profile that has ' 1 ' preference values for all coordinate sizes from the minimum preference increment (i.e., 1000 shares) up to and including the coordinate's size, at its corresponding price. Fig. 14 illustrates the concept of standing.
Referring to FIG. 14, the coordinates in the larger lower rectangle possess standing, while those in the smaller upper rectangle do not possess standing. In one embodiment ofthe system and method ofthe subject invention, no match is permitted that would trade through the price of a coordinate with standing, as described more fully below. No coordinate has standing in any profile that incoφorates an (explicit) size boundary condition. In profiles with less than 100% ITS participation, coordinates that otherwise would have standing may be traded through if the profile has failed to make a prospective trade at an earlier point in a given cycle as a result of its ITS restriction. Otherwise, these coordinates are treated as though they possess full standing.
Class of a Profile
There are four levels of profile class in the system, designated respectively in descending order of priority as Book. Agency, Principal or CQS (i.e., Consolidated Quote System). Class Definitions
Each limit order and specialist quote residing in the host exchange computer system at the time of a match is converted to a limit profile with Book class. Each profile submitted via the system GUI must be identified by the user as either an Agency or Principal profile. The end user is responsible for properly identifying profiles as Agency or Principal.
The account type identification of electronically submitted limit orders to the system via the FIX protocol (either from a CTCI or a Gateway service provider) is specified using the Account Identification Codes (AIC) published by the New York Stock Exchange (NYSE). Each profile created by the system from such orders is designated as either an Agency or Principal profile, in accordance with the following classification table: ιtιiRVfmarw_MirBg waar(_iirwH_iM
Figure imgf000036_0001
AIC codes have no other impact on the system matching algorithm. Specifically:
1. All orders identified as Sell Short Exempt are treated as sell orders.
2. Where the host exchange is the Pacific Exchange (PCX) which does not change its order processing when the NYSE invokes sidecar processing rules, the system does not change its processing of program trading order AIC codes (D, C, M, N, J, K, U, Y) when sidecars are triggered on the NYSE. The system will comply with any changes to these rules if and when the PCX modifies its rules.
CQS profiles are created from the quotes of other market participants in the Intermarket Trading System (ITS) at the time of a match, provided that the size of such quotes exceeds 100 shares and the quote has not produced a locked or crossed market. In either of the latter cases, no CQS profile is created for the corresponding quote. CQS profiles are analogous to regular limit orders, and thus possess standing.
Class Priorities
As shown in the following Table, the system prioritizes Book over Agency profiles, Agency over Principal profiles, and Principal over CQS profiles. CQS profiles are canceled automatically at the end ofthe cycle in which they participate, since new CQS profiles are created at the beginning ofthe next cycle.
Figure imgf000037_0001
Figure imgf000037_0002
Profile Types
The system supports the following profile type eligibility conditions:
Day: good for the day in which the profile is entered. All profiles are automatically suspended by the system at the end of each trading day, but may be reactivated without loss of time priority prior to the first match ofthe following day. Except as noted below, this is the default type for all profiles.
All or none: good only for the maximum quantity indicated. Except for profiles submitted via the system GUI, all or none profiles are not eligible to participate in trades against CQS profiles. All or none profiles submitted via the system GUI have a default setting of 0% ITS eligibility, but this may be modified by the user.
Fill or kill: an all or none profile that is automatically cancelled after the next match, if it has not been filled. Fill or kill profiles have the same restrictions regarding ITS participation as described above for all or none profiles.
Immediate or cancel: a profile that is automatically cancelled after the next match, regardless of its leaves quantity.
Good until first fill: a profile that is automatically cancelled after the next match in which it receives any allocation(s). Coφorate buy back: a buy profile submitted by the coφorate issuer ofthe stock being traded. Prior to each match, all coordinates in these profiles priced above the national last sale price are truncated, so that execution of this profile cannot create an up tick with respect to this price.
Profiles marked as short sales are subject to intra-match cycle eligibility restrictions, as explained in detail below.
Time of Entry of a Profile
Book profiles submitted to the system from the host exchange have as their time stamp the host computer system-assigned date and time stamp. Agency and Principal profiles are assigned a date and time stamp by the system at the time of their submittal. All time stamps in the system are unique. Any change to an Agency or Principal profile, other than a reduction ofthe maximum quantity or a change in ITS participation, results in the assignment by the system of a new, current date and time stamp to the profile. CQS profiles are assigned a date and time stamp corresponding to the actual time the quote was disseminated over the CQS.
Matching Algorithm Stages
Aggregation
In one embodiment ofthe system and method ofthe subject invention, preference values of ' 1 ' (which indicate full preference to trade) are inteφreted as "non-discretionary", analogous to a held order at the corresponding price and size. The matching of contra sides where both parties have a preference of ' 1 ' is analogous to the matching of held orders that occurs in existing markets. In such cases, where the mutual preference (i.e., the product of buyer and seller preference) is also ' 1 ', the system uses matching rules consistent with the rules of priority used in existing markets. This first stage of matching is denoted as "aggregation" in the system, since it permits multiple coordinates on one side ofthe market to be matched against a single coordinate on the contra side. Under a "crossed market" condition, as described hereinbelow, the aggregation stage matches multiple buyers and sellers at a clearing price. Negotiation
Preference values of less than ' 1 ' (and greater than zero) are inteφreted as giving the system the corresponding degree of discretion in finding contra side matches. The matching of contra sides where one or both parties have less than ' 1 ' (but greater than zero) preference is analogous to one-on-one manual negotiations that have no particular rules of priority, which occur in existing market structures. In these cases, the system uses mutual preference (with values less than ' 1 ', but greater than zero) as the primary determinant of trading priority. This second stage of matching is denoted as "negotiation" in the system, since it negotiates trades between contra pairs at individual price and size values. Where a prospective match based on partial preference would trade through coordinates with ' 1 ' preference that have standing, or trade at the price of such coordinates that have class or time priority, or violate the short sale rule (as described below), this match is blocked.
Priority Rules for Matching
The Aggregation Stage
In the aggregation stage ofthe system and method ofthe subject invention, all mutual preference values are ' 1 ', since both buy and sell coordinates have preference values of ' 1 '. The priority in which coordinates are considered for aggregation is as follows:
1. Price. Coordinates with more aggressive prices (i.e., higher prices for buy profiles, lower prices for sell profiles) have priority over coordinates with less aggressive prices.
2. Standing. Coordinates that have standing at a particular price have priority over coordinates that do not have standing at that same price, with the exception of CQS profile coordinates. CQS coordinates have the lowest priority for trading at a given price, but cannot be traded through.
3. Class. Among coordinates having the same price and standing, priority is assigned in descending order of Book. Agency. Principal and CQS profiles, respectively.
4. Time of entry. Among coordinates that have equal price, standing and class status, the time of entry ofthe associated profile determines relative priority, with earlier time of entry having higher priority. Each profile has a unique time of entry assigned upon its receipt by the system, so there are no ties among profiles in this category. 5. Size. Among coordinates of a given price within the same profile, priority for matching is determined by size, with larger sizes having higher priority.
The Negotiation Stage
In the negotiation stage ofthe matching algorithm of the subject invention, the priority in which matches are considered for allocation is as follows:
1. Mutual preference. Matches with higher mutual preference take precedence over those with lower mutual preference.
2. Standing. Among matches with equal mutual preference, matches involving pairs of standing, nonstanding and CQS coordinates are prioritized in descending order as follows: Standing/standing; Standing/nonstanding; Nonstanding/nonstanding; Standing/CQS; Nonstanding/CQS; CQS/CQS matches (i.e., when away markets are locked or crossed) are forbidden..
3. Class. Among matches with equal mutual preference and standing status, matches involving pairs of Book, Agency, Principal or CQS profiles are prioritized in descending order as follows: Book/Book; Book Agency; Agency/Agency; Book/Principle; Agency/Principle; Principle/Principle; Book/CQS; Agency/CQS; Principle/CQS; but CQS/CQS matches are prohibited, of entry. Among matches with equal mutual preference, standing and class status, the time of entry ofthe earlier-entered profile of a given pair determines relative priority, with any subsequent ties (by necessity involving the same earlier- entered profile) resolved in favor ofthe earlier-entered contra profile of the pair.
4. Size. Among matches having equal mutual preference, standing, class and time of entry (by necessity involving two different coordinates within the same profile pair), priority is given to matches with larger sizes.
5. Intra-pair time of entry. Among matches between the same profile pair where all ofthe above are tied at more than one price, the best price (i.e., highest price for sellers, lowest price for buyers) is given to the earlier-entered profile ofthe pair.
Matching Algorithm Constraints
Standing Constraints
For profiles with no ITS eligibility restrictions, the matching algorithm never permits a match that would cause a trade through of any coordinate with standing. Furthermore, no match is permitted at the price of a coordinate with standing, if the latter coordinate has standing or class priority according to the above rules, with the following exceptions:
1. In the event two-sided aggregation is invoked, as described in detail below, price priority overrules class priority, permitting more aggressively priced profiles with standing to trade at the price of less aggressively priced profiles that have class or time priority.
2. Matches between any non-CQS profiles (regardless of their standing status) are always permitted at the price of a CQS profile.
Thus the system provides absolute protection of unrestricted coordinates with standing, both with respect to trade through prevention and with respect to trade-at precedence (with the exceptions noted above). This group includes all profiles that are analogous to regular-way limit orders.
Price and Size Controls
The matching algorithm never permits a match that would result in the violation of any price or size control (implicit or explicit) associated with any profile involved in a match. Pegged profiles (which the user designates to be adjusted with reference to the current market at the beginning of each match cycle) may not contain explicit price controls. All price and/or size control limits affecting a particular coordinate must be satisfied in order for the coordinate to participate in a trade.
A profile with one or more size controls has no coordinates with standing, at any size or price.
As previously noted, implicit price controls, at each price where they are generated, are automatically reset and/or recomputed at the beginning of each matching cycle. Thus they do not prevent the accumulation of trade volumes at a particular price across multiple matches that otherwise might be disallowed in a single match. Users must employ explicit price controls to prevent this occurrence.
Intermarket Trading System Eligibility
In one aspect of this embodiment, every profile submitted through the system GUI designates the portion ofthe maximum quantity associated with the profile that is eligible for matching against CQS profiles. The system GUI default setting for ITS eligibility is 0% for all or none and fill or kill profile types, and is 100% for all other profile types. CQS profiles are always included in system matches, but have lower class priority than any other profile type in the system. Matches involving a CQS profile carry an implicit risk of not executing the trade, since the ITS commitment sent to another market may be only partially filled, or may expire or be declined. Users who elect to limit the eligibility of their profile for ITS trades may lose some trading opportunities and/or some degree of standing protection in the system, since all CQS profile coordinates have standing, and thus trading through these coordinates is forbidden. In particular, profile coordinates that possess standing, but have declined any portion of a trade due to ITS limits, are not permitted to block other trades as a result of their standing. This may potentially result in a trade-through of these coordinates. Notwithstanding these considerations, the system and method does not permit a match that would result in a violation ofthe ITS eligibility limits for any profile.
ITS trading limits, if employed, specify the percentage ofthe total original profile volume (not the remaining "leaves" quantity) that is eligible for matching against CQS profiles in each match. However, should an ITS commitment generated by a profile in an earlier match cycle still be pending at the commencement ofthe next match cycle for any reason, the volume associated with this commitment is subtracted from the ITS eligible volume in the current match. As a result, there is no possibility of exceeding the profile's ITS exposure limit. For example, a profile submitted with the maximum quantity specified as 100.000 shares, and the ITS eligibility specified as 10%, normally is permitted to match up to 10.000 shares against CQS profiles in aggregate in each match cycle. However, if a previous match cycle resulted in the generation of an ITS commitment against this profile of 5,000 shares, and this commitment is still pending at the commencement ofthe current match cycle, then only 5.000 shares is eligible for matching against CQS profiles in the current cycle.
Short Sales
At the beginning of each matching cycle, the national last sale and tick is used to initialize the eligibility of short sell profile coordinates. At each subsequent stage of internal trade allocation within the system matching cycle, the internal last sale and tick is used to update the eligibility of short sell profile coordinates. No allocation involving a short sell coordinate is allowed at a price less than the internal last sale (on a plus or zero-plus internal tick) or at a price less than one price increment above the internal last sale (on a minus or zero-minus internal tick). Short sell coordinates that lose their eligibility at any stage internal to a match cycle receive a new effective time stamp upon restoration of their eligibility within that cycle, which results in a loss of their original time of entry priority for the balance of that matching cycle. The profile's original time of entry is used to prioritize short sell coordinates at the same price that have been disabled during a cycle, and also is used at the start ofthe next cycle to determine time of entry priority for that cycle.
COS Profile Matches
In this embodiment, the matching system and method ofthe subject invention does not permit a match between two CQS profiles.
Matching Algorithm Procedure
The Aggregation Stage
In the aggregation stage ofthe algorithm, which applies only to coordinates with preference values of ' 1 ', adjacent coordinates within each profile at each price are grouped into kernels. Each kernel represents a single-price row of contiguous coordinates in the profile, having ' 1 ' preference values. In addition to its price, each kernel is parameterized by the minimum and maximum number of shares spanned by the row of ' 1 ' coordinates. For each profile, kernels are generated at every price increment lying in the range of price overlap with contra-side profiles. A single buy kernel list and a single sell kernel list are constructed from the kernels of all profiles, via a sequence of nested sorts of each list in strict order of price, standing, class and time of entry priority, as described above. (Note that the size sort on coordinates mentioned hereinabove is implicit in the kernel structure, given that kernels always seek to fill their maximum size, but no less than their minimum size.)
In accordance with the subject invention, normal aggregation is one-sided, in the sense that a single kernel on one side ofthe market aggregates potentially multiple kernels from the opposite side. However, there are instances where multiple kernels with standing on each side of the market overlap in price, in which case one-sided aggregation is blocked by the standing constraints. When the latter situation is detected, two-sided aggregation is used (as described hereinbelow) to clear these overlaps before resuming with one-sided aggregation. One-sided Aggregation
An earlier entered (non-CQS profile) kernel at the top of either the buy or sell kernel list is selected as the initial "aggregation attractor" kernel. The matching algorithm then attempts to aggregate volume from kernels on the contra list, in strict order of priority on that list, in order to match the aggregation attractor' s size and price. The matching algorithm proceeds through the contra list in priority order in its attempt to allocate contra parties to the aggregation attractor. Kernels without standing in this contra list may be skipped over if their minimum and maximum size limits are incompatible with the size limits ofthe aggregation attractor kernel. The potential trade price is set initially to the aggregation attractor's price, and the aggregate contra list is examined to see whether sufficient contra volume exists to satisfy at least the minimum volume demanded by the price ofthe aggregation attractor kernel. In one aspect of this embodiment, the aggregation process always seeks the maximum volume available for the attractor kernel, and is repeated for that kernel if the profile maximum volume is larger than the aggregator kernel maximum volume, so long as none of the other profile constraints is violated.
If at least the minimum required volume can be aggregated to the attractor, but the resulting set of trades would trade through kernels with standing on the contra list, the attractor kernel is skipped over, and the next-highest priority kernel is selected from either the buy or sell list. Also, if the resulting set of trades fills kernels with lower class priority (excluding CQS kernels) without completely filling all kernels with higher class priority and standing at that price, the attractor kernel is skipped over. This process continues until a price is determined at which the aggregation attractor can attract adequate volume from the contra list without trading through any contra kernels with standing, or trading at the price of higher class priority contra kernels with standing. This price is then checked to see if it trades through the price of any kernel with standing on the attractor's side. If it does, the prospective aggregation trades are disallowed. If the unsuccessful aggregation attractor kernel has standing, the choice ofthe next aggregation kernel is restricted to the contra list. If an aggregation attractor kernel with standing cannot make an otherwise permissible trade due to its ITS participation being restricted, it may be traded through in subsequent trades of a given cycle, in order to prevent it from blocking other trades.
If the aggregation price determined above is permissible, the matching algorithm seeks to improve the trade price for the aggregation attractor by one price increment, and recalculates the available trade volume. This price improvement process repeats until the improved price results in a decrease in the available volume to trade. However, price improvement for the aggregation attractor is halted if the resulting price would trade through the price of any coordinate with standing on its side ofthe market or trade through any coordinate that is willing to do the identical trade (i.e., same price and size), regardless of whether the latter coordinate has standing or not. The attractor's price also may not trade at (if the aggregation attractor has standing but does not have class priority, or if the aggregation attractor does not have standing) the price of any kernel possessing standing from another profile on the aggregation attractor's side ofthe market, unless the latter is a CQS profile.
Should an aggregation attractor with standing be unable to trade due to a violation of one ofthe above constraints and there is at least one other kernel with standing on the same side at the same price, the matching algorithm selects the next aggregation attractor only from the contra list, and attempts aggregation. If the same situation arises in which a contra aggregation attractor with standing is blocked from trading by a kernel on its side ofthe market, then one-sided aggregation is blocked on both sides, and we proceed to the two sided aggregation stage described in the next section.
The aggregation process continues until no further aggregations are possible. The matching algorithm then proceeds into the negotiation stage, described in detail hereinbelow.
Two-sided aggregation
The puφose of this stage of the matching algorithm is to clear multiple overlapping kernels with standing that block one-sided aggregation. This stage operates in somewhat analogous fashion to a single-price call, but with greater generality, since all kernels with standing (even if they are derived from profiles that do not correspond to standard limit orders) are included in two-sided aggregation.
In two-sided aggregation, supply and demand schedules as a function of price, representing all trading interest with standing, are assembled. The price that matches the most volume is selected, and the coπesponding trades are executed. If there are multiple prices that clear the same maximum volume, the highest price is selected if there exists a buyer suφlus, and the lowest price is selected if there exists a seller suφlus. If there is an exact match of buyer/seller volume over a range of prices, the middle price is selected if there are an odd number of tied prices with no suφlus. If there is an even number of tied prices with no suφlus, then ofthe two middle prices, the one is selected that is closer to the last sale price recorded by the system. This is the national last sale if this occurs at the beginning of a match cycle, or the last committed trade price in the middle of a cycle.
Since only kernels with standing are included in the two-sided aggregation stage, the priority order for trading is as follows: Price; Class; and Time of Entry.
In two-sided aggregation, price has strict priority over class. Thus in this sole instance, a kernel with lower class priority may trade at the price of a kernel with higher class priority without completely filling the latter, if the former kernel is from a profile with more aggressively priced kernels than the latter. The net effect of two-sided aggregation is to clear any overlapping active contra kernels with standing, so that one-sided aggregation can resume.
The Negotiation Stage
The negotiation stage begins by calculating mutual preference profiles between all pairs of buy and sell preference profiles. The non-zero mutual preference coordinates from all mutual preference profiles are then entered into a single list that is rank ordered in descending order of priority as described hereinabove. Prospective matches are assembled sequentially from the top of this list.
For each prospective match, the matching algorithm ensures that none ofthe profile constraints of described above would be violated as a result of making the coπesponding allocation to either party. In the case where the prospective match would:
1. Trade through the price of a coordinate with standing, or
2. Trade at the price of a coordinate with standing, where the latter has class or time priority over the coπesponding side ofthe prospective match (i.e., a buy (sell) coordinate with standing has class or time priority over the buy (sell) coordinate involved in the negotiation pair), the match is blocked, and the algorithm proceeds to the next coordinate on the list.
In the case where a prospective match involves a short seller, the coπesponding price must be:
1. At or above the previous trade price, if the latter price represents a plus or zero-plus tick. 2. At least one price increment above the previous trade price if the latter price represents a minus or zero- minus tick.
When a down tick occurs from one trade to the next, certain short sell coordinates at prices above the new price become newly eligible to trade. In this case, the negotiation coordinate list is re-sorted to incoφorate the changed eligibility and time stamps of these reactivated short sell coordinates, and is then rescanned from the top to continue trading. This revisits negotiation coordinates that previously may have been skipped over because they were blocked or ineligible to trade.
The negotiation stage terminates when no non-zero mutual preference coordinates remain on the list, i.e., there is no remaining overlap of trading desire between any buyer and seller.
Refeπing now to Fig. 15, there is illustrated a schematic flow chart illustrating the overall system and method ofthe subject invention. At step 200. market data is received into the system to facilitate, for example, the determination of pegging reference prices for trades. At step 210, the CMC reads the preference profiles and generates the kernel lists on either side ofthe market. Then, at step 220 the aggregation stage is conducted, which results in the execution of trades and the cancellation of filled buy/sell orders. The negotiation stage is then conducted at step 230, whereupon trades are constructed based upon partial mutual preference, resulting in the cancellation of additional filled buy/sell orders and the execution of additional trades. At step 240 the method terminates.
Refeπing now to Fig. 16, there is illustrated a schematic flow chart ofthe aggregation stage ofthe matching algorithm shown in Fig. 15. Initially, at step 300, the buy kernel lists and sell kernel lists constructed from the profiles on either side of the market are sorted in strict order of price, standing class and time of entry. At step 310. flags are initialized for each kernel so as to designate the profile characteristics associated therewith. Step 320 represents a loop return point for the aggregation algorithm which is revisited until such time as the aggregation stage is completed.
At step 330. the system determines whether any profiles have been cancelled. At such a time, the system looks to a prioritized queue to seek out client initiated profile cancellations. If the inquiry at step 330 is positive, kernels from any cancelled profile on either side ofthe market are removed from the contra side kernel lists at step 340. If the inquiry is negative, the
E 26 system proceeds to step 350, whereupon a determination is made as to whether there is a crossed market condition, i.e., if one-sided aggregation is blocked on both sides ofthe market.
If a crossed market condition exists, the system performs a two-sided aggregation at step 360 to clear multiple overlapping kernels with standing that would block one-sided aggregation. The trades resulting from the two-sided aggregation are executed at step 370, and the system returns to step 320 to begin the cancelled kernel removal subroutine at steps 330 and 340. Returning to step 350, if a crossed market condition does not exist, the system proceeds to step 380. whereupon a determination is made as to whether there are any kernels available for aggregation. If the inquiry is positive, the system constructs valid trades at step 390 until a profile constraint is violated. In conjunction with step 390, valid trades are committed at step 400. and kernels having traded out their volume are marked as inactive at step 410. It should be noted that inactive kernels may still have some remaining volume associated therewith, to the extent that a complete aggregation of contra side volume was not achieved. From step 410. the algorithm return to step 320 to perform the called kernel removal subroutine. The aggregation stage ofthe subject matching algorithm will terminate at step 420 when it is determined that there are no kernels available for aggregation at step 380.
Referring now to Fig. 17, there is illustrated a schematic flow chart depicting the negotiation stage ofthe subject matching algorithm identified at step 230 of Fig. 15. As discussed hereinabove. the negotiation stage follows the aggregation stage as shown at step 500. At step 510, the system constructs a cross list of non-zero mutual preference coordinates by calculating mutual preference between all pairs of buy and sell profiles. Then, at step 520, the list is sorted and ranked in descending order of priority by mutual preference, standing, class, time of entry, size and price. The system then proceeds to step 530 whereupon, for each cross list entry, the following subroutine commences.
At step 540, while the buyer and seller for each entry on the cross list have volume available, the system proceeds to step 550. Thereupon, a decision is made as to whether a trade should be allowed or blocked due to standing constraints. If the inquiry at step 550 is positive, the subroutine proceeds to step 560 whereupon a trade between the buyer and seller is committed. Thereafter, at step 570, the volumes are deceremented and appropriate flags are initialized with respect to the traded coordinates. The system then proceeds to step 580. At step 580 the negotiation stage can terminate, proceed to the next cross list entry at step 590 or return to step 540. Upon proceeding to step 590. the algorithm will return to step 530 to run through the trading subroutine. Returning to the decision at step 550. if the inquiry as to the allowability ofthe trade is negative, the system proceeds directly to step 590 to evaluate the next cross list entry. The negotiation stage terminates when there are no non-zero mutual preference coordinates remaining on the cross list. This indicates that there is an absence of overlap of trading desire between any paired buyer or seller. Exchange Integration
Tape Prints
Prints are disseminated to the host exchange in the sequence they are generated by the matching engine. Trades are aggregated into a single print until a break in seller profile or price occurs, but do not include any ITS commitment trade results (if accepted, these trades are reported by the away market).
Exchange Order Book and Specialist Quote Integration
In an embodiment ofthe subject invention, exchange specialists are provided with an system electronic interface at their posts, which allows them to designate any regular limit or all-or-none limit orders in their book for inclusion in system matching cycles. Any regular limit book orders not designated by the specialist for the system are protected by the specialist at the best price of any resulting system trades.
In addition to representing exchange book orders in the system, specialist's quotes are automatically included in each system match, with designation as book class. From their workstations, specialists also are able to input more complex profiles representing their own proprietary trading desire, but these profiles are designated as principal class.
ITS Integration
If an ITS commitment is generated by the system during the matching cycle, the host exchange forwards the commitment message to ITS through its Regional Computer Interface (RCI). ITS commitments resulting from aggregation trades are priced according to the ITS block rule. If the host exchange's portion of an aggregation trade is for 10.000 shares or more, or if the trade value exceeds $200,000, the ITS commitment is sent at the aggregation price computed by the system. If the host exchange's portion ofthe trade does not exceed either of these limits, then the ITS commitment is sent at the quote price. In any event, the price of an ITS commitment does not impact trade through restrictions in the system, since resulting trades are printed on the away exchange.
The specialist on the away exchange has up to one minute to send a confirmation message for the ITS commitment generated by the system. The fills associated with this commitment are marked as 'pending' by the system until an ITS response is received. The confirmation may specify a lower quantity fill than the original commitment amount or, potentially, a better price. If the confirmation does not match the original commitment terms, the corresponding fill price and size sent to the user is adjusted. The system maintains an ITS preference file that determines the priority with which ITS commitments to trade at a given price are routed to the different away exchanges.
The above-described embodiments are merely illustrative ofthe principles ofthe present invention. Other embodiments ofthe present invention will be apparent to those skilled in the art without departing from the spirit and scope ofthe present invention.

Claims

WHAT IS CLAIMED IS:
1. A crossing network that matches orders, comprising: a matching controller computer receiving as input a plurality of satisfaction density profiles representing buy and sell orders from a plurality of traders, the matching controller computer: pairing each satisfaction density profile representing a buy order with each satisfaction density profile representing a sell order, calculating for each satisfaction density profile pair a mutual satisfaction function, each mutual satisfaction function indicating a degree of mutual satisfaction for trading at a plurality of price/quantity combinations, ranking according to the degree of mutual satisfaction every price/quantity combination of every mutual satisfaction function, and matching, in accordance with the ranking, buy orders with sell orders.
2. The crossing network according to claim 1, wherein the matching controller selects between price/quantity combinations having the same ranking.
3. The crossing network according to claim 1, wherein the matching controller computer matches orders in real time as each order is received at the matching controller computer.
4. The crossing network according to claim 1 , further comprising: a plurality of trader terminals for entering an order for an instrument in the form of a satisfaction density profile that represents a degree of satisfaction to trade the instrument at a plurality of (price, quantity) combinations, each order being either a buy order or a sell order for the instrument, wherein said matching controller computer associates each satisfaction density profile with one ofthe plurality of trader terminals.
5. The crossing network according to claim 4, wherein the matching controller computer accumulates matched price/quantity combinations for each trading terminal.
6. The crossing network according to claim 1 , wherein the satisfaction density profile includes a two-dimensional graph having a price axis and a quantity axis.
7. The crossing network according to claim 4, wherein the satisfaction density profile includes a contour graph entered at one ofthe plurality of trading terminals.
8. The crossing network according to claim 1, wherein the satisfaction density profile includes a temperature graph entered at one ofthe plurality of trading terminals.
9. The crossing network according to claim 1 , wherein each satisfaction density profile includes a satisfaction density value for each price/quantity combination.
10. The crossing network according to claim 1, further comprising means for combining a plurality of satisfaction density profiles.
1 1. The crossing network according to claim 1 , wherein each trader terminal further comprises means for enabling related satisfaction density profiles to be linked.
12. A crossing network that matches buy and sell orders, the crossing network comprising: a matching controller computer adapted to receive as input a plurality of satisfaction density profiles from a plurality of traders, the matching controller computer pairing each satisfaction density profile representing a buy order with each satisfaction density profile representing a sell order, and calculating for each satisfaction density profile pair a mutual satisfaction cross product representing a degree of satisfaction to which the satisfaction density profiles in the satisfaction density profile pair satisfy each other, and ranking each price/quantity combination of each mutual satisfaction cross product in an order, the matching controller computer thereafter matching buy orders and sell orders in accordance with the ranked order.
13. The crossing network according to claim 12, wherein the sell order includes a sell short order.
14. The crossing network according to claim 12, wherein the instrument includes stocks.
15. The crossing network according to claim 12, wherein the instrument includes futures.
16. The crossing network according to claim 12, wherein the instrument includes currencies.
17. The crossing network according to claim 12, wherein the instrument includes bonds.
18. The crossing network according to claim 12, wherein the instrument includes anything that can be bought or sold in a market.
19. The crossing network according to claim 12, wherein the satisfaction density profile includes a two-dimensional graph having a price axis and a quantity axis.
20. A method for matching orders for a plurality of instruments, the method comprising the steps of: receiving an order for an instrument in the form of a satisfaction density profile that represents a degree of satisfaction to trade the instrument at a plurality of price/quantity combinations, each satisfaction density profile representing either a buy order or a sell order for the instrument; pairing each satisfaction density profile representing a buy order with each satisfaction density profile representing a sell order; calculating for each satisfaction density profile pair a mutual satisfaction cross product indicating a degree of mutual satisfaction for trading at a plurality of price/quantity combinations; ranking according to the degree of mutual satisfaction every price/quantity combination of every mutual satisfaction cross product; and matching, in accordance with the ranking, buy orders with sell orders.
21. A method for matching orders for a plurality
Figure imgf000054_0001
theWnd.IftΛf comprising the steps of: receiving a plurality of orders for a plurality of instruments, each order received in the form of a satisfaction density profile that represents a degree of satisfaction to trade the instrument at a plurality of price/quantity combinations, each satisfaction density profile representing either a buy order or a sell order for the instrument; pairing each satisfaction density profile representing a buy order with each satisfaction density profile representing a sell order; calculating for each satisfaction density profile pair a mutual satisfaction function, each mutual satisfaction function including a plurality of price/quantity combinations representing a degree of mutual satisfaction for trading said quantity at said price; ranking according to the degree of mutual satisfaction every price/quantity combination of every mutual satisfaction function; matching, in accordance with the ranking, buy orders with sell orders.
22. A method for trading a plurality of instruments based upon a satisfaction and size profile, the method comprising the steps of: entering an order for an instrument in the form of a satisfaction density profile that represents a degree of satisfaction to trade the instrument at a plurality of price/quantity combinations, each satisfaction density profile representing either a buy order or a sell order for the instrument; transmitting each satisfaction density profile to a host computer that matches orders as represented by satisfaction density profiles such that an outcome ofthe matching process in terms of average price and size of fill is a maximization of mutual satisfaction for all parties; and receiving from the host computer an indication of matched trades.
23. The method according to claim 22, wherein the step of entering comprises entering the satisfaction density profile on a two-dimensional graph having a price axis and a quantity axis.
24. The method according to claim 22, wherein the step of entering comprises entering the satisfaction density profile as a contour graph.
25. The method according to claim 22, wherein the step of entering comprises displaying the satisfaction density profile as a temperature grid.
26. The method according to claim 22, wherein the step of entering further comprises entering a satisfaction density value for each (price, quantity) combination in the satisfaction density profile.
27. The method according to claim 22, wherein the step of entering further comprises the step of combining a plurality of satisfaction density profiles.
28. The method according to claim 22, wherein the step of entering further comprises the step of linking related satisfaction density profiles.
29. A method for matching contra side orders, comprising the steps of: a) receiving, from market participants, a plurality of contra side orders; b) maintaining confidential all received contra side orders, regardless of whether any received contra side orders result in a match; c) maintaining an identity of all market participants secret; and d) disclosing only that portion of each contra side order resulting in a match at the end of a trading day.
30. The method according to claim 29, wherein each order comprises a profile including a plurality of price/size combinations and associated preference values for each price/size combination.
31. The method according to claim 29, wherein each order comprises a price/size combination and an associated discretion for each price/size combination, said discretion establishing a price range within which a trader submitting the order is willing to trade.
32. The method according to claim 31, further comprising the step of creating a preference value for each price increment within the discretionary range specified by the trader.
33. The method according to claim 30, wherein the step of disclosing further comprises disclosing only a price and volume related to a match, but not a preference value associated with said price and volume associated with the match.
34. The method according to claim 30, wherein the step of disclosing further comprises disclosing a price and volume related to a match, and maintaining confidential a preference value associated with the price and volume associated with the match.
35. A method for matching orders for trading instruments, comprising the steps of: a) receiving a plurality of buy and sell orders for trading the instruments from a plurality of trading terminals, each ofthe orders including at least a plurality of price/quantity combinations; b) matching buy orders against sell orders as a function of at least price and volume; d) maintaining confidential all received orders for trading instruments; and e) disclosing only that portion of a buy or sell order resulting in a match at the end of a trading day.
36. The method according to claim 35, wherein each order comprises a profile including a plurality of price/size combinations.
37. The method according to claim 36. wherein each order further comprises a plurality of associated preference values for each price/size combination.
38. The method according to claim 35, wherein the step of disclosing further comprises disclosing only a price and volume related to a match, but not a preference value associated with said price and volume associated with the match.
39. The method according to claim 35, wherein the step of disclosing further comprises disclosing a price and volume related to a match, and maintaining confidential a preference value associated with the price and volume associated with the match.
40. A method for matching contra side orders, comprising the steps of: a) receiving a plurality of contra side orders for trading the instruments in a central matching engine; b) matching contra side orders by maximization of mutual satisfaction of all orders; and c) resolving ties in the matching process by placing priority on orders having standing at a particular price over orders without standing at said particular price.
41. The method according to claim 40, wherein an order having standing includes a held order at a limit price or better, such that any portion ofthe order may be filled at the limit price or better.
42. The method according to claim 40, further comprising the step of placing a lowest priority on an order from a national consolidated quote system.
43. The method according to claim 40, further comprising the step of preventing trades through an order from the national consolidated quote system.
44. The method according to claim 40, wherein each order comprises a two dimensional preference profile including a plurality of price/size coordinates with a coπesponding preference value, and an order with standing is defined by having a coordinate:
1 ) with a highest possible preference value; and
2) that lies in a row of contiguous coordinates of highest possible preference values at a same price, extending down to a minimum size increment, all of which are eligible to be matched.
45. The method according to claim 44, wherein said order with standing includes a user specified ITS participation level of 100 percent.
46. The method according to claim44, where an order without standing incoφorates an explicit size boundary within said profile.
47. The method according to claim 44, wherein for orders with less than 100% ITS participation, coordinates that otherwise would have standing may be traded through if the order failed to make a prospective trade at an earlier point in a given cycle as a result of its ITS restriction.
48. The method according to claim 44, further comprising the step of prioritizing orders among matches with equal mutual preference, matches involving pairs of standing, nonstanding and CQS coordinates in descending order as follows: standing/standing, standing/nonstanding, nonstanding/nonstanding, standing/CQS, and nonstanding/CQS.
49. The method according to claim 44, further comprising the step of preventing CQS/CQS matches.
50. The method according to claim 44, wherein for profiles with no ITS eligibility restrictions, preventing a match that would cause a trade through of any coordinate with standing.
51. The method according to claim 44, further comprising the step of preventing a match at a price of a coordinate with standing, if said coordinate has standing or class priority.
52. The method according to claim 51, further comprising the step of enabling, upon invocation of a two-sided aggregation algorithm, price priority to oveπule class priority.
53. The method according to claim 44, further comprising the step of permitting more aggressively priced profiles with standing to trade at a price of less aggressively priced profiles that have class or time priority.
54. The method according to claim 51, further comprising the step of enabling matches between any non-CQS orders regardless of the standing status thereof at the price of a CQS profile.
55. The method according to claim 51, further comprising the step of providing absolute protection of unrestricted coordinates with standing, both with respect to trade through prevention and with respect to trade-at precedence.
56. A method for matching buy orders with sell orders, comprising the steps of: a) receiving a plurality of buy and sell orders, each order being in the form of a profile having a plurality of price/size coordinates, and each profile having an associated preference value for each coordinate; b) aggregating on each side of a market all coordinates with a highest preference value at a constant price; c) prioritizing each ofthe aggregated coordinates based on a predetermined set of priorities; and d) allocating the prioritized and aggregated coordinates for trading in order ofthe prioritization.
57. The method according to claim 56, wherein the predetermined set of priorities includes in descending order: price, standing, class, time of entry, and size.
58. The method according to claim 57, wherein coordinates with more aggressive prices have priority over coordinates with less aggressive prices.
59. The method according to claim 57, wherein coordinates that have standing at a particular price have priority over coordinates that do not have standing at that same price.
60. The method according to claim 57, wherein CQS profile coordinates have a lowest priority for trading at a given price, but cannot be traded through.
61. The method according to claim 57, wherein among coordinates having a same price and standing, priority is assigned in descending order of book, agency, principal and CQS profiles, respectively.
62. The method according to claim 57, wherein among coordinates that have equal price, standing and class status, the time of entry ofthe associated profile determines relative priority, with earlier time of entry having higher priority.
63. The method according to claim 62, wherein each profile has a unique time of entry assigned upon its receipt by the system, so there are no ties among profiles in this category.
64. The method according to claim 57, wherein among coordinates of a given price within the same profile, priority for matching is determined by size, with larger sizes having higher priority.
65. The method according to claim 56, further comprising the step of proceeding to a negotiation stage, in which matches are based on discretion accorded to the system by associated preference values for each coordinate and in a predetermined priority.
66. The method according to claim 65, wherein the predetermined negotiation priority includes in descending order: mutual preference, standing, class, time of entry and size.
67. The method according to claim 66, wherein matches with higher mutual preference take precedence over those with lower mutual preference.
68. The method according to claim 66. wherein among matches with equal mutual preference, matches involving pairs of standing, nonstanding and CQS coordinates are prioritized in descending order as follows: standing/standing, standing/nonstanding, nonstanding/nonstanding. standing/CQS, nonstanding/CQS.
69. The method according to claim 68, further comprising the step of preventing CQS matches, when away markets are locked or crossed.
70. The method according to claim 66, wherein among matches with equal mutual preference and standing status, matches involving pairs of book, agency, principal or CQS profiles are prioritized in descending order as follows: book/book, book/agency, agency/agency, book/principal, agency/principal, principal/principal, book/CQS, agency/CQS, principal/CQS.
71. The method according to claim 70, further comprising the steps of preventing CQS/CQS matches.
72. The method according to claim 66, wherein among matches with equal mutual preference, standing and class status, the time of entry ofthe earlier-entered profile of a given pair determines relative priority, with any subsequent ties resolved in favor ofthe earlier- entered contra profile ofthe pair.
73. The method according to claim 66, wherein among matches having equal mutual preference, standing, class and time of entry, priority is given to matches with larger sizes.
74. The method according to claim 66, wherein among matches between the same profile pair where all ofthe above are tied at more than one price, the best price is given to the earlier-entered profile ofthe pair.
75. A method for trading instruments, comprising the steps of: a) receiving a plurality of orders from a plurality of traders, each order being designated as one ofthe following classes, book, agency, principal or CQS; and b) resolving ties in a matching process based on maximization of mutual preference based on a class designation.
16. The method according to claim 75. further comprising the step of converting each limit order and specialist quote residing in a central computer in the exchange at the time of a match is converted to a limit order with book class.
77. The method according to claim 75, further comprising the step of designating by the trader whether an order is an agency class or principal class.
78. The method according to claim 75. wherein a book order has priority over all other classes.
79. The method according to claim 75. wherein an agency order has priority over all classes, except for book orders.
80. The method according to claim 75. wherein a principal order has priority over a CQS order.
81. The method according to claim 75, wherein a CQS order has a lowest priority.
82. The method according to claim 75, further comprising the step of canceling a CQS order automatically at an end of a trading cycle in which the CQS order participates.
83. The method according to claim 75. further comprising the step of automatically creating CQS profiles at the beginning of each trading cycle based on quotes from other markets.
84. The method according to claim 75, wherein a book class includes all orders received via the exchange computer.
85. The method according to claim 84, wherein a book class includes specialist quotes.
86. The method according to claim 75, wherein an agency class includes orders submitted via a graphical user interface designated for use by a trader and marked as an agency order, or orders submitted via an electronic interface having AIC codes mapping to an agency designation.
87. The method according to claim 75, wherein an agency class includes orders submitted by exchange specialists, or via graphical user interface designated for use by a trader and marked as a principal order, or via an electronic interface having AIC codes mapping to a principal designation.
88. The method according to claim 75, further comprising the step of assigning a time stamp to each order submitted to the matching engine.
89. The method according to claim 88, further comprising the step of assigning an exchange assigned date and time to book orders submitted to the matching engine from the exchange.
90. The method according to claim 88, further comprising the step of assigning a date and time stamp to agency and principal orders at a time of submittal to the matching engine.
91. The method according to claim 88, wherein all time stamps in the system are unique.
92. The method according to claim 88, wherein any change to an agency or principal order, other than a reduction ofthe maximum quantity or a change in ITS participation, results in the assignment by the system of a new, current date and time stamp to the order.
93. The method according to claim 88, wherein CQS orders are assigned a date and time stamp coπesponding to an actual time the quote was disseminated over the CQS.
94. A method for trading instruments, comprising the steps of: a) receiving a plurality of orders from a plurality of traders, each order being designated by the trader as either an agency or principal order; b) converting each limit order and specialist quote residing in a central computer in an exchange at the time of a match to a limit order with book class; and c) automatically creating CQS orders at the beginning of each trading cycle based on quotes from other markets.
95. The method according to claim 94, further comprising the step of: d) resolving ties in a matching process based on maximization of mutual preference using a class ofthe order as a basis of assigning priority.
96. The method according to claim 95, wherein a book order has priority over all other classes.
97. The method according to claim 95, wherein an agency order has priority over all classes, except for book orders.
98. The method according to claim 95, wherein a principal order has priority over a CQS order.
99. The method according to claim 95, wherein a CQS order has a lowest priority.
100. The method according to claim 95. further comprising the step of canceling a CQS order automatically at an end of a trading cycle in which the CQS order participates.
101. The method according to claim 94, further comprising the step of assigning a time stamp to each order submitted to the matching engine.
102. The method according to claim 101, further comprising the step of assigning an exchange assigned date and time to book orders submitted to the matching engine from the exchange.
103. The method according to claim 101, further comprising the step of assigning a date and time stamp to agency and principal orders at a time of submittal to the matching engine.
104. The method according to claim 101 , wherein all time stamps in the system are unique.
105. The method according to claim 101, wherein any change to an agency or principal order, other than a reduction ofthe maximum quantity or a change in ITS participation, results in the assignment by the system of a new, cuπent date and time stamp to the order.
106. The method according to claim 101, wherein CQS orders are assigned a date and time stamp corresponding to an actual time the quote was disseminated over the CQS.
107. A method for matching buy orders against sell orders, comprising the steps of: a) receiving a plurality of buy and sell orders, each order being in the form of a preference profile including a plurality of price and volume coordinates, each ofthe coordinates having a preference value associated therewith; b) generating a set of buy kernels from the plurality of buy preference profiles and a set of sell kernels from the plurality of sell preference profiles, each of the kernels including a plurality of contiguous coordinates at a common price expressing a maximum preference value over a particular volume range; c) aggregating volume from plural kernels on one side ofthe market to satisfy the volume requirements of a contra side kernel;
d) determining whether multiple kernels with standing on each side ofthe market overlap in price; and e) clearing multiple overlapping kernels with standing on both sides ofthe market.
108. The method according to claim 107, wherein the step of clearing multiple overlapping kernels further comprises the steps of:
(i) generating supply and demand schedules as a function of price, representing all trading interest with standing;
(ii) selecting a price that matches a maximum volume; and
(iii) executing trades represented by the price that matches a maximum volume;
109. The method according to claim 108, wherein the step of selecting a price further comprises the step of selecting a highest price if there are multiple prices that clear the same maximum volume, and if there exists a buyer suφlus, otherwise selecting the lowest price if there exists a seller suφlus.
110. The method according to claim 108, wherein the step of selecting a price further comprises the steps of:
(1) selecting a middle price, if there is an odd number of tied prices with no suφlus, if there is an exact match of buyer/seller volume over a range of prices, and
(2) selecting, if there is an even number of tied prices with no suφlus, one ofthe two middle prices.
1 11. The method according to claim 1 10, wherein the one selected middle price is a middle price closer to a last recorded sale price.
1 12. The method according to claim 1 1 1, wherein the last recorded sale price is a national last sale if the selection occurs at a beginning of a match cycle, or a last committed trade price if the selection occurs in a middle of a cycle.
113. The method according to claim 107, wherein priority for matching orders is based upon in descending order: price, class, and time of entry.
114. The method according to claim 107, further comprising a negotiation stage including the steps of: a) calculating mutual preference profiles between all pairs of buy and sell preference profiles; b) entering all non-zero mutual preference coordinates from all mutual preference profiles into a single list that is rank ordered in descending order of priority; c) assembling prospective matches sequentially from the top of said single list; d) ensuring for each prospective match that none of a predetermined set of constraints would be violated as a result of making the match .
115. The method according to claim 1 14, wherein the predetermined set of constraints include:
(1) trading through the price of a coordinate with standing,
(2) trading at the price of a coordinate with standing, where the latter has class or time priority over the corresponding side ofthe prospective match,
1 16. The method according to claim 114, wherein the step of ensuring further comprises blocking the match, and proceeding to a next coordinate on the list.
1 17. The method according to claim 1 14, wherein the set of predetermined constraints include in a case where a prospective match involves a short seller, the corresponding price must be:
(1) at or above the previous trade price, if the latter price represents a plus or zero-plus tick; and
(2) at least one price increment above the previous trade price if the latter price represents a minus or zero-minus tick.
1 18. The method according to claim 1 14, wherein upon a down tick from one trade to the next, if certain short sell coordinates at prices above the new price become newly eligible to trade, re-sorting the negotiation coordinate list to incoφorate the changed eligibility and time stamps of these reactivated short sell coordinates, and rescanning the list from the top to continue trading thereby revisiting negotiation coordinates that previously may have been skipped over because they were blocked or ineligible to trade.
119. The method according to claim 1 14, further comprising the step of terminating the negotiation stage when no non-zero mutual preference coordinates remain on the list.
120. A method for matching buy orders with sell orders for instruments comprising the steps of: a) receiving a plurality of buy orders and sell orders, each ofthe plurality of orders including a plurality of price and volume coordinates, and an associated preference value for each price and volume coordinate; b) generating, for each order, a kernel at every price increment lying in a range of price overlap with contra-side orders; c) constructing a single buy kernel list and a single sell kernel list from the kernels of all orders, via a sequence of nested sorts of each list in strict order of price, standing, class and time of entry priority; d) selecting a kernel at a top of either a buy or sell kernel list as an initial aggregation attractor kernel; and e) aggregating volume from kernels on a contra list, in strict order of priority on said contra list to match the aggregation attractor's size and price.
121. The method according to claim 120, further comprising the steps of: f) cycling through the contra list in priority order to allocate contra parties to the aggregation attractor, wherein kernels without standing in the contra list are skipped over if their minimum and maximum size limits are incompatible with size limits ofthe aggregation attractor kernel; and g) setting a potential trade price initially to the aggregation attractor's most aggressive price.
122. The method according to claim 1 18, further comprising the steps of: h) examining the aggregate contra list to determine whether sufficient contra volume exists to satisfy at least a minimum volume demanded by the aggregation attractor kernel, wherein the aggregation process always seeks a maximum volume available for the attractor kernel, and is repeated for that kernel if the profile maximum volume is larger than the aggregator kernel maximum volume, so long as none ofthe other profile constraints is violated; i) skipping, if at least a minimum required volume can be aggregated to the attractor kernel, but a resulting set of trades would trade through kernels with standing on the contra list, the attractor kernel and selecting a next-highest priority kernel from either a buy or sell list; j) skipping, if a resulting set of trades fills kernels with lower class priority without completely filling all kernels with higher class priority and standing at that price, the attractor kernel; and k) continuing the above steps until a potential price is determined at which the aggregation attractor can attract adequate volume from the contra list without trading through any contra kernels with standing, or trading at a price of higher class priority contra kernels with standing.
123. The method according to claim 122, further comprising the steps of:
1) determining if the potential price trades through a price of any kernel with standing on the attractor's side and disallowing the potential price if the determining is true; m) restricting a choice of a next aggregation kernel to the contra list if an unsuccessful aggregation attractor kernel has standing.
124. The method according to claim 123, further comprising the steps of: n) trading, in subsequent trades of a given cycle, through an aggregation attractor kernel with standing, if the aggregation attractor kernel with standing cannot make an otherwise permissible trade due to its ITS participation being restricted, to prevent the aggregation attractor kernel with standing from blocking other trades: o) attempting to improve the final price by one price increment for the aggregation attractor. if the aggregation price determined above is permissible, and recalculating an available trade volume; p) repeating said step o) until an improved price results in a decrease in an available volume to trade; and q) halting price improvement for the aggregation attractor if a resulting price would trade through a price of any coordinate with standing on its side ofthe market or if a resulting price would trade through any coordinate that is willing to do the identical trade, regardless of whether the latter coordinate has standing or not.
125. The method according to claim 124, further comprising the steps of: r) preventing any attractor's price from trading at the price of any kernel possessing standing from another profile on the aggregation attractor's side of the market, unless the latter is a CQS profile, if the aggregation attractor has standing but does not have class priority, or if the aggregation attractor does not have standing; s) selecting a next aggregation attractor only from the contra list and attempting aggregation if an aggregation attractor with standing is unable to trade due to a violation of one of a predetermined set of constraints, and there is at least one other kernel with standing on the same side at the price; t) proceeding to a two-sided aggregation stage if aggregation is blocked from both sides ofthe market: u) repeating the aggregation stage until no further aggregations are possible.
126. The method according to claim 120. further comprising the step of grouping adjacent coordinates within each profile at each price into a kernel, wherein a kernel represents a single-price row of contiguous coordinates in the profile having unit preference values.
127. The method according to claim 120, further comprising the step of associating with each kernel a minimum and maximum number of shares spanned by the row of unity coordinates.
128. A method for matching orders, comprising the steps of: a) receiving a plurality of orders, wherein each order has a source and characteristics associated therewith; b) maintaining the source ofthe plurality of orders anonymous; c) maintaining the characteristics ofthe plurality of orders confidential; and d) matching at least some ofthe orders based on a mutual satisfaction function.
129. The method of Claim 128, wherein the source of an order is selected from a group consisting of a trader, a specialist, a market maker, a firm, and combinations thereof.
130. The method of Claim 128, wherein the orders indicate an interest to buy or sell a security, and wherein the characteristics of an order is selected from a group consisting of a name of a security, a price ofthe security, a quantity of shares ofthe security, a preference value for trading the security at a certain price and quantity, conditions relating to the way in which a buy/sell order for a particular security should be filled or satisfied, and combinations thereof.
131. The method of Claim 128, wherein step (b) comprises the step of maintaining the source of each ofthe plurality of orders confidential.
132. The method of Claim 128, wherein step (c) comprises the step of maintaining the characteristic of each ofthe plurality of orders confidential.
133. The method of Claim 128, wherein the orders comprise orders to buy and sell at least one security.
134. The method of Claim 133, wherein at least one ofthe orders is represented as a profile, wherein the profile indicates a plurality of price/size combinations to buy or sell the security, and wherein each price/size combination has a preference value associated therewith.
135. The method of Claim 134, wherein step (d) comprises the step of determining a plurality of cross products by multiplying the preference value associated with each price/size combination of a buy profile with the preference value associated with the price/size combination of a sell profile.
136. The method of Claim 135, wherein step (d) further comprises the step of ranking each ofthe cross products in ascending order.
137. The method of Claim 136, wherein step (e) comprises matching the buy and sell profiles based on the ranked cross products.
138. A method for trading instruments matched by a matching engine in an external host computer, said method comprising the steps of: a) receiving a trading message at an exchange from the external host computer indicating a trade to be executed in a particular instrument between at least a buyer and a seller ofthe particular instrument, which trade to be executed represents a result of a match of the buyer and the seller by the matching engine from among a plurality of trading orders entered in the form of a satisfaction density profile, which represents a degree of satisfaction to trade an instrument at a plurality of (price, quantity) combinations; b) executing the trade in the particular instrument between the buyer and the seller in the exchange, said trade resulting from an optimization ofthe mutual satisfaction of all buyers and sellers by the matching engine from among the plurality of trading orders entered by the plurality of traders; and c) sending a confirmation message from the exchange to the external host computer indicating that the trade in the particular instrument between the buyer and the seller was executed.
139. A method for trading instruments matched by a matching engine in an external host computer, said method comprising the steps of: a) receiving a trading message at an exchange indicating a trade to be executed in a particular instrument between at least one buyer and at least one seller ofthe particular instrument, which trade to be executed results from an optimization ofthe mutual satisfaction of all buyers and sellers based on satisfaction density profiles by the matching engine; b) executing the trade in the particular instrument between the buyer and the seller in the exchange; and c) sending a confirmation message indicating that the trade in the particular instrument between the buyer and seller was executed.
140. A method for exchanging instruments comprising the steps of: a) receiving an electronic trading message indicating a trade to be executed in a particular instrument between at least one buyer and at least one seller ofthe particular instrument, which trade to be executed results from an optimization ofthe mutual satisfaction of all buyers and sellers based on satisfaction density profiles by the matching engine; b) executing the trade in the particular instrument between the buyer and the seller in an exchange; and c) sending an electronic confirmation message indicating that the trade in the particular instrument between the buyer and seller was executed.
141 A method for exchanging instruments comprising the steps of: a) receiving an electronic trading message indicating a trade to be executed in a particular instrument between at least one buyer and at least one seller ofthe particular instrument, which trade to be executed results from an optimization of the mutual satisfaction of all buyers and sellers based on satisfaction density profiles by the matching engine; and b) executing the trade in the particular instrument between the buyer and the seller in an exchange.
142. The method according to claim 141, further comprising the step of transmitting electronically a settlement message to a clearinghouse for settlement between the buyer and the seller after execution ofthe trade, which settlement message includes at least an identification ofthe buyer, seller, instrument, volume and price involved in the trade.
143. The method according to claim 141, further comprising the step of transmitting a confirmation message to the buyer and the seller after execution ofthe trade confirming execution ofthe trade.
144. The method according to claim 141 , further comprising the step of transmitting a message to a market data reporting service indicating a result ofthe trade.
145. A computer-implemented trading system in which a crossing network matches orders for instruments where each order is represented by a satisfaction density profile, the computer- implemented trading system comprising: a) means for receiving a trading message indicating a trade to be executed between a buyer and a seller, which trade to be executed results from a match by the crossing network, said receiving means being couplable to the crossing network; b) means for executing the trade in the instrument received in the trading message between the buyer and seller identified in the trading message; and c) means for transmitting a confirmation message confirming that the trade identified in the trading message was executed.
146. An exchange for trading a plurality of instruments, in which an external computer matches orders for the plurality of instruments, and in which each order is represented by a satisfaction density profile, the exchange comprising a computer being programmed to: a) receive a plurality of trading messages from the external computer, each ofthe plurality of trading messages indicating a trade to be executed between a buyer and a seller; and b) execute each ofthe plurality of trades represented by the plurality of trading messages in the instruments identified in the plurality of trading messages and between the buyers and sellers identified in the plurality of trading messages.
147. The exchange according to claim 146, wherein said computer is further programmed to transmit a confirmation message confirming that each ofthe plurality of trades represented by the plurality of trading messages was executed.
148. The exchange according to claim 146, wherein the instrument includes stocks.
149. The exchange according to claim 146, wherein the instrument includes futures.
150. The exchange according to claim 146, wherein the instrument includes cuπencies.
151. The exchange according to claim 146, wherein the instrument includes bonds.
152. The exchange according to claim 146, wherein the instrument includes options.
153. The exchange according to claim 146, wherein the instrument includes commodities.
154. The exchange according to claim 146. wherein the instrument includes derivatives.
155. The exchange according to claim 146. wherein the instrument includes insurance contracts.
156. The exchange according to claim 146. wherein the instrument includes airline tickets.
157. The exchange according to claim 146, wherein the instrument includes contracts for goods.
158. The exchange according to claim 146. wherein the instrument includes computer chips.
159. The exchange according to claim 146, wherein the instrument includes concert tickets.
160. The exchange according to claim 146, wherein the trading messages are received at regular time intervals.
161. A crossing network adapted to match orders, comprising: a matching controller computer programmed to: (i) receive orders that include a satisfaction density profile representing a degree of satisfaction to trade at a plurality of (price, quantity) combinations, (ii) pair satisfaction density profiles for buy orders with satisfaction density profiles for sell orders; (iii) calculate for each paired satisfaction density profile a mutual satisfaction function representing a degree of mutual satisfaction: and (iv) rank the mutual satisfaction functions.
162. A crossing network according to claim 161, further comprising at least one trader terminal to which said matching controller computer is coupled.
163. A crossing network according to claim 162, further comprising a communications network through which said at least one trader terminal is coupled to said matching controller computer.
164. A crossing network according to claim 162, wherein at least a portion of said orders are transmitted to said matching controller computer from said at least one trader terminal.
165. A crossing network according to claim 161, wherein said matching controller computer is further programmed to match, in accordance with said ranking, buy and sell orders.
166. A crossing network according to claim 100, wherein said matching controller computer is further programmed to select from among equally ranked mutual satisfaction functions.
167. A method for matching buy orders with sell orders comprising the steps of: a) receiving a plurality of buy and sell orders each in the form of a two- dimensional preference profile, each preference profile including a plurality of price/quantity coordinates, each coordinate having a preference value associated therewith; b) generating a set of buy kernels from a plurality of buy preference profiles and a set of sell kernels from a plurality of sell preference profiles, each kernel including a plurality of contiguous coordinates having a maximum preference value at a particular price over a volume range; c) selecting a kernel from a set of kernels; d) aggregating multiple contra side kernels to fill the volume of said selected kernel at a trading price; and e) incrementally improving the trading price of said selected kernel.
168. A method according to Claim 167, further comprising selecting a kernel with the most aggressive trading price.
169. A method according to Claim 168, further comprising incrementally improving the trading price for said selected kernel until a decrease in available volume to trade is detected.
170. A method for trading instruments comprising the steps of: a) receiving a plurality of contra side orders for trading an instrument; b) initializing portions of each order; c) selecting an initialized portion of one order to attempt a trade therefor at a trading price within a volume range; d) aggregating multiple contra side initialized portions to fill the volume of said selected initialized portion at the trading price; and e) attempting to improve the trading price of said selected initialized portion.
171. A method for matching orders, comprising:
(a) creating plurality of buy and sell kernels based on buy and sell orders for a security, wherein each kernel has a price ofthe security at which a trader willing is willing to buy/sell the security, a minimum and maximum volume ofthe security that the trader is willing to buy/sell, and priority characteristics associated therewith;
(b) sorting the buy and sell kernel based on the priority characteristics;
(c) selecting a buy/sell kernel from the sorted buy and sell kernels; and
(d) aggregating sell/buy kernels against the selected buy/sell kernel at the price associated with the kernel.
172. The method of Claim 171 , further comprising the steps of:
(e) altering the price of the selected kernel;
(f) aggregating sell/buy kernels against the selected buy /sell kernel at the altered price; and
(g) executing a trade ofthe security associated with the kernel at the altered price.
PCT/US1999/025369 1998-10-30 1999-10-29 Crossing network and method WO2000026834A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU14558/00A AU1455800A (en) 1998-10-30 1999-10-29 Crossing network and method
EP99971554A EP1131764A2 (en) 1998-10-30 1999-10-29 Crossing network and method
GBGB0428305.7A GB0428305D0 (en) 1998-10-30 2004-12-24 Crossing network and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10626898P 1998-10-30 1998-10-30
US60/106,268 1998-10-30

Publications (2)

Publication Number Publication Date
WO2000026834A2 true WO2000026834A2 (en) 2000-05-11
WO2000026834A3 WO2000026834A3 (en) 2000-09-08

Family

ID=22310477

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/025369 WO2000026834A2 (en) 1998-10-30 1999-10-29 Crossing network and method

Country Status (6)

Country Link
EP (1) EP1131764A2 (en)
AU (1) AU1455800A (en)
GB (1) GB0428305D0 (en)
PE (1) PE20001219A1 (en)
TW (1) TW495691B (en)
WO (1) WO2000026834A2 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2352849A (en) * 1999-03-15 2001-02-07 Gary Renner Virtual marketplace
GB2366637A (en) * 2000-01-27 2002-03-13 Chabris Gloriana Marks De Computer based order matching system
GB2406923A (en) * 2003-10-09 2005-04-13 Duvacy Ltd Computer implemented trading system
US6882985B1 (en) 1999-04-08 2005-04-19 Alan F. Kay Marketplace system fees enhancing market share and participation
US7644031B2 (en) 2005-08-04 2010-01-05 Bgc Partners, Inc. System and method for replenishing quantities of trading orders
US7711627B2 (en) * 2002-01-07 2010-05-04 Bgc Partners, Inc. Methods and systems for providing crossing markets
US7720744B2 (en) 2000-12-07 2010-05-18 Bgc Partners, Inc. Systems and methods for shifting bids and offers in a trading interface
US7835987B2 (en) 2004-01-29 2010-11-16 Bgc Partners, Inc. System and method for routing a trading order according to price
US8311931B2 (en) 2008-04-21 2012-11-13 Bgc Partners, Inc. System and method for managing trading orders with decaying reserves
US8335734B1 (en) 2009-07-20 2012-12-18 The Vanguard Group, Inc. Method of administering an investment company having a class of crossing shares
US8346642B2 (en) 2008-04-21 2013-01-01 Bgc Partners, Inc. Trading orders with decaying reserves
US8494951B2 (en) 2005-08-05 2013-07-23 Bgc Partners, Inc. Matching of trading orders based on priority
US8738498B2 (en) 2004-01-29 2014-05-27 Bgc Partners, Inc. System and method for routing a trading order
US10304097B2 (en) 2004-01-29 2019-05-28 Bgc Partners, Inc. System and method for controlling the disclosure of a trading order
US10395310B2 (en) 2005-08-04 2019-08-27 Bgc Partners, Inc. System and method for apportioning trading orders based on size of displayed quantities
US10817938B2 (en) 2005-06-07 2020-10-27 Bgc Partners, Inc. Systems and methods for routing trading orders
US11010834B2 (en) 2006-04-04 2021-05-18 Bgc Partners, Inc. System and method for optimizing execution of trading orders
US11017410B2 (en) 2006-12-30 2021-05-25 Cfph, Llc Methods and systems for managing and trading using a shared order book as internal exchange
US11157999B2 (en) 2002-06-05 2021-10-26 Nasdaq, Inc. Distributed data processing
US20210383474A1 (en) * 2019-03-07 2021-12-09 Fujitsu Limited Computer-readable recording medium storing trading program, trading method and trading device
US11288745B2 (en) 2008-04-21 2022-03-29 Bgc Partners, Inc. Trading orders with decaying reserves
US11295383B2 (en) 2012-04-16 2022-04-05 Nasdaq Technology Ab Methods, apparatus, and systems for processing data transactions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0512702A2 (en) * 1991-05-03 1992-11-11 Reuters Limited Automated currency trade matching system with integral credit checking
US5283731A (en) * 1992-01-19 1994-02-01 Ec Corporation Computer-based classified ad system and method
GB2275796A (en) * 1993-03-01 1994-09-07 Fujitsu Ltd A dealing system.
WO1996005563A1 (en) * 1994-08-17 1996-02-22 Reuters Transaction Services Limited Negotiated matching system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0512702A2 (en) * 1991-05-03 1992-11-11 Reuters Limited Automated currency trade matching system with integral credit checking
US5283731A (en) * 1992-01-19 1994-02-01 Ec Corporation Computer-based classified ad system and method
GB2275796A (en) * 1993-03-01 1994-09-07 Fujitsu Ltd A dealing system.
WO1996005563A1 (en) * 1994-08-17 1996-02-22 Reuters Transaction Services Limited Negotiated matching system

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2352849A (en) * 1999-03-15 2001-02-07 Gary Renner Virtual marketplace
US6882985B1 (en) 1999-04-08 2005-04-19 Alan F. Kay Marketplace system fees enhancing market share and participation
US8108294B2 (en) 2000-01-27 2012-01-31 Intellectual Ventures Fund 67 Llc Order matching system
GB2366637A (en) * 2000-01-27 2002-03-13 Chabris Gloriana Marks De Computer based order matching system
US7110975B2 (en) 2000-01-27 2006-09-19 Marks De Chabris Gloriana Order matching system
US7720744B2 (en) 2000-12-07 2010-05-18 Bgc Partners, Inc. Systems and methods for shifting bids and offers in a trading interface
US7711627B2 (en) * 2002-01-07 2010-05-04 Bgc Partners, Inc. Methods and systems for providing crossing markets
US11157999B2 (en) 2002-06-05 2021-10-26 Nasdaq, Inc. Distributed data processing
GB2406923A (en) * 2003-10-09 2005-04-13 Duvacy Ltd Computer implemented trading system
US10304097B2 (en) 2004-01-29 2019-05-28 Bgc Partners, Inc. System and method for controlling the disclosure of a trading order
US8738498B2 (en) 2004-01-29 2014-05-27 Bgc Partners, Inc. System and method for routing a trading order
US11244365B2 (en) 2004-01-29 2022-02-08 Bgc Partners, Inc. System and method for controlling the disclosure of a trading order
US7835987B2 (en) 2004-01-29 2010-11-16 Bgc Partners, Inc. System and method for routing a trading order according to price
US11625777B2 (en) 2005-06-07 2023-04-11 Bgc Partners, Inc. System and method for routing a trading order based upon quantity
US10817938B2 (en) 2005-06-07 2020-10-27 Bgc Partners, Inc. Systems and methods for routing trading orders
US10395310B2 (en) 2005-08-04 2019-08-27 Bgc Partners, Inc. System and method for apportioning trading orders based on size of displayed quantities
US11094004B2 (en) 2005-08-04 2021-08-17 Espeed, Inc. System and method for apportioning trading orders based on size of displayed quantities
US8706605B2 (en) 2005-08-04 2014-04-22 Bgc Partners, Inc. System and method for replenishing quantities of trading orders
US7644031B2 (en) 2005-08-04 2010-01-05 Bgc Partners, Inc. System and method for replenishing quantities of trading orders
US10424015B2 (en) 2005-08-05 2019-09-24 Bgc Partners, Inc. Managing trading orders based on priority
US11030693B2 (en) 2005-08-05 2021-06-08 Bgc Partners, Inc. System and method for matching trading orders based on priority
US8494951B2 (en) 2005-08-05 2013-07-23 Bgc Partners, Inc. Matching of trading orders based on priority
US11010834B2 (en) 2006-04-04 2021-05-18 Bgc Partners, Inc. System and method for optimizing execution of trading orders
US11017410B2 (en) 2006-12-30 2021-05-25 Cfph, Llc Methods and systems for managing and trading using a shared order book as internal exchange
US8732053B2 (en) 2008-04-21 2014-05-20 Bgc Partners, Inc. Trading orders with decaying reserves
US10713724B2 (en) 2008-04-21 2020-07-14 Bgc Partners, Inc. Trading orders with decaying reserves
US10453132B2 (en) 2008-04-21 2019-10-22 Bgc Partners, Inc. Trading orders with decaying reserves
US8311931B2 (en) 2008-04-21 2012-11-13 Bgc Partners, Inc. System and method for managing trading orders with decaying reserves
US8543491B2 (en) 2008-04-21 2013-09-24 Bgc Partners, Inc. System and method for managing trading orders with decaying reserves
US8346642B2 (en) 2008-04-21 2013-01-01 Bgc Partners, Inc. Trading orders with decaying reserves
US11288745B2 (en) 2008-04-21 2022-03-29 Bgc Partners, Inc. Trading orders with decaying reserves
US8335734B1 (en) 2009-07-20 2012-12-18 The Vanguard Group, Inc. Method of administering an investment company having a class of crossing shares
US11295383B2 (en) 2012-04-16 2022-04-05 Nasdaq Technology Ab Methods, apparatus, and systems for processing data transactions
US11908013B2 (en) 2012-04-16 2024-02-20 Nasdaq Technology Ab Methods, apparatus, and systems for processing data transactions
US20210383474A1 (en) * 2019-03-07 2021-12-09 Fujitsu Limited Computer-readable recording medium storing trading program, trading method and trading device
US11748809B2 (en) * 2019-03-07 2023-09-05 Fujitsu Limited Computer-readable recording medium storing trading program, trading method and trading device

Also Published As

Publication number Publication date
EP1131764A2 (en) 2001-09-12
AU1455800A (en) 2000-05-22
TW495691B (en) 2002-07-21
PE20001219A1 (en) 2000-11-06
WO2000026834A3 (en) 2000-09-08
GB0428305D0 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
US5689652A (en) Crossing network utilizing optimal mutual satisfaction density profile
US6012046A (en) Crossing network utilizing satisfaction density profile with price discovery features
AU714321B2 (en) Crossing network utilizing satisfaction density profile
WO2000026834A2 (en) Crossing network and method
US7047218B1 (en) Method and apparatus for trading securities or other instruments on behalf of customers
US7162447B1 (en) Method and system for obtaining a discovered price
US8566211B2 (en) System and method for a dynamic auction with package bidding
US7406443B1 (en) Method and system for multi-dimensional trading
US7844538B2 (en) Method and apparatus for trading securities or other instruments
US7660762B1 (en) Method and system for efficiently matching long and short positions in securities trading and transacting a series of overnight trades for balance sheet netting
JP2001516929A (en) Order processing apparatus and method
US11842402B2 (en) Fee/rebate contingent order matching system and method
AU692967B2 (en) Methods and apparatus relating to the formulation and trading of risk management contracts
EP1118953A2 (en) Three stage matching system for crossing network
Clemons et al. The Optimark Experience: What Welearned
US20160035028A1 (en) Method For Facilitating Futures Trading Of Synthetic Benchmark Corporate Bonds
Coates US Stock Exchanges: Information Technology and Institutional Change

Legal Events

Date Code Title Description
ENP Entry into the national phase in:

Ref document number: 2000 14558

Country of ref document: AU

Kind code of ref document: A

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 1999971554

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1999971554

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999971554

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: GB0428305.7

Country of ref document: GB