ANONYMOUS TRADING SYSTEM
FIELD OF THE INVENTION
This invention relates to electronic brokerage or trading systems and in particular to systems in which counterparties trade anonymously within defined credit limits. Such systems may trade financial instruments such as foreign exchange and forward rate agreements .
BACKGROUND TO THE INVENTION
A number of anonymous trading systems are known in the art. EP-A-0,399,850, EP-A-0 , 06 , 026 and EP-A-0, 11, 748 all assigned to Reuters Ltd disclose aspects of an automated matching system in which a host computer maintains a central database of bids and offers submitted by terminals connected to the host via a network. The host also maintains records of credit limits between each trading bank and the possible counterparties with which it is willing to trade. The host computer uses information in its central database to match bids and offers and buy and sell orders based on matching criteria which include the counter party credit limits.
Generally, counterparty credit limits are set for each bank or each trading floor and the host computer establishes a gross counter party credit limit for each possible pair of counterparties. The gross counter party credit limit is the minimum amount of remaining credit between two counterparties .
A trader's terminal will display a subset of the trading book, typically the best few bids and offers. These will be updated periodically to ensure that the trader sees the true state of the market .
A problem with the system outlined above is that the trader sees the bids and offers irrespective of whether he has sufficient credit with the counter party submitting that bid or offer to trade. As a result, a trader can attempt to trade when there is no available credit. As the system is anonymous the trader has no knowledge of the counterparty until a trade as been completed and so, when he hits a bid or offer, has no idea as to whether it is likely to be accepted or rejected for lack of credit. This is extremely frustrating for a trader, particularly in a fast moving market in which trading opportunities can easily be lost. The problem arises as the host computer only checks available credit after a deal has been proposed and a potential match identified.
This problem was solved in W093/15467 now assigned to
EBS Dealing Resources inc. Instead of displaying the actual trading book, or a part of it, to each trader, a different market view is shown to each trader in which bids and offers from counterparties which whom they have insufficient or no credit are screened out. Thus, the trader only sees prices with which he knows he can deal .
The architecture of the system of W093/15467 is very different from the of the Reuters system and is based on a distributed network with a number of arbitrators which perform matching. Actual credit limits are stored at local bank nodes to which each of a bank' s trading terminals are connected ensuring that sensitive credit data does not leave the bank's physical site. The actual trading book is sent by the arbitrators to the market distributor. The market distributor forms a market view specific to a given trading floor and sends it to the relevant bank node. A different market view may be formed for each trading floor depending on credit criteria. Thus, the market view which is
distributed to each of the bank nodes is the complete market view with credit screening taking place, the market distributor to filter out any prices with which the bank, or a given trading floor within the bank, has insufficient credit .
In addition, the market distributers also have limited credit information, maintaining a credit matrix which may store a simple "yes-no" credit indicator for given counterparties. When a match is made, the prices having already been screened for credit, the bank node will make a second credit check using the credit matrix to see whether any previously extended credit has already been exhausted.
Both the above described systems have been used successfully for a number of years. However, both suffer from disadvantages associated with the geographical location of the matching engine .
In the Reuters system there is a single matching engine. In practice this is located in Long Island, New York, USA. Messages sent from trader terminals will take a finite time to reach the matching engine. Thus, if a trader in New York and a trader in Tokyo try and hit the same price, the New York trader's hit will always be received first. In practice, most of the trading at a given time is between traders located on the same continent but it is still disadvantageous for traders, eg. in Japan all to trade through a matching engine and deals execution system on the other side of the world as the system is inevitably sluggish.
The EBS system, in practice, provides three arbitrators, one each in New York, London and Tokyo, all three arbitrators are active at the same time and a price is
owned by the arbitrator to which the trader terminal into which the price is input is connected. Thus, where a price is input by a trader in London and hit by a trader in Tokyo, the match will be performed initially in Tokyo and then sent on to London as the quote owner. If, in the meantime, the same price has been hit in London, the second hit will win as it will be received by the owning arbitrator first.
Both of these prior art systems can be subject to considerable delay under various trading conditions.
SUMMARY OF THE INVENTION
The invention aims to provide a hierarchical matching structure in which quotes are matched locally, if possible so as to reduce latency in the system.
A system embodying the invention provides an anonymous trading system having a communicating network for transmitting electronic messages. A plurality of order input devices such as trader terminals is connected to the communication network. Each order input device may generate price quotation messages which include bid and/or offer prices and may communication price information to a trader. A plurality of matching engines is connected to the network, to match bids and offers input into the system and execute deals where matches are made. At least one of the matching engines has an associated market distribution means which distributes price messages to the order input devices and which is responsive to the price quotation messages and the matching engine . The matching engines are arranged in a hierarchy and the trader terminals each input price quotation messages to a given matching engine. An attempt to match a price input into the system is first made at the matching engine at which the price is first input into the system. Only if no match can be made does the next matching
engine up the hierarchy attempt to make a match. If no match is made the responsibility for matter is passed successively to other matching engines up the hierarchy until such time as a match is made or it is determined that no match can be made .
Preferably the network structure is a tree having a plurality of branches. Some or all of the branches have a plurality of matching engines. The highest matching engine in each branch may either be common to each' branch or be arranged as a clique of interconnected matching engines each of which has a dependent branch of matching engines .
With the exception of the highest matching engine in each branch, the matching engines are preferably broking nodes which combine the functions of matching deal execution and market distribution.
Preferably the order input devices are trader terminals which communicate with the broker nodes through bank nodes . A bank node is an interface within a bank between a broker node and the trader terminals which comprises one or more trading floors within the bank. The bank node may also hold credit information as to the limits of credit each trader, each trading floor or the bank as a whole has with each counterparty with which the traders may trade on the system. Alternatively, or additionally, these credit limits may be held by the matching engines .
A system embodying the invention has the advantage that local matching is promoted so that prices are matched at the lowest point in the hierarchy possible. In practice, this means that matching is performed at a location geographically close to the traders, especially when the traders are in the same city or region. This increases the
efficiency and response time of the system. It is particularly advantageous as, in practice, the majority of trading on world markets such as the foreign exchange (FOREX) market is between counterparties in the same region or country. For example, when the Tokyo markets are open, the majority of traders are between Japanese or other Far Eastern traders as the European and North American markets are closed.
The system has the further advantage that traders with counterparties in other regions are still possible as quotes that are passed up the hierarchy of matching engines will eventually reach the top of the brach at which point matches can be made with quotes input to matching engines on different branches .
The invention also resides in a automated trading system for trading financial or other instruments. The system comprises a hierarchical network or matching engines arranged as a tree, and a plurality of matching engines matching price quotations entered into the system from trader terminals with quotations held by the matching engines . Matching is first attempted at the matching engine to which the quotation is first input into the system and, if no match is made, matching is attempted by successive matching engines up the hierarchy until either a match is made or the quotation is removed from the system or expires .
Embodiments of the invention will now be described with reference to the accompanying drawing which shows a schematic view of a system architecture embodying the invention.
In essence, the invention resides in a system which has a hierarchy of matching functionality allowing bids and
offers to be matched locally and, if no local match is found, for matching to take place at the next stage in the hierarchy. Thus, matching is ultimately performed at system arbitrator level where an arbitrator may control all bids and offers entered into the system in a trading area such as North America, Europe or the Far East.
In the system (10) illustrated, four arbitrators are provided which form a clique (11) . The arbitrators, (12, 14, 16 & 18) each have one or more branches (19) with each branch having at least one broker node (20) and a bank node (22) . The bank node (22) is the interface between the trader terminals (24) (of which three are shown connected to one of the bank nodes in the figure for illustration only) and the communications system which forms the anonymous trading system. In practice, the trader terminals of one or more trading floors within a bank location will be connected to a bank node and the bank node may present to the trader terminals a tailored view of the market according to the credit limits with counterparties to which those trader terminals can deal. The trader terminals are one example of order input devices and other arrangements are possible and within the scope of the inventionAlternatively, the tailoring of the market view may be performed at the last of the broker nodes in each branch before the bank node . In practice, all the trader terminals making up a trading floor need not be in the same physical location.
It will be seen that the network architecture, with the exception of the arbitrator clique, is a tree having a plurality of branches with the trader terminals representing the leaves of the branches. It will be appreciated that the figure is highly schematic and that, in practice, the network will comprise a set of arbitrators located at great distances apart and a very large number of bank nodes on
each branch of the network. The physical network used may be any suitable wide area network.
In the example given, quotes are input from trader terminals which may be work station computers operated by traders. However, quotes may be input into the system by any suitable means such as an automated trading system. That latter may be programmed to input a quote when the market reaches a certain level. All these possibilities are examples of a means for inputting quotes into the system or quote input devices and are within the scope of the invention.
In the system according to the present invention the market distributors of W093/15467, the contents of which are incorporated herein by reference, are replaced by broker nodes which perform the combined functions of the arbitrators and the market distributors. In particular the broker nodes may perform the following functions although it is to be understood that not all of these are essential to the present invention:
1. The broker node handles all order requests submitted by traders through their trader terminals and associated bank nodes. Thus, the broker nodes submit orders, cancel orders and amend orders . Orders are stored by the broker node in the system trader book as well as sent upstream up the branch to the next broker node or to the arbitrator depending on the structure of the branch. The upstream direction is defined as the direction towards the closest arbitrator and the downstream direction is defined as the direction down a branch away from the closest arbitrator.
2. Broker nodes also function as matching engines finding order matches and executing deals where matches are found. In addition, broker nodes update that status of quotes in the market and inform other nodes in their branch about changes in order status . By way of example, a broker, 20a in branch 19a may receive information changing the status of an order from a bank node to which it is connected. The broker node will notify the other nodes both upstream and downstream, if there are any, of that status change.
3. Broker nodes also filter proposed deal and automatch requests and will either forward the requests to other nodes or reject the requests.
4. Broker nodes provide traders with market views. In this respect they are performing the market distribution functionality.
In the broker node the market distribution and matching functionality is continued. It should be appreciated that these may be provided as separate operations performed by separate computers .
The arbitrators shown in the figure have the functionality of broker nodes, in that they can perform each of the four tasks outlined above. In this respect, they do not equate to the arbitrators of W093/15467. The arbitrators have some special privileges . Because of this they are referred to as arbitrators to distinguish them from the down branch broker nodes. In the example shown, there are four arbitrators . This permits one arbitrator controlling each trading region with a second in the busiest region. The number of arbitrators may vary as may the delineation of trading regions. The location of the more busy regions will
depend on the instrument being traded. One or more additional arbitrators may be included in the clique as back up in the event of failure of one of the main arbitrators. In such a situation the back up arbitrator will simply take the place of the failed arbitrator.
A system using only a single arbitrator broker node is within the scope of the invention. It will be appreciated that in a single arbitrator node system the architecture will be a logical tree.
As described in W093/15467, the arbitrators perform the function of matching bids and offers in the system to find matches and then initiating the deal process. A bid or offer can be a quote which persists in the market, that is it is made visible to other traders, on a fill or kill order. An example of the latter is a hit where a trader tries to trade with a price displayed on his screen. If the deal is not done (filled) , the hit order is cancelled from the system (killed) and never becomes permanent.
In the W093/15467 system, the trading book held by the arbitrators is distributed to the bank nodes by market distributors. The market distributors may, if appropriate, simply pass on the trading book to the bank node for distribution to the trader terminals. However, it is more likely that the market distributor will tailor the view of the market to be sent to each bank node. For example, it may suppress any prices from counterparties with which that bank has no credit and it may only send the top price or top few prices in the market. In this respect it should be remembered that as the system is anonymous, a trader has no idea from whom a given price originates.
Quote messages in the system are divided into two categories. The first is messages on the direct path from the owning broker to its nearest arbitrator. The owning broker is defined as the broker node to whom the quote is first submitted from a trader via his trader terminal and bank node. Messages on this direct path are on a trading path and the nodes on this path will primarily be responsible for matching this quote. It will be appreciated that, in practice, many trading floors may be attached to the broking nodes in a given path and any path may be viewed as one geographical area. It is likely that most quotes would be matched with other quotes from the same geographical area as it is dealers in that area that are active at the same time. The first broker node may represent, for example, banks in Paris, whereas the next broker node up the line represents banks in another European city, say London. The system will first look for a local match, that is an offer from the Paris market suitable for matching. If such a match exists the deal will be executed subject to the usual credit checking and deal confirmation checks. In that case, the deal will have been performed at the lowest possible level in the hierarchy with the minimum possible delay.
If there is no match at the local level, the quote will be passed to the next broker node which will look for a match with other orders in its book. Those orders will include orders from bank nodes connected to that broker. Although that broker will have unfilled quotes from the downstream broker, there will be no possibility of a match with these quotes as, by definition, if a match was possible it would have been made at the downstream broker. Eventually if no match is found with orders submitted to any of the broker nodes in the branch the arbitrator at the top of the branch will attempt to match the order. That arbitrator will
have in its trading book, bids and offers submitted from broker nodes in the other branches and is the first time that an offer is open to matching with orders from traders outside the region covered by the branch which the trader is connected.
Thus, it will be appreciated that the system is hierarchical in that the lowest broking node in a branch, the owning broker, first attempts to match a quote. If no match is found the quote is passed up the branch to successively higher broker nodes in the branch until it is eventually matched by the arbitrator if no match has been made at any of the downstream broker nodes .
Quote messages may also pass in sideways directions. Other nodes also need to know about quotes to note the proper location in the price-time queue, to process hits that could be matched with the quote and to distribute prices to readers. Thus quotes are passed through all branches of the network via the arbitrators. However, it must be remembered that by the time a given broker node receives a quote message, that quote may already have been matched by a downstream broker node.
In the example referred to above, two broker nodes in the hierarchy (Paris and London) both had interfaces for traders. That is, orders and hits may be entered at each node. After entry, those quotes will transverse the tree, but for matching purposes only in the upstream direction. This does not mean that downstream broker nodes are unaware of these quotes . They require knowledge of them to keep the proper location in the price-time queue and ensure that correct market views can be distributed to traders attached to those downstream nodes .
Quotes entered at a point above the lowest broker node in a branch will be matched or a match attempted only with orders owned by the broker node or by downstream nodes .
The processing of hits when they reach the arbitrator, that is they are not matched at any of the broker nodes in the branch, is the same as that described in W093/15467 and will not be described further.
When a quote is submitted to the system by a trader it is first processed by that trader's bank node and then submitted to the local broker which becomes the owning broker. That broker then broadcasts the quote to the whole network. This is achieved by the owning broker sending the quote to all of its neighbours, including an arbitrator if that is a neighbour and then each of the brokers and arbitrators other than the owning broker send the quote to all its neighbours except that from which the quote was received. The arbitrator closest to the owning broker, that is the arbitrator at the top of the branch, is the owning arbitrator for the quote.
Hits are processed by brokers according to the following procedures :
When a hit request is received by a broker it attempts to match the hit based on the complete book known to the broker. If no matches are found the hit is rejected and a rejection message is sent to the trader. If, on the other hand, there is a match or a partial match, that is the price is correct but the quantity is not equal to the hit request with a quote owned by this or a downstream broker, a deal is initiated. A proposed deal message in generated and sent through the network to the owning broker. The proposed deal message also causes a market update message to be generated and sent all sideways directions, including upstream, to
ensure that all brokers and arbitrators are aware of the proposed deal .
In the case where a match or a partial match is possible, but with a quote owned by an upstream broker, but not by an arbitrator, the remaining amount of the hit, that is the amount not included in any proposed deal, is forwarded to the upstream broker.
Where the match or partial match is with an arbitrator, the hit is processed in the manner described in W093/15467.
The routines described above define the manner in which hits are processed in all scenarios except where the quote is submitted to a broker other than an arbitrator and there is a partial match with a downstream quote and no matches with upstream quotes. There are three ways of dealing with this situation. First, the remaining, unfilled, quote amounts could be rejected. Second, the unfilled amount could be forwarded to the closest upstream arbitrator who will keep it open for a given period of time to attempt further matching. Third, the unfilled amount is forwarded to the broker node which received the hit, that is the node to which the trader terminal which submitted the hit is connected. That broker can then maintain the hit for a given time to attempt further matching.
The procedures described above cover the case where quotes input into the system and made visible to traders are hit by other traders . This is a process in which visible quotes are matching with invisible quotes as hits are never displayed to the market. The system also provides for matching of visible quotes, that is, bids and offers input into the system by different traders at the same price. This process is referred to as automatch.
Automatch may be implemented in one of three ways as follows :
1. Automatch may be initiated only by owners of at least one of the quotes and system rubs prevent the same deal being initiated by both counterparties simultaneously. The danger in a system with multiple matching engines is that each engine will attempt to make the match as soon as it received the matchable quote.
2. Automatching may only be performed by an arbitrator. If the quotes which may be automatched are owned by different arbitrators the system rules prevents simultaneous deal initiation in a manner similar to the example above .
Although both these examples work, neither makes use of the hierarchical nature of the system architecture and both are inefficient.
3.- The presently preferred approach is that each broker node attempts to perform an automatch with quotes owned by it or its downstream nodes. If a match is made a proposed deal message is sent to both parties for confirmation. This approach ensures that only one node can initiate each possible deal and also ensures that deals between local parties are initiated swiftly.
The examples described are based on a clique of arbitrators with depending branches of broker nodes . It should be understood that the essence of the invention lies in the hierarchical nature of the matching function. Thus, it follows that some or all of the broker nodes in the
branches could be replaced by separate quote matching engines and market price distributors. In other words, arbitrators and market distributors as described in W093/15467 could be used instead of some or all of the broker nodes .
The architecture described is suitable for trading any instrument or commodity and is particularly suited to trading financial instruments where credit is extended to counterparties bilaterally. Suitable tradable instruments include Foreign Exchange Spot (FOREX) FRA's, Foreign Exchange Forwards, Futures etc.
The examples described are intended only to exemplify the best mode of putting the invention into practice and are not limiting. Many other implementations of the concept disclosed herein are possible and will occur to those skilled in the art. The scope of the invention is defined solely by the following claims .