Patent Document

CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is related to U.S. Patent Application Nos. 09/801,490; 09/801,495; 09/801,583; 09/801,588; 09/801,848; 09/802,005; 09/802,025; 09/802,088, now U.S. Patent No. 7,383,220; 09/802,160; 09/802,161; 09/802,163; 09/802,169, now U.S. Patent No. 7,398,244; 09/802,223; 09/802,237; 09/803,615; 11/469,378; 11/469,385; 11/515,356; 11/515,230; 11/515,231; 11/515,502; 11/469,466; 11/469,470, now U.S. Patent No. 7,383,222; 11/514,714; and 11/515,362, all of which are owned by the assignee of the present application. 
     BACKGROUND OF THE INVENTION 
     The present invention relates to securities trading systems, and more particularly, is directed to a system for facilitating price improvement from a crowd of programs respectively representing orders. 
     Shares representing corporate securities and other fungible financial instruments are typically bought and sold between parties via a trading process in which the owner (seller) informs his or her broker that the owner is interested in selling shares, and the would-be owner (buyer) informs his or her broker that the would-be owner is interested in buying shares. 
     In the simplest cases, the owner tells the broker to sell a specified number of shares immediately at whatever price can be obtained; this is referred to as a “market” order. In a more sophisticated case, the owner tells the broker to sell according to certain predetermined terms and conditions. For example, the owner may specify the sale price, referred to as a limit price, and the order then being referred to as a “limit” order. The owner may also specify other terms, such as “all or none”, “fill or kill” and/or the contra-parties that the owner is willing to sell to. The buyer is able to give corresponding instructions to his or her broker. 
     Conventional centralized order matching systems are well suited for this type of order matching. Indeed, some large brokerage firms have sufficient order flow to match buy and sell orders in their own systems, without sending the order to a centralized system. For small orders, as measured by a suitable combination of number of shares and total value in dollars or other currency, the conventional order matching systems are cost-effective and are used to execute a large percentage of orders. 
     Conventional order matching systems are not used by the brokerage community for the overwhelming majority of medium and large size orders, as the brokerage community insists it can get better prices using human brokers, despite the larger commission costs. 
     Furthermore, in more challenging cases in the trading process, the owner advises the broker of how many shares the owner might be interested in selling, if the broker can get a “good price”. A buyer may indicate interest in a corresponding manner. This is not an order, but rather an expression of interest. Conventional order matching systems are transparent to this type of market pressure. However, human brokers are able to use such information to seek contra-parties, thus providing markets with more depth and liquidity. 
     It is desirable to provide an automated system in which shares may be traded with the flexibility present when human brokers are involved in the trade. 
     There are many marketplaces for trading financial instruments. In each of these marketplaces, to trade a new type of security, for example, futures on the outcome of a political election, or shares in the revenue produced by a football team, requires a costly set-up process wherein potential traders are apprised of the existence of the new instrument and its trading rules. 
     It is desirable to provide an automated system for trading new financial instruments, or for trading existing instruments according to a new procedure, that avoids the costly set-up process. 
     SUMMARY OF THE INVENTION 
     In accordance with an aspect of this invention, there is provided a method of setting a price for a security, comprising maintaining an order book including orders to buy or sell specified quantities of the security at respective prices, the lowest sell order price of the booked orders being the book sell price, the highest buy order price of the booked orders being the book buy order price, automatically engaging in a price discovery procedure before responding to a request for a current buy or sell price of the security to produce an automatically discovered price, and providing the automatically discovered price as the current buy or sell price, the automatically discovered price being better than the book buy or sell price. 
     In some cases, the price discovery procedure includes providing the book buy or sell price to at least one entity registered to participate in the price discovery procedure. The entity automatically provides an improved price relative to the book price based on a predetermined strategy that is determined independently of the strategies for other entities. The temporal duration of the price discovery procedure can be predetermined or based on an amount of activity occurring during the price discovery procedure. 
     In accordance with a further aspect of this invention, there is provided a method of providing a published price for a security. A set of entities is notified of a proposed price for buying or selling a pending number of shares of a security. The method automatically determines whether any of the entities has offered an improved price, and provides the improved price as the published price. 
     In some cases, when there is no improved price, the proposed price is provided as the published price. A decision is made to offer a proposed price when a current book price is different than a most recent trade price. 
     In accordance with another aspect of this invention, there is provided a method of participating in pricing of a security, comprising receiving a proposed price for a pending number of shares of the security, automatically determining whether to improve upon the proposed price, and when the determination is affirmative, offering an improved price. 
     It is not intended that the invention be summarized here in its entirety. Rather, further features, aspects and advantages of the invention are set forth in or are apparent from the following description and drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating ELF programs and an umpire program; 
         FIG. 2  is a flowchart depicting operation of an ELF program; 
         FIG. 3  is a flowchart depicting operation of an umpire program; 
         FIG. 4  is a diagram showing how  FIGS. 4A and 4B  are to be read together; and 
         FIGS. 4A and 4B  are a chart illustrating an example of operation of ELF programs and an umpire program. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A centralized order processing system includes two types of software programs that interact in real-time: ELF programs and umpire programs. An extended liquidity finder (ELF) program is created by a broker to represent his or her orders. An umpire program is created by a party to provide a service to ELF programs. For example, a trading umpire program may provide an electronic exchange to supervise interaction between ELF programs; a pricing umpire program may, in response to a request from an ELF program, provide a price for a security according to a proprietary pricing strategy; a regulatory umpire program may provide surveillance functions to an electronic marketplace, such as authorizing an order match for conversion into a trade; and so on. 
     Because each order is represented by a program, rather than merely by specified terms and conditions, substantial additional flexibility is provided relative to conventional order processing systems. The ELF program includes code for providing defined behavior and/or the ability to communicate with the broker that is represented by the ELF program. The strategy followed by an ELF program may be maintained fully or partially confidential, or fully or partially public, as determined by the broker that programs the ELF program. 
     Because the structure of the present system is available to each new umpire program, the set-up process for trading new financial instruments, or for trading existing instruments according to a new procedure, costs less than in conventional marketplaces. 
     An embodiment of the present trading system will now be described with reference to  FIGS. 1-3 , and an exemplary operation of this embodiment will be described with reference to  FIG. 4 . 
       FIG. 1  shows centralized trading system  5  in communication with computers  20 - 24  in the order rooms of respective brokers. Each of computers  20 - 24  is associated with a respective ELF program  10 - 14  via a communication channel such as a dedicated telephone line, a dial-up telephone line, a computer network, a wireless connection or other appropriate channel. Umpire program  30  is a trading umpire and has an associated order book stored in storage  31 . Regulatory umpire program  32  and theoretical price umpire program  33  are helper umpire programs for umpire program  30 . 
     Centralized trading system  5  comprises one or more general purpose computers programmed to execute ELF programs  10 - 14  and umpire programs  30 ,  32  and  33  and store associated data. 
       FIG. 2  is a flowchart illustrating actions that ELF programs  10 - 14  perform. In a set-up phase, discussed below, parameters and specific code for ELF programs  10 - 14  are provided and possibly published by the parties responsible for the ELF programs. 
     The ELF operation begins at step  100 . During operation, at step  105 , ELF program  10  registers with umpire program  30  to indicate that ELF program  10  is active. At step  110 , ELF program  10  requests a price from umpire program  30 . Each umpire program provides a price according to its own published procedures, discussed below. 
     At step  115 , ELF program  10  decides whether it will take the price from umpire program  30  and form a match with an order it is representing. Step  115  is shown with a bold outline, indicating that processing occurs according to a customized strategy defined by the broker that is responsible for ELF program  10 . If ELF program  10  wishes to form a match at the quoted price, then at step  120 , umpire program  30  takes appropriate action to convert the matched orders into a trade, as discussed below, and if ELF program  10  wishes to find another match, processing returns to step  110 , wherein ELF program  10  requests a current price from umpire program  30 . 
     If, at step  115 , ELF program  10  decided not to form a match at the price from umpire program  30 , then processing proceeds to step  125 , wherein ELF program  10  decides whether to submit all or part of its order to umpire program  30  for placement in the order book of umpire program  30 . Step  125  is shown with a bold outline, indicating that processing occurs according to a customized strategy defined by the broker that is responsible for ELF program  10 . If the entire order is left with umpire program  30 , then processing proceeds to step  170 , wherein ELF program  10  deregisters with umpire program  30 . The order is booked and the processing is completed at step  175 . 
     If, at step  125 , ELF program  10  decided to continue representing at least part of its order, then at step  130 , ELF program  10  “joins the crowd” at umpire program  30 , that is, it remains registered at umpire program  30  and available for activity notification from umpire program  30 . It will be appreciated that ELF program  10  may be simultaneously registered at multiple umpires, corresponding to representing its order in multiple markets, but this example is concerned with only umpire program  30 . 
     At step  135 , an activity notification occurs, specifically, umpire program  30  notifies ELF program  10  that, in response to a price request from another ELF program, umpire program  30  is about to change its price to a new price in accordance with the published price movement strategy of umpire program  30 . 
     At step  140 , ELF program  10  decides whether it wishes to improve upon the new price proposed by umpire program  30 . Step  140  is shown with a bold outline, indicating that processing occurs according to a customized strategy defined by the broker that is responsible for ELF program  10 . If not, then processing returns to step  130  and ELF program  10  continues to be in the crowd for umpire program  30 . 
     If, at step  140 , ELF program  10  decided that it should provide an improved price, then at step  145 , ELF program  10  offers a better price to umpire program  30 . As discussed below, umpire program  30  receives this price, possibly along with other prices from other ELF programs in its crowd, and eventually provides a price to the requesting ELF program. 
     At step  150 , ELF program  10  determines whether the price provided by ELF program  10  has resulted in an order match using the published strategy of umpire program  30 . If not, then processing returns to step  125 . 
     If it is determined at step  150  that the improved price from ELF program  10  resulted in an order match, then at step  155 , ELF program  10  determines whether it has any more share volume remaining in its original order. If not, then processing proceeds to step  160  where the ELF program  10  deregisters with the umpire program  30 , and at step  165 , the ELF operation ends with the order fully matched. If so, then processing returns to step  130 . 
     It will be seen that the benefit of putting an order in the book of umpire program  30  is that when the price changes, the booked orders have execution priority. However, the benefit of not putting an order in the book of umpire program  30  is that the existence and size of the order remains secret. 
     The strategy of an ELF program may depend on one or more of the following factors:
         the size of the crowd at umpire program  30  and/or who is in the crowd, if an ELF program chooses to identify its responsible broker,   previous prices,   a theoretical price from theoretical price umpire  33 ,   what is in the book, to the extent that an umpire reveals its book,
 
and so on.
       

       FIG. 3  is a flowchart illustrating actions that trading umpire program  30  performs. In a set-up phase, discussed below, parameters and specific code for umpire program  30  are provided and possibly published by the party responsible for the umpire program. 
     Umpire program  30  simultaneously performs two types of functions: maintaining its order book, and managing the crowd of ELF programs registered therewith. Umpire program  30  may be configured as a multi-threaded program, with one thread for its book processing and a separate thread for each ELF program registered therewith. Other suitable programming structures will be apparent to those of ordinary skill. 
     Maintaining the order book will now be discussed. 
     The umpire operation begins at step  200 . At step  205 , umpire program  30  receives an order for its order book from an ELF program. At step  210 , umpire program  30  determines whether this order can be matched with any other orders in the book according to a strategy published by the creator of umpire program  30 . If a match cannot be formed, then at step  215 , the received order is stored in the order book and ends at step  220  with the order booked. If a match can be formed, then at step  225 , umpire program  30  takes appropriate action to report the trade and the order match ends at step  230 . Another aspect of book management is removing orders from the book as they are matched with orders from the crowd; this is not shown, and is well understood to those of ordinary skill in the art. 
     Managing the crowd of registered ELF programs will now be discussed. 
     At step  235 , umpire program  30  receives a registration from ELF program  10 . At step  240 , ELF program  10  inquires what the current price is. Umpire program  30  responds to a price request according to its published strategy. For this example, the price provision procedure is as shown in steps  245 - 265 , indicated by a dashed line in  FIG. 3  and discussed below, but other strategies may be used. 
     At step  270 , umpire program  30  determines whether there is a match, that is, whether ELF program  10  has taken at least one price provided by umpire program  30 . If there is no match, that is, ELF program  10  has not taken the offered price, then processing proceeds to step  275 , wherein ELF program  10  “joins the crowd” at umpire program  30 , that is, it remains registered at umpire program  30  and available for activity notification from umpire program  30 . Umpire program  30  keeps ELF program  10  in its crowd until, at step  285 , umpire program  30  receives a deregistration notice from ELF program  10 , at which point processing for ELF program  10  is completed at step  290 . It will be appreciated that, at any time while ELF program  10  is in the crowd for umpire program  30 , ELF program  10  may book an order with umpire program  30 . A booked order may be all or part of the order represented by ELF program  10 . 
     If at step  270 , umpire program  30  determines that a match has been formed, then at step  280 , umpire program  30  takes appropriate action to report the trade, and processing proceeds to step  275 . 
     The price provision procedure for umpire program  30  will now be discussed. 
     During set-up of umpire program  30 , its price provision procedure is selected and published by the creator of umpire program  30 . During set-up of the ELF programs, the price provision strategy of the umpires they interact with is obtained. Accordingly, an ELF program asking an umpire program for a price understands the nature of the information being provided by the umpire program, and ELF programs in the crowd of an umpire program can properly participate in price setting. 
     At step  245 , umpire program  30  has received the price request that ELF program  10  issued at step  240 . Umpire program  30  first determines whether the available price based on its booked orders is the same as the price at which the most recent match occurred. If so, then at step  265 , umpire program  30  provides a price to ELF program  10  based on its book. In some embodiments, umpire program  30  may provide a list of all or part of the booked orders, or a summary showing booked share volume at each price or at prices near the available price. 
     However, if at step  245 , umpire program  30  determines that the available price based on its booked orders is the different than the price at which the most recent match occurred, then at step  250 , umpire program  30  notifies its crowd of ELF programs of what its proposed new price will be. At step  255 , umpire program  30  determines whether any of the ELF programs in its crowd are willing to provide a better price. In some cases, multiple ELF programs may be willing to provide a better price, and so umpire program  30  selects one of the ELF programs based on its published price provision strategy. If none of the ELF programs in its crowd are willing to provide a better price, then processing proceeds to step  265 , and the proposed price based on the booked orders is provided. 
     However, if at step  255 , umpire program  30  determines that a better price is available from its crowd of ELF programs, then at step  260 , umpire program  30  provides the price from the ELF program in the crowd to ELF program  10 . 
     It will be appreciated that different ELF programs can readily use different strategies to provide price improvement to expeditiously execute their own orders. The ELF programs can make more informed decisions than brokers in a crowd, because the ELF programs can be in real-time communication with many data sources, both present in the marketplace of trading system  5  and external to trading system  5 . Alternatively, an ELF program may merely present its universe of information to a remote trader; the remote trader can be electronically “present” in many markets simultaneously. 
     An example of a set-up phase for ELF programs  10  and  13 , and umpire program  30  will now be provided. It will be appreciated that a wide variety of strategies may be used. When a broker wishes to try several markets for the same order, the broker is responsible for ensuring co-ordination of ELF programs to avoid multiple executions of the same order. 
     During a set-up phase, the owners of the ELF and umpire programs decide
         the program&#39;s strategy,   how much of the strategy will be public   for an ELF program, the umpire program(s) it may register at, and who is (or is not) an acceptable trading partner, and   for an umpire program, the ELF programs that are (or are not) acceptable.
 
As shown in  FIG. 1 , ELF programs  10 ,  11 ,  13  and  14  are approved for registration at umpire program  30 , but ELF program  12  is not allowed to register at umpire program  30 . Let it be assumed that all ELF programs are willing to trade with each other.
       

     In this example, umpire program  30  is a book umpire, meaning it maintains a file (book) of orders left by ELF programs for execution by the umpire program. It will be appreciated that a special ELF program may be used to represent an external market to increase the market depth. The price provision strategy of umpire program  30  is to give all registered ELF programs a copy of the book when they register; and in response to a request, to provide a firm price quote within one second. Partial matches at the quote are allowed. More specifically, if the book price is the same as the last match price, then umpire program  30  provides the book price as its quote. However, if the best book price is different than the last match price, then umpire program  30  notifies its crowd that it is about to offer a changed price, and will take the first improved price provided within one second. Additionally, umpire program  30  does not allow an ELF program to “walk the book”, instead, umpire program  30  requires clean-up pricing, described in detail below. 
     In this example, ELF program  10  is assumed to represent an order to BUY 100,000 shares of the security being traded at umpire program  30 .
         ELF program  10  will not take the first price offered by umpire program  30 ; this is an “I can get you a better price” strategy.   ELF program  10  will initially book 5,000 shares at two whole points below the quote, and will book when less than 10,000 of its shares are unmatched at a price of 0.5 points below its last execution.   The price improvement strategy of ELF program  10  is: (i) when the umpire&#39;s proposed price is at least 0.3 different than the last execution price, offer a price that is 0.1 better than the proposed price; or, (ii) if ELF program  10  offered an improved price in the last match, and can offer that price again as an improvement, then do so.       

     In this example, ELF program  13  is assumed to represent an order to SELL 50,000 shares of the security being traded at umpire program  30 .
         ELF program  13  will take the first price offered by umpire program  30 , and until its order is matched, will take the next two prices offered by umpire program  30 , then pause and wait for new instructions from computer  23 ; this is a “hurry and sell” strategy.   ELF program  13  will never book any of its shares.   The price improvement strategy of ELF program  13  is: do not improve the price.       

       FIG. 4  is a diagram depicting how  FIGS. 4A and 4B  are to be read together.  FIGS. 4A and 4B  are henceforth referred to as  FIG. 4 . 
     At time  300 , the book is as shown in  FIG. 4 . Let it be assumed that the previous match was a match at a price of 17. 
     At time  302 , ELF program  10  establishes communication with umpire program  30 . At time  304 , ELF program  10  registers with umpire program  30  as a buyer. At time  306 , ELF program  10  requests a price quote. Umpire program  30  determines that its last match price (17) is different than the sell price of the book (18), then determines that no one else is in the crowd, so at time  308 , umpire program  30  provides the book price as its quote:
         sell 400@18
 
At time  310 , ELF program  10  declines the price quote according to its strategy, and books 5000 shares at two points below the quote, that is, at a price of 16. Accordingly, at time  312 , the book is as shown, specifically, the order volume at 16 has increased by 5000 shares.
       

     The steps of the flowcharts of  FIGS. 2 and 3  executed during the above-described actions are shown in Table 1. 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 ELF 10 
                 umpire 30 
                 ELF 13 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 time 304 
                 step 105 
                 step 235 
                   
               
               
                   
                 time 306 
                 step 110 
                 step 240 
               
               
                   
                 time 308 
                 step 110 
                 step 265 
               
               
                   
                 time 310 
                 step 125 
                 step 205 
               
               
                   
                 time 312 
                 step 130 
                 step 215 
               
               
                   
                   
               
             
          
         
       
     
     At time  314 , ELF program  13  establishes communication with umpire program  30 . At time  316 , ELF program  13  registers with umpire program  30  as a seller. At time  318 , ELF program  13  requests a price quote. Umpire program  30  determines that its last match price (17) is the same as the buy price of the book, so at time  320 , umpire program  30  provides the book price as its quote:
         buy 2000@17
 
Following its strategy, at time  322 , ELF program  13  takes this price, thereby forming a match. Accordingly, at time  324 , the book is as shown, specifically, the order volume at  17  is gone.
       

     The steps of the flowcharts of  FIGS. 2 and 3  executed during the above-described actions are shown in Table 2. 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                 ELF 10 
                 umpire 30 
                 ELF 13 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 time 316 
                   
                 step 235 
                 step 105 
               
               
                   
                 time 318 
                   
                 step 240 
                 step 110 
               
               
                   
                 time 320 
                   
                 step 265 
                 step 110 
               
               
                   
                 time 322 
                   
                 step 280 
                 step 115 
               
               
                   
                   
               
             
          
         
       
     
     At time  326 , ELF program  13  requests a price quote. Umpire program  30  determines that its last match price (17) is different than the new buy price of the book (16.8), and at time  328 , notifies the crowd, that is, ELF program  10 , of its proposed new price. Following its strategy of being silent when the proposed price is less than 0.3 points different than the previous price, ELF program  10  does not offer its own price. So at time  330 , umpire program  30  provides the book price as its quote:
         buy 400@16.8
 
Following its strategy, at time  332 , ELF program  13  takes this price, thereby forming a match. Accordingly, at time  334 , the book is as shown, specifically, the order volume at 16.8 is gone.
       

     The steps of the flowcharts of  FIGS. 2 and 3  executed during the above-described actions are shown in Table 3. 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 ELF 10 
                 umpire 30 
                 ELF 13 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 time 326 
                   
                 step 240 
                 step 110 
               
               
                   
                 time 328 
                 step 135 
                 step 250 
                 step 110 
               
               
                   
                 time 330 
                   
                 step 265 
                 step 110 
               
               
                   
                 time 332 
                   
                 step 280 
                 step 115 
               
               
                   
                   
               
             
          
         
       
     
     At time  336 , ELF program  13  requests a price quote. Umpire program  30  determines that its last match price (16.8) is different than the new buy price of the book (16.4), and at time  338 , notifies the crowd, that is, ELF program  10 , of its proposed new price and volume. Following its strategy of improving the price when the proposed price is at least 0.3 points different than the previous price, at time  340 , ELF program  10  offers its own price of 16.5. So at time  342 , umpire program  30  provides the price from ELF program  10  as its quote:
         buy 21,000@16.5
 
Following its strategy, at time  344 , ELF program  13  takes this price, thereby forming a match.
       

     The steps of the flowcharts of  FIGS. 2 and 3  executed during the above-described actions are shown in Table 4. 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 4 
               
               
                   
                   
               
               
                   
                 ELF 10 
                 umpire 30 
                 ELF 13 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 time 336 
                   
                 step 240 
                 step 110 
               
               
                   
                 time 338 
                 step 135 
                 step 250 
                 step 110 
               
               
                   
                 time 340 
                 step 140 
                 step 255 
                 step 110 
               
               
                   
                 time 342 
                   
                 step 260 
                 step 110 
               
               
                   
                 time 344 
                   
                 step 280 
                 step 115 
               
               
                   
                   
               
             
          
         
       
     
     At time  346 , ELF program  13  requests a price quote. Umpire program  30  determines that its last match price (16.5) is different than the new buy price of the book (16.4), and at time  338 , notifies the crowd, that is, ELF program  10 , of its proposed new price and volume. Following its strategy of improving the proposed price at its last match price, at time  350 , ELF program  10  offers its own price of 16.5. So at time  352 , umpire program  30  provides the price from ELF program  10  as its quote:
         buy 21,000@16.5
 
Following its strategy, at time  354 , ELF program  13  takes this price, thereby forming a match.
       

     The steps of the flowcharts of  FIGS. 2 and 3  executed during the above-described actions are shown in Table 5. 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 5 
               
               
                   
                   
               
               
                   
                 ELF 10 
                 umpire 30 
                 ELF 13 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 time 346 
                   
                 step 240 
                 step 110 
               
               
                   
                 time 348 
                 step 135 
                 step 250 
                 step 110 
               
               
                   
                 time 350 
                 step 140 
                 step 255 
                 step 110 
               
               
                   
                 time 352 
                   
                 step 260 
                 step 110 
               
               
                   
                 time 354 
                   
                 step 280 
                 step 115 
               
               
                   
                   
               
             
          
         
       
     
     At time  356 , ELF program  13  requests a price quote. Umpire program  30  determines that its last match price (16.5) is different than the new buy price of the book (16.4), and at time  358 , notifies the crowd, that is, ELF program  10 , of its proposed new price and volume. Following its strategy of improving the proposed price at its last match price, at time  360 , ELF program  10  offers its own price of 16.5. So at time  362 , umpire program  30  provides the price from ELF program  10  as its quote:
         buy 21,000 @16.5       

     Following its strategy, at time  364  ELF program  13  takes this price for its remaining 5,600 shares, thereby forming a match. ELF program  13  has now sold all of the shares in its order, so at time  366 , ELF program  13  deregisters as a seller in the crowd for umpire program  30  and completes its operation at time  368 . 
     The steps of the flowcharts of  FIGS. 2 and 3  executed during the above-described actions are shown in Table 6. 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 6 
               
               
                   
                   
               
               
                   
                 ELF 10 
                 umpire 30 
                 ELF 13 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 time 356 
                   
                 step 240 
                 step 110 
               
               
                   
                 time 358 
                 step 135 
                 step 250 
                 step 110 
               
               
                   
                 time 360 
                 step 140 
                 step 255 
                 step 110 
               
               
                   
                 time 362 
                   
                 step 260 
                 step 110 
               
               
                   
                 time 364 
                   
                 step 280 
                 step 115 
               
               
                   
                 time 366 
                   
                 step 285 
                 step 160 
               
               
                   
                   
               
             
          
         
       
     
     As illustrated by the price improvement strategy of ELF program  10 , an ELF program&#39;s strategy can be a series of rules or conditions that collectively operate in pachinko fashion (a Japanese game wherein a ball is rolled down a board until it finds a hole of the proper size to go into). 
     The price improvement achieved in the example of  FIG. 4  will now be quantified. 
     When ELF program  10  arrived at umpire program  30 , the book was as shown at time  300 . To match its BUY 100,000 share order, ELF Program  10  would have taken shares at prices from 18 through 19. Taking each of the booked orders at its limit price (“walking the book”) causes a price disadvantage for the sell orders at the best price (18) relative to the orders at the clean-up (furthest from market) price (19), which is contrary to the priority an order should get for being exposed to the public in the book. Accordingly, as published during set-up, umpire program  30  requires clean-up pricing, meaning that ELF program  10  would have to take the clean-up price for all of its shares, to prevent disadvantage to the order booked at the best price. Thus, the book price for ELF program  10 &#39;s entire order would have been 19. As seen from the example in  FIG. 4 , ELF program  10  has so far bought 47,000 shares at 16.5, which is a dramatically better price than 19. 
     When ELF program  13  arrived at umpire program  30 , the book was as shown at time  312 . To match its SELL 50,000 share order, ELF program  13  would have taken shares at prices from 17 through 15.9. Since umpire program  30  requires clean-up pricing, the book price for ELF program  13 &#39;s entire order would have been 15.9. As can be seen from the example in  FIG. 4 , ELF program  13  sold at an average price of: 
                     (     2   ⁢     ,     ⁢   000     )     ⁢     (   17   )       +       (   400   )     ⁢     (   16.8   )       +       (     47   ⁢     ,     ⁢   600     )     ⁢     (   16.5   )           50   ⁢     ,     ⁢   000       =   16.5224         
As can be seen, ELF program  13  obtained an improved price of 16.5224 relative to the book price of 15.9.
 
     Although an illustrative embodiment of the present invention, and various modifications thereof, have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to this precise embodiment and the described modifications, and that various changes and further modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.

Technology Category: 3