Not applicable
Not applicable
1. Field of the Invention
This invention relates to a message system to facilitate the confirmation of trade transactions made in an open outcry or similar market in near real time. More particularly, this invention relates to a communication system that coordinates with an intra-day matching system to minimize unmatched incorrectly entered trade transactions.
2. Description of the Background of the Invention
In a typical exchange setting, traders will make trade transactions for a wide variety of tradable products using face-to-face communication techniques. A trade transaction can involve stocks, bonds, financial instruments, futures, options, cash, and other similar instruments. The concept of a financial instrument in today's marketplace can include a wide variety of items that have extended far beyond what was originally considered a financial instrument. This includes contracts for the future delivery of agricultural and other commodities, including metals, oils, and the like. Also, the financial instrument can include derivative instruments that include options of all types and instruments that are based on a basket of other instruments, such as options based on the Dow Jones Industrial Average, currency exchange baskets, and the like. A trade transaction can include the buying and selling of any of the above financial instruments and similar instruments, as well as similar rights and obligations.
In an open outcry pit, trading involves the use of hand signals where two traders each indicate their willingness to make a trade transaction at a particular price point. Currently, these trade transactions are recorded on paper slips that are then passed to a runner or clerk for entry into the computer system of the trader, broker, and/or clearing firm. The data from the trader's system are then passed on to the computer system of the exchange for clearing. With both sides making manual entries, both on the paper slip and into their respective computer systems, there is an opportunity to have one side of the trade transaction entered incorrectly.
Exchanges have procedures at the close of a trading day to reconcile these incorrectly entered trade transactions and most errors are corrected. However, this procedure can be time consuming and generally a trader will not know until after the exchange has closed for the day if all the trade transactions the trader thought were made that day were in fact successfully made and entered into the system for clearing. The existing computer systems do not provide real time or even reasonably contemporaneous feedback directly to the traders about the matching or acceptance of trade transaction data that have been entered into these prior systems. As a result, a trader can later discover that a trade transaction the trader thought was successfully concluded was not matched and as a result the trader has exposure the trader did not expect. By the time the error is caught, there is often no way to correct the error that would place traders on both sides of the trade in the position where they thought they were when the trade transaction was actually made. These unmatched trade transactions are known as “out trades” and can be quite costly for the traders involved. The resolution of out trades also causes disruption to the orderly process of running an exchange.
In addition, many trade transactions made today are a part of a strategy of trade transactions designed to minimize risk to the trader by hedging the trade transaction in some fashion against a second and/or third instrument, such that if a single part of the trade strategy is not successfully made due to a data entry or similar clerical error, the trader will often be exposed to considerable risk, many times without knowing that the trader has any exposure.
The use of computers located on or near the trading floor to enter the trade transactions quickly has reduced the number of out trades that are the result of keying errors or errors in transcribing the paper trading slips. These current systems do not provide feedback to the trader or broker relative to the acceptance of the trade transaction data that have been entered. A broker or trader still will not know until the end-of-session or end-of-day processing if all trade transactions that the trader thought were made using these computer systems were in fact correctly entered and matched for clearing.
Electronic trading exchanges that are in use by some exchanges do match trade transactions automatically in real time. The matching of trade transactions in an electronic trading host is done based on a match of the price and quantity or by other similar matching algorithms. These electronic trade matching hosts do not match based on the identity of one or both participants in the trade transaction and in fact most of the electronic trade matching is done anonymously.
If an exchange is able to send trade transactions in matched and locked pairs to the clearing center, the cost to the exchange for processing the trade transactions made that day will be reduced. This is because the clearing center will only need to record a previously fully matched trade transaction. There will be no need to process these trade transactions through the clearing centers' matching algorithms thereby saving time and computing power. In addition, the exchange, and possibly others, will be able to have access to the intra-day matched trade transactions to monitor activity levels, to look for risk management concerns, and to audit activity for abuse of exchange rules and procedures. Furthermore, the use of such a system will enable traders to meet performance standards, such as the entry of a significant percentage of all trade transactions within a predefined time period after the trade transaction has been made. Also, an intra-day matching and communication system will allow a trader to directly monitor the trader's activity throughout the day and have some understanding of the risk of the trader's current position in the market, including the number of trade transactions that have been made but are as yet unmatched.
In one embodiment of the present invention a message service facilitates the early confirmation of a trade transaction in a non-anonymous trading environment. The message service has a message reception circuit that receives a message from one party to the trade transaction, the message including trade transaction data that includes an identity of an opposing party to the trade transaction. The message service also has an outgoing message circuit that sends a message to the opposing party that includes data identifying the trade transaction, and a monitoring circuit that monitors a message queue for a message from the opposing party. If an acceptance message is received from the opposing party, the message service sends a confirming message to the one party and sends the trade transaction to a matching engine as a pre-matched trade. If no response is received from the opposing party within a predetermined period of time, the message service sends an alert message to the one party and sends the trade transaction to the matching engine as an unmatched trade. If a rejection message is received from the opposing party, the message service sends an alert message to the one party.
Another embodiment of the present invention is a method of facilitating the early confirmation of a trade transaction in a non-anonymous trading environment. The method comprises the steps of receiving a message from one party to the trade transaction, the message including data relating to the trade transaction including an identity of an opposing party to the trade transaction, and sending a message to the opposing party that includes data identifying the trade transaction. In addition the method includes the step of monitoring a message queue for a message from the opposing party, and a) if an acceptance message is received from the opposing party, sending a confirming message to the one party and sending the trade transaction to clearing as a pre-matched trade; b) if no response is received from the opposing party within a predetermined period of time, sending an alert message to the one party and sending the trade transaction to clearing as an unmatched trade; or c) if a rejection message is received from the opposing party, sending an alert message to the one party.
Other aspects and advantages of the present invention will become apparent upon consideration of the following detailed description.
In one embodiment, the communication among the elements will be over a networking and messaging solution known as WebSphere MQ from IBM. The message engine 56 can be any conventional computer that will accommodate a large number of messages and data input streams. One such solution for the message engine 56 is a J2EE Java based system deployed on a BEA WebLogic server. A number of queues can be set up such as one for inbound messages and one to communicate outbound messages. A matching engine 60 will use similar technology. The message and data format will conform to the MQ API and data will be in a language format, such as TREX, FIXML or other similar data formats and structures. These data formats are designed to facilitate intercommunication among exchanges, and their users, such as brokerage firms.
In some exchange scenarios, the order/trade entry computer 52 will be a computer that is located immediately adjacent to a trading pit or floor. The order/trade entry computer 52 may be directly connected to the network that runs order entry software for the exchange or as noted above can be routed through an intermediary server or other connection. Traders or brokers can enter trade transaction data directly into the order/trade entry computer 52 instead of writing the information on a trading slip and handing the slip to a clerk or runner for later data entry. Most exchanges also will have some form of the customized order/trade entry computer 52. These customized order/trade entry computers 52 can be computers running programs developed by the exchange or developed by members of the exchange using an API made available by the exchange. The order/trade entry computers 52 are the traditional method for entry of trade transaction data into the exchange system and may include proprietary systems used by the member firm's back office personnel to enter the trade transaction data from the paper trading slips. Alternatively, order/trade entry computer 52 can be used by the traders themselves through browser based or other computer terminals located near the trading floor if the traders do not have access to the their own order/trade entry computer 52 or the handheld device 54.
In addition, some exchanges now also utilize the handheld device 54 that enables traders to quickly enter the basic details of a trade transaction without leaving the trading floor or pit. The handheld device 54 is programmed to enable traders to enter key information about a trade transaction, such as the nature of the financial instrument traded, i.e., September 2005 corn, the type of trade transaction, i.e., buy or sell, the price, the quantity, and an identifier of the other party to the trade transaction, often by acronym or other identifier. This key information can be quickly entered using shortcuts built into some of the handheld devices 54. The handheld device 54 may be wireless and, if so, communicates with the exchange network through a conventional wireless link.
The message engine 56 is in communication with the matching engine 60 located within the exchange through an interface 62. In one embodiment, the message engine 56, and the matching engine 60 may be separate modules running within the same computer. In this case, the interface 62 is internal to the computer. For embodiments where the message engine 56, and the matching engine 60 are in different computers, the interface 62 also provides two way communications between the message engine 56 and the matching engine 60. Interface 62 typically will be a high speed WAN type or similar connection capable of high amounts of data throughput and that permits high speed two way messaging between the message engine 56 and the matching engine 60. The message engine 56 also is in communication with a clearing system 64 though an interface 66. This interface 66 is a conventional communication system well known to those skilled in the art. The interface 66 provides two way communications between the message engine 56 and the clearing system 64. In addition, the matching engine 60 may optionally have a direct communication link 68 to the clearing system 64. In this direct connection embodiment, the matching engine 60 will only notify the clearing system 64 of trade transactions that are matched by the matching engine 60. In other embodiments, all communication from the matching engine 60 to and from the clearing system 64 will pass through the message engine 56.
In one aspect of an embodiment of the present invention, the message engine 56 validates the key information for trade transaction data that have been entered into the system 50, either directly or though a subsystem. For instance, the data identifying the parties must match party identifiers contained within the exchange databases. If key information is missing or entered using an invalid code, the message engine 56 will send the entering party an error message identifying the missing or incorrect data. Furthermore, the validation step verifies that the price data are valid for the particular financial instrument identified in the trade transaction data. This optional validation step only will make sure that the data are valid. Valid, but incorrect, data will still be processed. This incorrect data will possibly be corrected by one of the parties during the periods when the data, including key information, can be changed.
With reference to
At this point, the message engine 56 passes control to a block 104 that performs the optional data validation step discussed above. The trade transaction data are verified to make sure that the key information within the trade transaction data are valid entries. In addition, the message engine 56 may confirm that all identified parties are capable of sending and receiving electronic trade transaction data. Other data verifications can also be conducted at this point. Control then passes to a block 106 that sends a message to the other or opposing party or parties to the trade as identified by the key information data received by the block 100. This message will usually include all the key information relative to the trade transaction and may include other information referred to above. Control passes to a block 108 that monitors a message queue for a response message relative to the trade transaction data sent by the other or opposing party. Details relating to the monitoring conducted by the block 108 are discussed below relative to
In certain embodiments, this response message can be an acceptance of the trade transaction message generated by the block 106. In other embodiments, this response message also can be an independent recording of the trade transaction data by the other party. This can occur when parties on both sides of the trade transaction record the trade transaction data at roughly the same time. Based on the rules and business practices at certain exchanges, the system may be set up in certain embodiments to require that the seller always enter and record the trade transaction data. In this particular embodiment, the seller will not be able to accept trade transaction data that had been previously entered by the buyer. In other embodiments, the first person, either buyer or seller, to enter the trade transaction data becomes the initiating party and the other party can accept or link to the previously entered trade transaction data. Also, as discussed below, the acceptance of the trade transaction data can be automated, such that if there is a match to trade transaction data entered by the opposing party in that party's own input device, the device or computer can either suggest acceptance of a particular trade transaction or actually automatically link the incoming trade transaction data to previously entered trade transaction data in memory of the device without further interaction by the opposing party. The auto-linking feature is an option that the trader can set in that party's respective input device. Typically, the auto-linking feature will only automatically link trade transaction data that are a perfect match, that is, trade transaction data where all the key information is an exact match.
At this point, the message engine 56 in a block 110 sends the linked trade transaction data from the buyer and seller to the matching engine 60. In many instances, the trade transaction data sent to the matching engine 60 will be a linked trade transaction. However, the block 110 can also send unmatched trades to the matching engine 60. Control then passes to a block 112 that monitors communications received from the matching engine 60. If the matching engine 60 is able to match the trade transaction data, the matching engine will send a message confirming the match to the message engine 56. If the block 112 receives the match confirmation message from the matching engine 60, the control passes to a block 114 that sends a confirmation message to all of the parties to the trade transaction. Also, in certain embodiments, the message engine 56 will notify the clearing system 64 of the match. In other embodiments, the matching engine 60 will notify the clearing system 64 directly at the same time the match confirmation message is sent to the message engine 56.
As will be discussed more fully hereinafter, changes can be made to the key information prior to the trade transaction data being matched either by the matching engine 60 or by the clearing system 64. However, even after the trade transaction data are matched and the key information is locked, in some embodiments it is possible to enhance the trade transaction data with additional non-key information as is currently done by broker back office personnel. For instance, it is possible to add billing, and other similar information to the trade transaction data even after the trade transaction data have been matched. In addition, for some embodiments, the system 50 may allow a limited period of time after a trade transaction has been accepted or linked by the opposing party in the block 106 for either party to make changes to any data, including key information. If key information is changed, the message engine 56 will notify all parties to the trade transaction that key information has been changed and remove the trade transaction from the linked state. Typically, this limited period of time will be short, but long enough to allow a trader to realize that an acceptance of a trade transaction or other data have been entered incorrectly and easily rectify the error without requiring complicated mismatch procedures. For instance, where a party enters a valid but incorrect identifier for the opposing party and where that incorrect party inadvertently links to the trade transaction, either party for a short period of time can cancel the trade transaction or at least cancel the acceptance or link to the trade transaction. In addition, the initiating party can make a change to the opposing party identifier so that the proper opposing party is identified in the trade transaction data and that the proper opposing party can thereafter accept or link to the trade transaction. Because the exchange can monitor the intra-day activity, the exchange can audit these changes after linking to be sure that there is no abuse of the exchange rules and regulations.
In one embodiment of the system 50, the trader can make modifications or corrections to trade transaction data that they have entered into the system 50 or trade transaction data that have been entered on their behalf into the system 50. However, the ability to make changes is dependent on the state of the trade transaction in the system 50.
A particular trade transaction will remain in the Trade Linked state for only a limited predetermined period of time. Once this time period has elapsed without any changes made to the trade transaction data, the state then changes to a Trade Matched state. In the Trade Matched state, the trade transaction data are fixed and the key information can no longer be either modified or deleted by either party. However, non-key information can still be modified or enhanced as is currently done by many exchanges and clearing systems.
In the event that the trade transaction data are partially linked, the trade transaction data will go to the Trade Partially Linked state. In this state, the portion of the trade transaction data that have been linked are treated in the same fashion as the Trade Linked state above. In addition, the unlinked portion of the trade transaction data can still be changed or deleted. After the appropriate period of time has elapsed, the trade transaction data will move to the Trade Partly Matched state. The portion of the trade transaction data that have been matched are treated as a matched trade transaction so that the key information of that portion of the trade transaction data can no longer be changed or modified. The unmatched portion of the trade transaction is treated as if it is an unmatched trade transaction. This portion can be changed or even deleted. The remaining state, the Trade Timeout, allows the entering party to make modifications to the transaction or to delete the transaction entirely. It will be appreciated that because one objective of the system and method of the present invention is intra-trading day confirmation certainty, it should not be possible to delete or change key information for a matched trade transaction unless it has been determined that the match was made in error and both parties agree to an unmatch process. Non-key information, i.e., information that is not core to the nature of the trade transaction between the parties, can be modified, added or enhanced as can now be done in conventional systems. However, in the embodiment that uses the Trade Linked state, there will be a limited period of time after a trade transaction has been accepted or linked for any party to the trade transaction to correct errors, including errors in key information fields.
At this point, control passes to a block 134 that monitors for a response from the opposing party. It should be noted that in certain embodiments, the message engine 56 can be programmed to allow a surrogate or proxy that has been predesignated by a trader to accept trade transactions on behalf of that trader. This monitoring is done by a loop that passes through a block 136 that checks to see if a response has been received from the opposing party identified in the trade transaction data. If no response has been received, control will pass via the NO branch to a block 138 that checks to determine if the elapsed time since the trade transaction data were recorded has exceeded a preset timeout period. In some embodiments, the timeout period may be set to a relatively short period of time, such as 30 minutes. This period will provide the opposing party sufficient time to catch up if there has been a high level of activity and accept, link to or enter trade transaction data for trade transactions that have been made. A short timeout period will also encourage traders and brokers to promptly enter trade transaction data in a timely fashion so that there are a minimum number of trade transactions where the trade transaction data do not match. Also, by entering data quickly, the trade transaction can be confirmed in near real time so that the trader knows that the trade transaction has been confirmed and the risk of an out trade has been minimized, at least for that trade transaction. If the timeout period has not been exceeded, control will pass back to the block 134 that begins the monitoring loop anew. If the block 136 determines that a response has been received relative to the trade transaction data received in the block 130, control will pass via the YES branch to a block 140 that determines the nature of the response. If the response is an acceptance of the trade transaction, the block will branch via the YES branch to a block 142 that determines the nature of the acceptance. If the block 142 determines that the acceptance is a complete acceptance of the trade transaction data recorded in the block 130, control passes to a block 144 that sends the trade transaction data on to the matching engine 60 as a linked pair to be matched based on an intra-day matching algorithm to be more fully discussed hereinafter. Alternatively, the message engine 56 can perform limited matching for perfect matches that have been accepted by the other party and these matched trade transactions can be sent directly by the message engine 56 to the clearing system 64.
If the block 138 determines that the timeout period has been exceeded, control will pass via the YES branch to a block 146 that identifies the trade transaction as an unmatched trade transaction and sends the unmatched trade transaction to the matching engine 60. At some point during the day, the trade transaction data that remain as unmatched in the matching engine 60 will be forwarded on to the clearing system 64 for conventional end-of-day matching and balancing. If the block 140 determines that the response received is a rejection of the trade transaction, control will pass from the block 140 via the NO branch to the block 130. At this point the block 132 sends a message to the initiator indicating that the trade transaction was rejected. The trade transaction will go back to the block 134 that monitors for a further response. If no response is received during a new timeout period the block 138 will branch via the YES branch and the trade transaction will be marked by the block 146 as an unmatched trade transaction. Thereafter, the trade transaction data are sent on to the matching engine 60. In certain embodiments, if the rejected trade transaction data are not matched during the day, the rejected and still unmatched trade transaction data will also be forwarded on to the clearing system 64 for conventional end-of-day processing and matching. In other embodiments, the unmatched trade transaction data will be sent to clearing 64 prior to the end of the day.
If the block 142 determines that the acceptance is a partial acceptance of the trade transaction, control will pass via the NO branch to both the block 134 to continue to monitor for a response to the unaccepted portion of the trade transaction, and to a block 148 that sends the portion of the trade transaction that has been matched and accepted to the matching engine 60 as a linked pair of trade transaction data. For example, the trade transaction received in the block 130 has multiple opposing parties that each take a portion of the contracts the seller has to sell. Assume that the seller sells 20 contacts of September 2005 corn and Buyer A buys 7 contacts and Buyer B buys 13 contacts. When Buyer A accepts the 7 contract trade transaction, that partial trade transaction will be sent to the matching engine 60 as a linked pair. If Buyer B later accepts the 13 contacts, then those 13 contacts will be ultimately sent on to the matching engine 60 as a linked pair. However, if Buyer B does not respond within the timeout period or at all, the 13 contacts sold to Buyer B will be considered as an unmatched trade transaction and will be sent to the matching engine 60 for a possible later intra-day match and ultimately on to the clearing system 64 for conventional end-of-day processing. In a situation where the initiator enters an incorrect number of contracts or instruments, the other party can accept the number they believe to be accurate and reject the remainder. The rejected remainder will be considered as unmatched and the seller will be so notified. An example of this partial acceptance is the situation where initiator incorrectly enters 50 contracts, but the opposing party was only buying 15 contracts. In this situation, the opposing party will only accept the 15 contract portion of the trade transaction and the remaining 35 contract portion of the trade transaction ultimately will be sent to the clearing system 64 as an unmatched trade transaction. The initiator will be sent a message by the message engine 56 that only a portion of the trade transaction was accepted and linked.
FIGS. 5 to 10 show examples of certain aspects of the message engine 56, including examples of opposing parties linking to trade transaction data, an example of a change to trade transaction data while in the link state and an example showing a match where there is no actual acceptance or linking.
Sometime after the expiration of the initial timeout period, but before the expiration of the second timeout period as discussed above, a block 208 receives a message that the opposing party accepted the previously notified trade transaction using the opposing party's input device. Control will then pass to a block 210 that queries the message engine 56 to determine the current state of the trade transaction data the buyer has accepted. Because the trade transaction has initially timed out, the block 210 determines that the trade transaction is still in the Trade Unmatched state and the block 210 accepts the link from the opposing party to the trade transaction data entered by the initiator. Control will then pass to a block 212 that changes the state of the previously unmatched trade transaction data to Trade Linked, affixes a Deal ID to the linked trade transaction data, and sends the linked trade transaction data to the matching engine 60. Control also passes to a block 214 that sends a confirmation of the newly matched trade transaction to both the buyer and the seller. The block 212 also will pass control to a block 216 that matches the trade transaction data based on Deal ID and changes the state of the trade transaction to Trade Linked and then after a suitable period of time to Trade Matched. At this point, the trade transaction data are sent to the clearing system 64. Because trade transaction data will be sent to the clearing system 64 throughout the day, the matching engine 60 may also need to check with the clearing system 64 before a match is made with trade transaction data that has been previously sent to the clearing system 64 to be sure that the clearing system 64 has not already matched the trade transaction data with other trade transaction data.
In
After both the seller's trade transaction data and the buyer's trade transaction data are received by the matching engine 60 from blocks 238 and 242, a block 244 attempts to match the above referenced trade transaction data based on various criteria in the matching algorithm of the matching engine 60. In one embodiment of a matching algorithm, the first step in the matching algorithm is to group trade transactions in a hierarchical manner. The hierarchy is contract type, i.e., outright trades, spread trades, and SLEDS trades; then product, i.e., agricultural: corn; then contract type, i.e., futures or options; next for options is the type, i.e., put or call; then the contract date; and lastly the strike price. Using this approach, all outright trades for corn put options for December 2005 at 110 will be grouped for searching and matching. The second step is the actual matching algorithm. Initially the algorithm looks for perfect matches, that is, those trade transaction data where all the key information in two opposing trade transactions match exactly. The first pass in the matching algorithm is a match based on Deal ID. This is the case where the one party accepts a trade transaction initially entered by the opposing party. Here both sides to the trade transaction will have trade transaction data that have a matching Deal ID. The second pass in the algorithm is a match based on firm, acronym, time bracket, and quantity. The third pass is similar to pass two but for block trades. The fourth pass uses a secondary identity of the trading party, sometimes identified as MCR or modified contra reporting, acronym, time bracket and quantity. The fifth pass is similar to the fourth pass but for block trades, and the sixth pass performs a partial trade quantity match to link components of a larger trade transaction on one side to smaller individual trade transactions on the other side. If no match can be made, in certain embodiments, the trade transaction will be held for later matching and if unmatched at the end of the day or after a predetermined period of time, the trade transaction data will be forwarded on to the clearing system 64 for matching using the matching algorithms of the clearing system 64. In addition, other suitable matching algorithms or matching schemes can be used.
If the matching engine 60 finds a match based on the intra-day matching algorithm, control will pass back to the message engine 56 and a block 246 sends a confirmation message to both parties that the trade transaction has been matched. Because both parties had entered the trade transaction data, even though neither party acknowledged the trade transaction, the matching engine 60 is able to make an intra-day match and alert both parties that the trade transaction has been confirmed.
As shown in
At this point, the embodiment will operate as before. If the correct opposing party accepts the trade transaction, a block 316 that monitors the message queue will receive the acceptance message and pass control to a block 318 that sends the trade transaction data to the matching engine 60, and matches the trade transaction data. The message engine 56 also will assign a Deal ID to the linked trade transaction data. Control passes back to the message engine 56 and a block 320 sends the confirming message out to both correct parties. In the event that the opposing party does not accept within the timeout period but has previously entered correct trade transaction data for the trade transaction, the trade transaction will still be matched as in
If the incorrect opposing party accepts the incorrect trade transaction and if the trade transaction moves from the Trade Linked to the Trade Matched state, then the trade transaction will be considered as matched and neither party will be able to unilaterally change the trade transaction. In this case, the buyer and seller must agree to unmatch the trade transaction outside the system described here. After the trade transaction has been manually removed from the matched state, one party must reenter the trade transaction and indicate that this is a mismatched trade. By doing so, the trade will be properly accounted for in all the volume and other statistics that are maintained and published by exchanges. Once this has been done, the trade transaction can be matched or accepted in the normal course.
The embodiments of the present invention have been described primarily with respect to financial instruments traded on a single exchange. It is possible that the present invention can also be used to confirm trades on different exchanges or trade or financial instruments in different asset classes traded on a single exchange, such as a spread that includes a futures contract and an option. As exchanges continue to cooperate in the trading of financial instruments, it may be possible for traders to trade a single financial instrument that represents multiple financial instruments that are individually traded on separate exchanges in a face to face or similar non-anonymous environment.
This invention is useful in assisting trade exchanges and/or exchange users to save cost, increase speed and trade transaction processing, and manage risk. unconfirmed trade transaction data to the matching engine 60 with a Record ID and also to a block 308 that sends an advisory message to the initiator that the trade transaction has not yet been confirmed. At this point, the initiator realizes that an error has been made. Because the trade transaction is unmatched, the state of the trade transaction will be Trade New. This particular state allows either party to make modifications to all aspects of the trade transaction data, including key information, and therefore the initiator is able to correct the trade transaction data to reflect the correct identification of the opposing party. The trader records the changes in the trade transaction data and forwards the corrected trade transaction data to the message engine 56 where the corrected trade transaction data are received by a block 310. If the incorrectly identified opposing trader rejected the trade instead of ignoring the message, the message engine 56 will send a message to the initiating party that the trade has been rejected. Just as above, the initiating party can correct the identity of the opposing party and resubmit the trade transaction. This resubmission can be done either before or after the initial timeout period has expired.
The message engine 56 recognizes that the trade transaction data relate to a trade transaction that has a previously affixed Record ID and message engine 56 passes control to a block 312 that sends a message to the correct buyer. At the same time, the message engine 56 also passes control to a block 314 that removes the incorrect opposing party from the trade transaction data associated with the Record ID and also removes the trade transaction from the incorrect opposing party's computer. The trade transaction data with the incorrectly identified opposing party will also be removed from the matching engine 60. This step will make it less likely that the incorrect opposing party will attempt to link to the incorrect trade transaction data. The system 50 will also correctly identify and deal with a situation where the initiator even before the timeout period has elapsed realizes the error and makes the correction to the opposing party identification. In this case, the message engine 56 will immediately send a message on to the correct opposing party and also remove the trade transaction from the incorrect opposing party's computer lessening the opportunity for an incorrect acceptance of the trade transaction.
Numerous modifications to the present invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is presented for the purpose of enabling those skilled in the art to make and use the invention and to teach the best mode of carrying out same. The exclusive rights to all modifications which come within the scope of the appended claims are reserved.
This application claims the benefit of U.S. Provisional Application No. 60/621,781 filed Oct. 25, 2004, entitled “Trade Confirmation System,” and the benefit of U.S. Provisional Application No. 60/622,890 filed Oct. 28, 2004, entitled “Trade Confirmation System.”
Number | Date | Country | |
---|---|---|---|
60621781 | Oct 2004 | US | |
60622890 | Oct 2004 | US |