Distributed matching system for displaying a book of credit filtered bids and offers6260025Abstract A distributed electronic trading system for displaying a real-time credit filtered view of at least one market in which financial instruments are traded in which the market view includes a predetermined number of orders currently available to a viewing trading entity based upon one or more credit limits entered by the viewing trading entities and/or other trading entities in the system includes a host for receiving and storing orders and credit information entered by a plurality of trading entities including the viewing trading entity, for transmitting the orders and predetermined display parameters, and for selectively transmitting the credit information; a plurality of intelligent nodes linked to the host; and a plurality of keystations respectively linked to one or more of the intelligent nodes. Each intelligent node includes a credit information storage unit for storing the selected credit information, an order book storage unit for storing the orders and display parameters, and a processor for generating real-time credit filtered market view display information for each assigned trading entity. The real-time credit filtered market view display information includes the predetermined number of unilaterally and/or bilaterally credit filtered orders and corresponding available quantities. The displayed market view may consist of individual order prices and quantities, aggregated prices and quantities, and/or average prices at predetermined quantities chosen by the viewing trading entity. Claims We claim: Description FIELD OF THE INVENTION
Trading entity A B C D
A -- 2 M 10 M --
B 20 M -- 3 M 5 M
C 5 M 15 M -- 20 M
D 1 M -- 3 M --
In the credit table shown above, trading entities A, B and C have entered credit information for the other three respective-trading entities, indicating the total amount of credit each trading entity is willing to extend to the three other trading entities. Trading entities may modify these credit limits at any time before or during trading activities. Each trading entity may also create group credit limits by which the trading entity may limit the amount of credit it is willing to extend to a group of potential counterparties as a whole in addition to the individual limit set for each member of the group. For example, trading entity A may define a group of trading entities, "Group 1", as including trading entities B, C and D and limit the total amount of credit extended to the trading entities in Group 1 as a whole for each financial instrument. Thus, matching of instruments by the host may be affected by multiple credit limits such that the system limits the matches based upon the lowest applicable amount of available credit between the counterparties to the transaction. Subsequent changes made by trading entities to their credit information are also forwarded to the host 101 in the form of directed messages to insure that the credit information maintained in the host 101 is always current. Also, as trading progresses and trades are executed between trading entities, the host 101 automatically updates its credit profile for the affected trading entities accordingly. The intelligent nodes (INs) receive both order book and credit information from the host on a continuous basis. The INs use this information to perform the calculations necessary to generate a unilaterally and/or bilaterally credit-filtered view of the market for each of its assigned KSs. By structuring the network in this way, the vast number of calculations needed to generate a unilaterally and/or bilaterally filtered market view for each individual trading entity is distributed throughout the network, thereby reducing the processing requirements for any individual component. Each IN receives from the host 101 the full order book and a subset of the credit profile stored in the host 101. The credit information subset includes all information that the IN needs to determine both unilateral and bilateral credit availability between its assigned KSs and other potential counterparties in the system. Thus, the full bilateral credit model for each trading entity, including real credit values in real time, is transmitted from the host 101 to each IN. The host 101 may also limit the credit information provided to each IN, for example, by using a "credit threshold." The credit threshold only applies to the credit extended to a particular trading entity. According to one embodiment of the present invention, the credit threshold is determined by 1) identifying the largest numerically displayable quantity for each base currency; 2) converting this amount into a common instrument such as U.S. dollars; and 3) identifying the largest of such amounts for all currency pairs. This largest amount becomes the credit threshold and is used to limit the credit information that is provided from the host 101 to the IN. The credit threshold is chosen to restrict or limit network traffic by reducing the number of updates required to maintain a current market display. Since no updates are needed when available credit between parties changes from one amount above the threshold value to another amount above the threshold value, the credit threshold value determines the number of updates that must be transmitted through the network. Absent the credit threshold feature, every change in credit availability between trading entities would necessitate an update message from the host to the affected INs. With reference to FIG. 2, the IN 106 receives order book information and the credit information from the host for each of its assigned KSs. This information is respectively stored in storage units 201 (order book storage) and 202 (credit information storage). A processor 203 in IN 106 then generates display information which will enable each of its assigned KSs to display a unilaterally and/or bilaterally credit filtered view of the market (i.e., a predetermined depth of credit-filtered orders) for one or more trading instruments selected by each trading entity. This filtered view enables trading entities to determine what trades are available to them in the market at any given time based upon credit they have extended to others and/or credit others have extended to them. This view of the market is dynamically updated by processor 203 as the order book and credit limits change in the course of trading activities. Each trading entity has its own trading entity terminal. An exemplary trading entity terminal is KS 109. KS 109 includes a processor 204, a display generator 205, and a storage unit 206. The KS receives from its respective IN 106 display information such as market display information, current top of the book information, last trade price information, and credit filtered information as calculated by the IN. The processor 204 provides this information to display generator 205 along with message protocol conversion information received from the IN (which enables the KS to format its display screen correctly) to generate a personalized market view display for the trading entity. However, the KS does not perform any credit-related calculations, nor does it receive counterparty credit information from the host 101 or respective IN. This prevents individual trading entities from obtaining sensitive credit information entered into the system by other trading entities and maintains absolute anonymity between potential counterparties to a transaction until they have decided to proceed with the transaction. The operation of the distributed matching system according to the present invention will now be described in detail with reference to FIG. 3. The following description assumes that all trading entities on the system are trading in a single market, for example, the USD to FRF foreign exchange market. However, the system according to the present invention enables some trading entities on the system to trade in one market while other trading entities trade in other markets. Further, information from a plurality of different markets may be displayed to each trading entity simultaneously, enabling the trading entity to easily move between markets and monitor market information from a number of different markets simultaneously. Nonetheless, for simplicity of description, activity within a single market is described below. Initially, each trading entity enters credit information, including definitions of credit groups and credit limits between the trading entity and each group and individual trading entity (Step 301). Upon receiving this information entered by the trading entity, the trading entity's KS transmits a "credit request" to the host 101 by which the credit information entered by the trading entity is transmitted to the host 101 (Step 302). The host 101 stores this information (Step 303) and generates a "credit update" message which is transmitted to the KS and "echoed" to the INs which are affected by the new credit information, including both primary and backup INs (Step 304). In addition to credit update messages transmitted from the host to the INs, the INs also receive from the host 101 exposure updates which contain updates regarding credit extended by other trading entities to the trading entities services by the particular IN (Step 305). These exposure updates are only transmitted to the INs which serve trading entities affected by the changes in credit. Furthermore, the exposure updates do not include credit information that has not changed, but only that information which has changed from one value above or below the credit threshold to another value below the credit threshold. As a result, the amount of redundant or unnecessary credit information transmitted through the network is minimized. This sequence of steps (301-305) may be repeated any number of times both before and during the trading process. When a trading entity first logs into the network, the IN corresponding to the KS of the trading entity requests information about the trading entity from the host 101. The host 101 transmits to the IN group credit information, credit values, and exposure information corresponding to the trading entity. Notably, if the system is disabled for a period of time, upon restarting of the network, each IN compares the sequence number associated with the update or other message it receives from the host 101 with the last sequence number it has stored. If the sequence numbers match, the IN does not need the update information. If not, the IN requests sufficient information to synchronize itself with the host 101. In this way, the system according to the present invention resynchronizes itself following a network failure or shutdown. The INs initially receive the full order book from the host 101, including information on all bids and offers for all available trading instruments in the market and characteristics of each instrument, such as how an instrument is quoted, how many digits are used, and the small, medium and large thresholds for each instrument. Subsequently, the INs receive credit updates, order book updates, and exposure updates as they are needed, i.e., if they potentially affect the market view of one or more trading entities serviced by a particular IN. Further, only new information is transmitted in the updates, reducing the amount of redundant information transmitted over the network 150. When the INs receive the full download (the full order book and selected credit information relating to the IN's assigned KSs) from the host 101, the INs separate the bids and offers out of the download received from the host 101. The INs then transmit to the KSs only the display data they need to display the individual trading entity's market view and not the full order book. As the order book changes, the host 101 broadcasts order additions, modifications, and deletions to all of the INs. The information for each order includes a randomly-assigned subscriber identification code which enables each IN to identify the subscriber who owns the order. To screen the order for credit availability, each IN performs the mapping between the subscriber and the relevant credit information using the subscriber identification code. The subscriber identification codes are not transmitted to the KSs and are randomly determined at periodic intervals to insure confidentiality and anonymity between the trading entities on the system. According to one embodiment of the present invention, the host 101 transmits two types of messages. First, the host sends directed messages which are addressed and delivered to a particular KS or IN, e.g., credit updates and exposure updates. Second, the host sends broadcast messages which are delivered to all INs, e.g., order book updates. The INs determine whether to send the broadcast message on to each KS in an unmodified or modified format, or not at all. For example, if the host 101 receives an order, the host sends a directed response to the KS of the trading entity which entered the order. Then, the host broadcasts an order book update message to all INs. The INs receive the message (Step 320), enter the new order into their order books, and, for each of its KSs, determines if the new order affects the trading entity's market view (Step 331). If so, the IN recalculates the market display data for the KS (Step 332) and transmits an update message to the KS which tells the KS to update its display of the market (Step 333). If the message from the host 101 to the INs is a last trade price message, this message is transmitted from the IN to its respective KSs in the form of a new message because this information changes all trading entities' market displays (Steps 321, 322). According to one embodiment of the present invention, the INs are transparent to the KSs, meaning that the KSs are not aware that the INs receive, filter, and reformat the information transmitted by the host 101. Therefore, to the KSs, the messages which are actually transmitted by the INs appear to originate from the host 101. Upon entry of an order by a trading entity (Step 310), the host 101 sends directed message to KS entering the order (Step 313). Subsequently, the host 101 broadcasts the order book modifications in the form of order book updates to all INs (Step 314). According to one embodiment of the present invention, the host 101 does not transmit a separate message for each addition, modification, and deletion in the order book, but instead only broadcasts the net results of all order book modifications. This process is completed within a predetermined period of time, preferably less than one second. When an IN receives the order book update or updates from the host 101 (Step 320), the IN determines if market view of any of its KSs is affected by the changes to the order book (Step 331). If so, the IN recalculates the market display data for the affected KSs (Step 332) and transmits the update to the affected KSs (Step 333). To determine whether their KSs will be affected by the update, the INs store a "book depth value" which restricts screening of the order book to a predefined depth, for example, a depth of six, such that only the top six individual orders, aggregated price levels, or average price levels in the market will be displayed for each instrument (depending on the display mode selected by the trading entity). As a result, the update will only require the IN to prescreen the order book and update the KS display if the change to the order book is within the defined book depth value and the potential counterparties to the transaction have unilateral or bilateral credit (depending on the screening mode selected by the trading entity). The system according to the present invention may provide at least three different personalized market view displays to each KS: a market view consisting of individual orders, a market view consisting of aggregated orders, and/or a market view consisting of average price orders for quantities defined by the trading entity or the system. For example, assuming that the book depth is six, an individual order market view displays to the trading entity the six top orders (best-priced orders in price-time priority) in the market book and the quantity of each order available to the trading entity based upon unilateral or bilateral credit availability as selected by the trading entity. An aggregated market view displays the top six order prices available to the trading entity and the aggregate quantity available at each price. All orders available to the trading entity at each displayed price level are aggregated, such that the displayed quantity may include available quantities from one or more orders. The availability of order and quantities is determined by the IN based upon unilateral or bilateral credit availability (depending on the trading entity's credit filtering selection). An average price order market view displays the average order price available to the trading entity for one or more quantities defined by the trading entity or the system. For example, if the trading entity wants to determine what he/she would pay for quantities of 5 million, 10 million, 15 million and 20 million, the IN attempts to fill these quantities using available orders in the market book. The IN identifies the best available order and the corresponding available quantity, the next-best available order and corresponding available quantity, and so forth until the quantity requested by the trading entity is filled. The IN then calculates the weighted average of the prices of the orders it has used to fill the requested quantity and provides this display information to the trading entity KS. The KS displays the average price to the trading entity. The IN repeats this process for each quantity requested by the trading entity. In an alternative embodiment of the average price display, the system may pre-configure the quantity level or levels available for this function. These pre-configured quantity levels are standard quantities as described earlier in the disclosure. For example, the system may only allow an average price display of standard quantities of five million or ten million. In order to generate display data corresponding to the top six orders, price levels (aggregated orders) or average prices, the IN may have to search through substantially more than six orders and/or price levels in the market book. In other words, the IN continues the order screening process until it has derived enough information to complete the display levels as defined by the book depth. An additional display option enables each trader to view his/her own orders and/or orders entered by other traders in the same trading entity. If a trader selects this display option, the trader's KS displays these orders and indicates that the displayed orders are the trader's own or orders entered by other traders in his/her trading entity, for example, by displaying these orders in a particular color different from other displayed orders or marking such orders with a symbol such as an asterisk. The trader's own orders and orders entered by other traders in his/her trading entity may be displayed integrally with other orders as part of the trader's market view or in a separate area on the KS display screen. The functionality of the INs will now be described in greater detail. In each IN, each trading instrument is statically associated with two numbers: a minimum quantity and a standard quantity. The minimum quantity represents the minimum order size for the particular trading instrument that will be processed and displayed by the system. The standard quantity is by definition greater than or equal to minimum quantity. For screening purposes, the standard quantity is used to show a trading entity a price at which it can get a larger quantity of orders. When an IN screens the order book for a minimum quantity, the respective KS displays to the trading entity the best price at which it can trade a particular instrument and the total quantity available at that price. For example, assume that trading entity A and trading entity B have each entered an order into the system for a quantity of 5 million at the price of 1.5 USD-FRF, such that the total quantity of both orders is 10 million. Trading entity C who wants to trade with A and B has $4M worth of bilateral credit with trading entity A and $4M worth of bilateral credit with trading entity B. If the minimum quantity is 1, the available quantity displayed to the trading entity will be 8. When an IN screens an order book for standard quantity, the IN determines the best price at which the trading entity can buy or sell the standard quantity. For example, if the standard quantity is 5 million, the KS will display the price at which the trading entity can trade a quantity of 5 million or more based upon the trading entity's credit availability. Notably, to obtain a standard quantity such as 5 million on an instrument pair that has a minimum quantity of 1 million, the IN may identify multiple orders at the same price or multiple orders at different prices. Therefore, if the IN identifies 1 million of one order and 4 million of another order, the KS will display the weighted average price of these orders to the trading entity. Thus, when the order book is screened for a minimum quantity, the KS will not display an average price as long as the minimum screening quantity is equal to (or less than) the minimum allowable order size (if the minimum quantity for an instrument is greater than the minimum allowable order size, the KS will display average prices). However, when the IN screens for a standard quantity, an average price may be displayed. The processing described above for detecting the average price of the standard quantity is also utilized to calculate the book of average prices requested by the user or configured by the system. In this case, the IN continues to select orders based on credit availability until all requested quantity levels have been filled or until no orders remain. In some markets, trading entities may desire to enter larger orders and restrict the filling of the orders to a certain quantity to avoid filling of the larger order in a piecemeal fashion. In other words, the trading entity entering the large order wants a large ticket instead of multiple small tickets to fill the order. This function may be provided through the use of a minimum ticket option which a trading entity may elect when entering an order. For example, a trading entity may enter an order for a quantity of 20 million with the stipulation that the order can only be "done" or filled by a reciprocating order for a quantity of 20 million. This order is said to require a minimum ticket of 20 million. When such an order is entered into the order book, the INs must take the minimum ticket requirement into account during the credit screening process when generating market display data. According to one embodiment of the present invention, to accommodate minimum tickets, the following rule may be used by the INs during screening of the order book: if, in order to show a better prescreened price, a minimum ticket order must be included, the displayed prescreened price is not weighted price (including part of the minimum ticket order) but instead just the price of the minimum ticket order. For example, during screening of the order book for a standard quantity of 5, if an IN identifies two unrestricted orders (e.g., one with a quantity of 2 and one with a quantity of 3 or more) that meet the standard quantity, the KS will display the weighted average price of those two orders. On the other hand, if the IN identifies the order of the best price having a quantity of 1 and the order of the second best price that has a quantity of 5 and a minimum ticket requirement of 5, the KS will not display the weighted average of the best order and part of the second best order, but instead only the price of the second best order. As a result, a trading entity may see a worse price as a result of a minimum ticket requirement than when a trading entity wants a standard quantity. The credit availability filtering or screening function performed by the INs in the system according to the present invention includes both unilateral and bilateral credit availability screening. Each trading entity may choose to view 1) bilaterally credit filtered prices and quantities (orders for which both parties to the potential transaction have extended credit to one another and the quantities of those orders available based upon the lower of the applicable credit limits), 2) the prices of those orders entered by other trading entities to whom the viewing trading entity has extended credit (regardless of whether the other trading entities have extended credit to the viewing trading entity) and the quantities of those orders available based upon the unilaterally extended credit, and/or 3) the prices of orders entered by other trading entities who have extended credit to the viewing trading entity (regardless of whether the viewing trading entity has extended credit to the other trading entities) and the quantities of those orders available based upon the unilaterally extended credit. The viewing trading entity may select one or more of these credit filtering options. According to one embodiment of the system of the present invention, the trading entity's market view may include bilaterally screened prices and quantities in one color, unilaterally screened prices and quantities where the viewing trading entity has extended credit in a second color, and unilaterally screened prices and quantities where the other trading entities have extended credit in a third color. Orders entered by the viewing trading entity or members of the viewing trading entity's credit group may optionally be displayed in a fourth color. However, in most markets, the trader's own orders and those of his trading entity are not considered by the IN in the bilateral and unilateral credit screening process. In other embodiments of the present invention, the market view display includes only bilaterally or unilaterally filtered orders and quantities. Thus, the credit filtering functions selected by the viewing trading entity determine how order availability (both available prices and quantities) are determined by the INs and what information is subsequently displayed to the trading entity. As discussed above, trading entities may enter individual and group credit limits, both of which are used by the INs in the credit filtering process. As a result, a single order may be subject to two or more credit limits, for example, an individual credit limit and a group limit extended by each potential party to the transaction. Therefore, the respective INs must determine the lowest of the applicable credit limits to calculate which orders/price levels to display in each trading entity's market view and the corresponding available quantities. The INs must also temporarily deplete each applicable credit limit upon displaying an order. This ensures that all displayed orders on a single side (bid or offer) of a book in a single currency are simultaneously available to the trading entity. Otherwise, the trading entity does not receive an accurate view of what is currently available to him or her. The credit availability filtering function performed by the INs also takes into account the possibility of multiple orders to which a single credit limit is applied. For example, if trading entity A has a $10M credit limit with trading entity B and trading entity B enters an order at the best market price for a quantity of 8 million, trading entity A will see in its market view the best price and an available quantity of 8 million. If trading entity B enters a subsequent order at the second-best market price for a quantity of 5 million, trading entity A will only see a quantity of 2 million available at the second-best price. Again, the fact that an order is displayed temporarily depletes the parties' credit lines available for screening purposes. A similar process is applied for group credit limits. All orders entered by members of a group must be aggregated so that the group credit limit can be applied. Additionally, the individual credit limits of each group member must also be considered in determining the availability of order prices and quantities. When an order that is subject to both a group limit and an individual limit is displayed in a trading entity's market view, both the group and individual credit limits applicable to the displayed order are temporarily depleted by the respective INs for credit filtering purposes. Thus, the distributed matching system according to the present invention calculates unilaterally and/or bilaterally prescreened values for all instruments available in the market or for those instruments selected by a subscriber. The instruments available in the market may be downloaded from the host 101 to the KSs in the form of a static list from which the trading entities may select. In this way trading entities may select the instruments for which they want to receive dynamic updates and prescreened market displays. While the present invention has been particularly described with reference to the preferred embodiments, it should be readily apparent to those of ordinary skill in the art that changes and modifications in form and details may be made without departing from the spirit and scope of the invention. It is intended that the appended claims include such changes and modifications.
|
Same subclass Same class Consider this |
||||||||||
