WO2000048113A1 - Processing orders to a computerized trading market - Google Patents

Processing orders to a computerized trading market Download PDF

Info

Publication number
WO2000048113A1
WO2000048113A1 PCT/US2000/003597 US0003597W WO0048113A1 WO 2000048113 A1 WO2000048113 A1 WO 2000048113A1 US 0003597 W US0003597 W US 0003597W WO 0048113 A1 WO0048113 A1 WO 0048113A1
Authority
WO
WIPO (PCT)
Prior art keywords
orders
trading
order
items
credit limit
Prior art date
Application number
PCT/US2000/003597
Other languages
French (fr)
Other versions
WO2000048113A9 (en
Inventor
Wallace W. Johnston
Andrew W. Howieson
Kerry R. Yndestad
Edward C. Gillot
Original Assignee
State Street Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Street Corporation filed Critical State Street Corporation
Priority to AU33620/00A priority Critical patent/AU3362000A/en
Publication of WO2000048113A1 publication Critical patent/WO2000048113A1/en
Publication of WO2000048113A9 publication Critical patent/WO2000048113A9/en

Links

Classifications

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

Definitions

  • This invention relates generally to computerized trading markets and, more particularly, to processing trading orders for a computerized trading market.
  • the invention provides a computerized method of processing a plurality of trading orders from one or more traders at one or more trading entities.
  • Each order includes one or more offers from an associated trader to buy or sell items.
  • the method includes receiving a plurality of orders during a preselected period and determining (1) whether any of the received orders do not have a set of one or more matching contra trading partners among other received orders ("non-contra orders"), and then (2) determining which of the remaining orders offer to trade in excess of a credit limit for a firm ("firm excess-limit orders"), individual traders ("trader excess-limit orders"), or a broker (“broker excess-limit orders").
  • the trading firm may include any trading entity, whether partnership, corporation, sole proprietorship, or other legal form.
  • the method also includes processing the received orders which remain after pruning to determine trading quantities and values to assign to the offers therein. Pruning of excess- limit orders after pruning for non-contra orders may be performed in several sequences, but a
  • the method may also reduce the credit limit assigned to a trader's firm by the price of the trading quantities assigned to the trader's order.
  • a method, system, or computer program processes a plurality of trading orders, each order including one or more offers to buy or sell items, by receiving a plurality of orders during a preselected period; pruning a first portion of the received orders not having a contra trading order among the other received orders; pruning a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded; and processing the received orders remaining after pruning the first and second portions to determine trading quantities and prices to assign to the offers therein.
  • This aspect of the invention may further include pruning a third portion of the received orders in response to orders remaining after pruning the second portion not having contra trading order among the other received orders, and the credit limit may be one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
  • the invention provides a method of submitting and validating a trading order to an automated trading market.
  • the order provides an offer value for each item therein.
  • the method includes receiving the order at the interface and computing a collar value range for the items of the order.
  • the range for each item has a width or span determined by a collar value and is located about a reference value for the item.
  • the method includes comparing the offer price for each item to the associated collar value range and alerting the trader in response to an offer price being outside of the associated collar value range.
  • the reference values of the items are prices assigned to the items by an external source of price information.
  • the reference values of items may be the values of the items expressed in terms of a percentage of par value, yield, or any other value variable used by persons of skill in the art.
  • the method also includes submitting the order to a processor module.
  • the processor module determines trading quantities and trading prices for the items whose offer values are within the associated collar value ranges.
  • the method further includes receiving a revised order in response to alerting the trader that an offer price is outside of the associated collar value range.
  • Such an offer price may be modified to be within the collar value range in the revised order.
  • the trader may also deactivate the collar value range for the revised order.
  • the method includes processing the order according to an algorithm for a single price call auction market to determine the trading quantities and prices of the items offered therein.
  • the invention may also be used in conjunction with pricing algorithms for other types of markets, such as one sided, bilateral, and multilateral trading markets.
  • the invention provides a computerized method of processing a plurality of trading orders. Each order includes one or more offers from a trader to buy and/or sell items. The method includes receiving a plurality of orders during a preselected period and pruning a portion of the received orders not having a contra trading partner among other received orders, and then pruning orders that exceed set credit limits. The method also includes processing the received orders remaining after the pruning to determining trading quantities and values to assign to the offers therein. In a fourth aspect, the invention provides a computerized method of preparing trading orders for submission to a two-sided automated call auction market. Each order includes one or more offers from a trader to buy and/or sell items.
  • the method includes receiving a selection for an order type from a trader, providing an interface to the trader, receiving the completed order from the interface, and transmitting the order to the automated call market to determine the trading quantities and prices to assign to the offers of the order.
  • the interface is capable of accepting an order of the requested type.
  • the completed order lists types of items offered along with associated offer values and offer quantity ranges.
  • the invention also includes data storage media encoding programs readable and executable by computers.
  • the storage media may be read only memories, magnetic and optical disks, hard disks, and random access memories.
  • the programs have instructions for performing one or more of the above-described methods.
  • the invention includes a computerized system for performing one or more of the above-described methods.
  • At least a portion of the orders are received from a wide area network, such as the Internet.
  • FIG. 1 shows a network system for trading items on a two-sided automated market.
  • FIG. 2 is a flow chart illustrating a method of preprocessing received trading orders with the system of FIG. 1.
  • FIG. 3 A shows a screen for selecting an order-type.
  • FIG. 3B shows an order-creation screen for an exemplary single item order.
  • FIG. 3C shows a portion of an order-creation screen completed according to a provided liquidity strategy.
  • FIG. 3D shows an order creation screen for an exemplary proportional order.
  • FIG. 3E shows a portion of a order creation screen for a proportional order, which lists offered securities.
  • FIG. 3F is a portion of an order creation screen of an indifferent order, which lists offered securities.
  • FIG. 4 is a flow chart illustrating a method of pruning the orders of a call prior to submitting the call for determining trading quantities and prices.
  • FIG. 5 is a flow chart illustrating the method used in FIG. 4 to determine whether to prune a selected order.
  • FIG. 6 is a flowchart for a method of using a collar value for the error criteria in the method of FIG. 2.
  • Like reference symbols in the various drawings indicate like elements.
  • Embodiments of the invention relate to automated markets in which traders participate in two-sided trading of items.
  • the items are tradable together on a single market.
  • the traded items may be securities, futures, fixed income security instruments (e.g., treasury instruments, agency instruments, corporate instruments, mortgage pool securities, ARMs, collateralized mortgage obligations, whole loan securities, and asset backed securities), commodities, or agricultural products.
  • the illustrated market is a single price call auction market in which offers to buy and/or sell are received from traders during a call period. At the end of the call period, an automated system matches up trading quantities from "contra" (i.e., buy/sell) offers between sets of at least two traders at common trading prices.
  • a sell offer of 4 units of item A may be matched to a first buy offer for 3 units of item A and a second buy offer of 1 unit of item A.
  • the end of the call period aggregates the trading interests of the traders at a single point in time.
  • Multi-item orders are either "proportional" or "indifferent” orders that enable traders to benefit from the value of trading several types of items in parallel.
  • Proportional orders offer to trade selected percentage mixtures of several types of items, thereby enabling a trader to obtain a desired portfolio mixture of items.
  • Indifferent orders offer several types of items in indifferent mixtures limited by trading cash amounts.
  • Logical groupings condition the trading of pairs of orders upon logical constructions (e.g., AND, OR, XOR, etc.) so that the trader has further control over order execution.
  • the market processes each multi-item order as a unit.
  • FIG. 1 illustrates a system 5 for the automated market.
  • the system 5 includes a server 8 and remote trading stations 10-12.
  • the server 8 may include several processors (not shown) coupled together.
  • Each trading station 10-12 has a display screen 14-16 controlled by a computer 18-20 running a graphical user trading interface (GUTI) program.
  • the computer 18-20 has an internal memory 22-24 for storing the GUTI program and a network interface program.
  • the network interface program of each trading station 10-12 supports communications with the server 8 via a wide area network (WAN) 26, including the Internet.
  • the server 8 provides traders with information for formulating orders and processes orders submitted during the call period. Traders can access information on securities in a central database 28 and access software applications in a central storage unit 30. The applications can search the database 28 for data on selected securities.
  • Such data may include, e.g., reference values, calculate real-time values of securities, derived values of securities, calculate quantities for swaps, etc.
  • the server 8 also processes, or directs the processing of, submitted orders to form trades by matching up common quantities of securities at a single price between pairs of traders.
  • the GUTI program of each computer 18-20 supports both submitting orders to and requesting and receiving trading information from the server 8.
  • a suitable GUTI program is packaged in a commercially available global graphical user interface (GUI), the TELERATE PLUS interface, from Bridge Information Systems.
  • FIG. 2 is a flowchart that illustrates a method 40 for preprocessing an order from a trader using the GUTI program of one of the remote trading stations 10-12.
  • the GUTI program on a local trading station 10-12 presents a trader with an order-type selection screen 42, an example of which is shown in FIG. 3 A (step 44).
  • the trader enters a selection of a desired order-type on the screen 42.
  • the local trading station 10-12 receives the selection of an order-type (step 45).
  • the example order type selection screen 42 includes buttons 51- 53, 51'-53 ⁇ 51 "-53" for selecting an order type.
  • blocks 46-48 indicate whether the order is a buy, sell, or a swap (i.e., an order including both a buy and a sell).
  • a trader may use the nine buttons 51-53, 51'-53', 51"-53" to select a single security order, a proportional order, or an indifferent order for a buy, sell, or swap transaction.
  • the order-type selection screen 42 also has a pair of buttons 49, 50 for logically linking orders through a logical AND or a logical OR construction. Other logical functions (e.g., XOR) may also be provided.
  • buttons are shown in the example, other types of interface controls (e.g., check boxes, switches, etc.) may be used to indicate selections by a user.
  • the GUTI program in response to receiving the selection of the order type, provides the trader with an order creation screen for creating an order of the selected type (step 54).
  • the trader fills in the order creation screen, and the local trading station 10-12 receives the order inputs as they are entered by the trader (step 56).
  • FIG. 3B shows a completed order creation screen 57 for a single item order.
  • the screen 57 has various text or list control boxes 58-60, 62-63 and "radio buttons" (i.e., mutually exclusive choices) 61 that the trader may fill in different sequential orders to create an order. For example, a trader enters identifying information for the security to be traded in a set of boxes 58 and enters offering price information in a control group 59. Since the GUTI program accepts several pricing formats for fixed income securities, the trader must specify the pricing format in control group 59.
  • the price formats may include, for example, an actual price, a yield, a discount rate, a nearest treasury spread, an interpolated treasury spread, an on-the-run treasury spread, a discount margin for floating rate bonds, and an index spread or BEEM for ARMs.
  • the trader also selects a settlement broker for the transaction in control box 60.
  • the selected settlement broker will have previously made a contract with the trader's firm, i.e., a firm may have one or more traders.
  • the contract includes procedures to establish a trading credit limit.
  • the broker has made the credit limit known to the system server 8 operating the call market.
  • the trader's firm may have agreements with one or several of the brokers that the system 5 accepts as settlement brokers for trades arranged therein.
  • the trader also selects a level of disclosure for information made available to other traders about the trader's order. To select the disclosure level, the trader chooses one of the radio buttons 61.
  • the various disclosure-levels preferably reveal only one of: the identity of the security; the identity of the security and the side (i.e. , buy or sell); or the identity of the security, the side, and the quantity offered.
  • the server 8 continually updates information on orders that have been submitted during a call period.
  • the submitted order information disclosed is available to all traders via the traders' local GUTI programs.
  • the GUTI program retrieves the submitted order information from the server 8 in response to the trader using a control tab 73 on the screen 57.
  • the submitted order information which is available to other traders, only includes trading quantities that are aggregated over all submitted orders. Thus, the disclosed information does not jeopardize a trader's anonymity as to the trader's individual orders.
  • the trader can also use the control tab 73 to learn aggregated results from the trade.
  • the aggregated results include the total trading quantities and the trading prices of each traded security.
  • the trader may also select one of a number of trading strategies by making an entry in control box 62.
  • a base strategy enables the trader to select a quantity range for the offered securities.
  • An "all or nothing” strategy enables the trader to select a specified single quantity and a price at which each security of the order must trade if the order trades at all.
  • An “aggressive” strategy enables the trader to select to trade at more competitive prices in response to more of the offer trading.
  • a "break for gains” strategy enables the trader to request that a multi-item order break apart so that only a portion of the order trades if trading only the portion will increase the trader's gain.
  • the GUTI program In response to receiving the selection of a trading strategy, the GUTI program provides a set of control boxes 63 in which the trader enters trading quantities For example, the base strategy shown in screen 57 enables the trader to enter a maximum fill quantity and a minimum fill quantity in the control boxes 63. In general, the form of the control boxes 63 depends on the selected trading strategy in the control box 62 and on the order type.
  • FIG. 3C illustrates a portion 65 of an example order creation screen produced by selecting another strategy, labeled "provide liquidity," in the control box 62.
  • the trader can select three steps 1, 2, 3 for the quantity traded in the set of control boxes 63.
  • the trader enters an associated price 1, 2, 3 in the price control group 59.
  • the trader can offer a higher sell price if more of the trader ' s securities sell and a lower buy price if the order is allocated more securities to buy.
  • control boxes 63 again enable the trader to select price steps for the quantity traded in the aggressive strategy.
  • the aggressive strategy allows a user to express a willingness to sell at lower values or. conversely, to buy at higher values in exchange for receiving a larger quantity execution.
  • the local trading station 10-12 pre-processes the inputs to determine whether the order satisfies predetermined error criteria (step 66).
  • the trading station 10-12 preferably provides the trader with a "valid" signal, e.g., by way of an indicator 68 on screen 57 (step 70).
  • the GUTI program provides the user with an "execute” or "enter” control enabling the trader to submit the order or a combination of the present order and previously created orders.
  • the local trading station 10-12 transmits the order to the server 8, e.g., via the WAN 26 (step 72).
  • the server 8 will process the order for trading quantities and prices at the end of the call period.
  • the trading station 10-12 also updates a list of the locally submitted orders that is maintained by the server 8 (step 74).
  • the trader may pull up current and previously submitted orders from this list by using a control tab 73 on the order- creation screen 57.
  • the local trading station 10-12 signals the trader with an error signal in an associated indicator 68 on the screen 57 (step 76).
  • the trader may request information on the origin of the error signal by clicking on the indicator 68.
  • the GUTI program supplies a display element with information on the origin of the error signal.
  • the display element may indicate that a security of the order does not fall in an associated collar value range.
  • the trader either revises the order to correct the error or modifies the error criteria. Then, the trader may attempt to re-submit the revised order.
  • FIG. 3D shows a portion of an order creation screen 80 for an exemplary proportional order.
  • the order creation screen 80 has a control box 82 for listing the securities offered by the trader.
  • control box 82 the trader enters a standard CUSIP identifier.
  • the system populates control box 82 with descriptive data.
  • the trader uses additional fields in the order creation screen 80 to enter a side (i.e., buy or sell), a maximum offered amount in par dollars, a price method, and an offer price for each security of the order, the details of which appear in control box 82.
  • the trader may fill in the control box 82 iteratively by going back and forth between the control box 82 and other features available on the screen 80.
  • Each order creation screen may have a security search box 85, as shown in FIG. 3B.
  • the search box 85 enables the trader to access the database 28 of FIG. 1 and applications in the server 8.
  • the database 28 and applications provide information useful for finding and evaluating the various securities that may be traded.
  • a trader may look up securities before deciding which securities to include in the control box 82 for trades.
  • the example order screen 80 of FIG. 3D specifies the order strategy as "break for gains". For this strategy, a trader selects maximum and minimum trading quantities offered by the order, as a whole, in the set of control boxes 63. The trader can also allow for a variation of proportion mixture among the different securities on the proportional order creation screen 80 by entering a quantity mixture relax percentage in one of the control boxes 63.
  • FIG. 3E shows how a completed list 84 of securities looks on an order creation screen for an exemplary proportional order offering to sell four securities.
  • the offer prices correspond to normalized par prices of 100.
  • the ratios of the maximum par dollar values determine the relative trading mixture proportions of the proportional order.
  • the remainder of the order creation screen of the illustrated order is similar to the screen 80, shown in FIG. 3D, for the proportional order offering to buy securities.
  • FIG. 3F shows how a completed list 86 of securities looks in an order creation screen for an exemplary indifferent order.
  • the exemplary order offers to buy four securities.
  • the list 86 specifies maximum and minimum cash values for the entire order and maximum par values for each security offered.
  • the remainder of the order creation screen of an indifferent order is analogous to the screen 80, shown in FIG. 3D, for the proportional order type.
  • An order creation screen for a swap order (not shown) is similar to the order-creation screen of proportional and indifferent orders illustrated in FIG. 3D and 3F. One difference is that some of the listed securities on the order-creation screen of a swap order are sells and some of the listed securities are buys.
  • FIG. 4 is a flow chart for a method 90 of preprocessing the orders in a call prior to using an algorithm for a single price call market to find the trading quantities and prices for the offered securities of each order.
  • Such preprocessing removes or "prunes" orders that will not or should not trade, thus increasing the speed and efficiency of processing all remaining orders.
  • preprocessing starts by the system (which may be executing on the server 8) pruning each order ("non-contra orders") that does not have one or more contra trading partners among the other orders of the call (step 92). For an offer to buy a security, a contra order offers to sell the same security, and for an offer to sell a security, a contra order offers to buy the same security.
  • the contra pruning is performed iteratively. That is, after checking all orders to determine which ones need to be pruned, the system rechecks the remaining orders again. If one of the remaining orders does not have a contra trading partner among the other remaining orders, that remaining order is also pruned.
  • the system begins a sequence of one or more pruning steps to prune orders that exceed set credit limits.
  • the first such step prunes "firm excess- credit limit orders" that offer to trade quantities of securities whose values exceed pre-set credit limits for the traders' firms (step 94).
  • the system sets the credit value of a security using an external source's evaluation of the value of each security offered.
  • pruning based on firm excess-credit limits removes orders that exceed the predetermined credit limits in a last- in-first out (LIFO) manner.
  • LIFO last- in-first out
  • the external source may be in the form of a credit matrix whose values are based on reference values adjusted to account for risks associated with the duration length and quality of the security.
  • the credit matrix may assign a security a credit value that is lower or higher than the associated reference value of the security to reflect a respective lower or higher risk associated with a default on the security.
  • the reference values themselves are externally fixed values for the securities.
  • the reference values may be general market values of the securities in terms of the value of treasury securities or otherwise fixed external determinations of values.
  • the credit values used in the credit limit pruning may also reflect other attributes of securities.
  • Brokers preset the credit limits for their customers, which are generally trading firms, through agreements, and the credit limits can be read by the system.
  • Each firm may have several traders so that a firm's credit limit applies to the sum of all orders from the traders of the firm.
  • Credit limits for a firm are generally determined on a broker-by-broker basis. Accordingly, the firm excess-credit pruning step performs a broker-by-broker analysis. More particularly, the credit value of all offered trading quantities for all submitted orders of an entire firm are compared to the firm's credit limit for each settlement broker separately. Credit limits may be single values, or may be computed by applying weighting factors to various components of all of the proposed trades for a firm. For example, a trader may have one credit limit for "non-risky" items (e.g., non-risky bonds), and a lower credit limit for "risky" items. Alternatively, a single credit limit may be assigned, but the quantity of items proposed for trading can be weighted by a risk factor.
  • non-risky items e.g., non-risky bonds
  • the quantity of non-risky items proposed for a trade may be weighted with a factor of one (meaning the trader is allowed effectively to trade to the full limit of the trader's credit limit), while the quantity of risky items proposed for a trade may be weighted with a factor of less than one (meaning the trader is allowed effectively to trade only at less than the full limit of the trader's credit limit),
  • the system 5 preferably resets the credit limits of firms and brokers at predetermined time intervals. For example, the credit limits may be reset to the original credit limits of the respective firms and brokers at a fixed time each day. Any firm's credit limit can also be adjusted prior to a call.
  • Step 96 After order pruning based on firm excess-credit limits, the system again prunes any non-contra orders that lack a contra trading partner among the other remaining orders (step 96). Such non-contra orders may occur as a result of removing firm excess-credit orders. Steps 94 and 96 are generally repetitively performed (indicated by the return arrow between the steps) until all non-contra orders are eliminated.
  • the excess-credit limit pruning in step 94 is limited to an overall credit limit for a trading firm.
  • the system preferably prunes any "trader excess-limit orders" from the remaining orders based on credit limits imposed on individual traders (step 98). Orders exceeding the credit limits of each trader are removed. Again, orders last received and designating a particular settlement broker preferably are removed first (LIFO). The system prunes only enough orders to ensure that the remaining orders designating a settlement broker do not exceed the trader's credit limits.
  • the system again prunes any non-contra orders among the remaining orders (step 100) created as a result of pruning trader excess-limit orders.
  • Steps 98 and 100 are generally repetitively performed (indicated by the return arrow between the steps) until all non-contra orders are eliminated.
  • the system preferably prunes any "broker excess-limit orders" from the remaining orders based on credit limits imposed on brokers (step 102).
  • the system prunes a portion of the orders designating a clearing broker in response to the reference value of orders designating the broker exceeding a preset credit limit for the broker.
  • the system again prunes any non-contra orders among the remaining orders (step 104) created as a result of pruning broker excess-limit orders.
  • Steps 102 and 104 are generally repetitively performed (indicated by the return arrow between the steps) until all non-contra orders are eliminated.
  • Pruning of any of the three types of excess-limit orders may be done in a different order, and not all three types need be pruned for a particular set of orders. For example, pruning of trader excess-limit orders may be omitted where a system only cares about pruning of firm excess-limit orders.
  • the particular order of steps of the process 90 have been found to be quite efficient.
  • the plurality of orders is more likely to meet the various applicable credit limits. For example, a firm may exceed its credit limit for any particular set of orders, but many of those orders may not have contra orders available. If credit limit pruning was performed first, orders having contra orders available might be eliminated (because of LIFO pruning) that would have traded if earlier non-contra orders had first been pruned from the set of orders.
  • the system After pruning, the system also adjusts offering prices up or down to reflect variable broker commissions, i.e., raising sell offers and lowering buy offers by the associated commissions (step 106).
  • the system may determine the broker commissions using a commission matrix, which rates security values in terms of a quality rating and a term associated with the security.
  • the system prunes orders any as-yet unpriced orders (step 108) and then performs non-contra pruning (step 110).
  • the system determines trading results for the orders of the call that remain after all of the stages of pruning by submitting the orders to an automated call market matching engine, which executes an allocation and pricing algorithm such as the type described in the incorporated patent applications cited above (step 112).
  • the determination of results is required to terminate within a time period of predetermined length and uses the adjusted offer prices for each order.
  • the trading results include the trading quantities and prices, on a security-by-security basis.
  • the system transmits the trading results for each order to the trading station 10-12 that submitted the order (step 114).
  • the trader can obtain personal trading results by clicking an executions tab 105 on screen 57 to access a results display.
  • a trader may decide to submit another order to a later call, e.g., for quantities not traded in the present call.
  • the GUTI program enables the trader to recycle previous orders that did not trade or that only partially traded by clicking the submitted orders tab 3 and entering a recycle request.
  • the system reduces the credit limits of both traders and firms by the value of the securities traded by each entity during the present call (step 1 16).
  • the relevant trading quantity is the sum of all trading quantities from the orders of all traders of the firm.
  • the relevant trading quantity for an individual trader is the sum of the trading quantities assigned to all orders entered by that trader
  • FIG. 5 is a flow chart illustrating a method 120, used in the non-contra order pruning steps of FIG. 4, to determine whether to prune a selected order for lack of a contra trading partner.
  • the method starts by the system selecting a next order to process (step 121) and choosing a security offered in the selected order (step 122).
  • the system determines whether any of the other orders provide a contra offer for the chosen security (step 124). If at least one contra order is found, the security is not pruned (step 126). If a contra order is not found for the chosen security, the system removes the security from the selected order (step 128). In response to pruning the chosen security, the system determines whether to prune the whole order.
  • the system first determines whether there was only a single security in the selected order or if the order was a spread swap order where the pruned security was part of the swap (step 130). If so, the system prunes the whole order (step 132). Otherwise, the system determines whether the pruned security was the last security remaining in an indifferent order (step 134). If so, the order is pruned (step 132). If not, the system determines whether the order is a proportional order with a relaxation parameter less than 100% (step 138). If so, the system prunes the whole proportional order (step 132).
  • the system determines whether the order was part of an AND group and had a minimum fill greater than zero (step 142). If so, the entire group is pruned (step 144). If not, then the system determines whether the order is the last order of an OR logical group (step 146). If so, the entire group is pruned (step 144). The system then selects the next order to process (step 121). If the order was not pruned at step 132 or the chosen security was not pruned at step 126, the system determines whether other securities remain to be chosen in the order (step 148). If other securities remain, the system returns to step 122 to chose one of the remaining securities. Otherwise, the system selects the next order to process through the pruning method 120 (step 121).
  • the invention permits trading entities to trade in excess of their nominal credit limits by utilizing the fact that many orders lack contra orders. Accordingly, while pre-process pruning is preferred because of the resulting reduction in computational time for allocation and pricing of trades, the concepts of the invention can be extended to encompass pruning after allocation and pricing of submitted orders. Thus, for example, all orders may be submitted to a matching engine. Any unmatched orders may be pruned, and then credit limits applied to the remaining matched orders.
  • FIG. 6 is a flowchart for a method 150 by which the trading stations 10-12 use a collar value for the error criteria at step 66 of FIG. 2.
  • the local trading terminal 10-12 receives a selected collar value from the local trader prior to submission of orders (step 152). However, the trader may select or reset the collar value any time that the trader uses the trading station 10-12.
  • a collar value is automatically set by software in the local trading terminals 10-12.
  • different measures of value define the collar value range. These measures may include a percentage of the reference price or yield. However, any measure of value used by persons of skill in the art to evaluate the monetary worth of the items being traded may be used to define the collar value.
  • the trading station 10-12 receives the order details from the trader (step 154), and requests and receives values (typically, reference values) corresponding to the securities from the central database 28 (step 156).
  • values typically, reference values
  • the local trading station uses the collar value to establish a collar value range about the reference value of each security of the order (step 158).
  • the collar value range preferably extends from an upper limit equal to the reference value plus the collar value to a lower limit equal to the reference value minus the collar value.
  • the local trading station 10-12 determines whether any of the offered prices of the securities of the submitted order fall outside the associated collar value range (step 160). If no offered prices fall outside the associated collar value range, the local trading station 10-12 signals the trader that the submitted order is valid and sends the order to the server 8 for processing with the next call (step 162). Otherwise, the local trading station 10-12 signals the trader that the submitted order is invalid (step 164).
  • the trader may change the collar value, override the invalidation, or modify the order and resubmit.
  • the collar value generates error criteria for use in step 66 of FIG. 2. These error criteria alert the trader to gross errors in entering offer prices into orders if the prices differ substantially from recent reference prices for an item.
  • the trader can quickly re-evaluate the offer prices of an order to determine whether there is an error or whether the offer prices express desired offers.
  • the system also performs a second type of check based on a collar value. This check affects orders of the call which have passed all prior checks and pruning and whose offer prices are adjusted for commissions, etc.
  • the check occurs after the offer prices have been converted to a common form (i.e., spread prices have been converted) and before determining trading quantities and values. Any orders whose offer prices are not within a range defined by the second collar value about the associated reference value are simply pruned.
  • the second collar range provides a check for gross errors which may have been missed by traders because personal collar values have been overridden.
  • the second collar value may define a collar value range that goes from several times the reference value of the associated trading item to a small fraction of the reference value of the item.
  • the various embodiments preferably require that the pruning of FIGS. 4 and 5, price adjustments, and price conversions terminate in a preselected time period, e.g., 100 seconds. Orders not passing pruning and price adjustments and conversions within the preselected time are pruned from a current call.
  • the invention may be implemented in hardware or software, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the algorithms included as part of the invention are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus to perform the required method steps. However, preferably, the invention is implemented in one or more computer programs executing on programmable systems each including at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. The program code is executed on the processors to perform the functions described herein.
  • Each such program may be implemented in any desired computer language (including machine, assembly, or high level procedural, logical, or object oriented programming languages) to communicate with a computer system.
  • the language may be a compiled or interpreted language.
  • Each such computer program is preferably stored on a storage media or device (e.g., solid state, magnetic, or optical media) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein.
  • the inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.

Abstract

A computerized system and method of processing a plurality of trading orders from one or more traders at one or more trading entities (10-12) where each order from an associated trader includes one or more offers to buy or sell items. One aspect of the invention includes receiving a plurality of orders during a preselected period and determining (1) whether any of the received orders does not have a contra trading partner among other received orders (non-contra orders), and then (2) determining which of the remaining orders offer to trade in excess of a credit limit for a firm (firm excess-limit orders), individual traders (trader excess-limit orders), or a broker (broker excess-limit orders). By first pruning non-contra orders, the plurality of orders is more likely to meet various applicable credit limits.

Description

PROCESSING ORDERS TO A COMPUTERIZED TRADING MARKET
CLAIM OF PRIORITY
This application claims priority under 35 USC §119(e) to U.S. Patent Application Serial No. 60/119,888, entitled "Call Market for Trading", filed February 12, 1999, and U.S. Provisional Application No. 60/133,102, entitled "Processing Orders to a Computerized Trading Market", filed May 7, 1999, the entire contents of which are hereby incorporated by reference.
TECHNICAL FIELD
This invention relates generally to computerized trading markets and, more particularly, to processing trading orders for a computerized trading market.
SUMMARY
In a first aspect, the invention provides a computerized method of processing a plurality of trading orders from one or more traders at one or more trading entities. Each order includes one or more offers from an associated trader to buy or sell items. The method includes receiving a plurality of orders during a preselected period and determining (1) whether any of the received orders do not have a set of one or more matching contra trading partners among other received orders ("non-contra orders"), and then (2) determining which of the remaining orders offer to trade in excess of a credit limit for a firm ("firm excess-limit orders"), individual traders ("trader excess-limit orders"), or a broker ("broker excess-limit orders"). The trading firm may include any trading entity, whether partnership, corporation, sole proprietorship, or other legal form. By first pruning non-contra orders, the plurality of orders is more likely to meet the various applicable credit limits. By virtue of this feature, firms and traders may submit orders in excess of their assigned credit limits.
The method also includes processing the received orders which remain after pruning to determine trading quantities and values to assign to the offers therein. Pruning of excess- limit orders after pruning for non-contra orders may be performed in several sequences, but a
-l- preferred order is as follows: initially prune non-contra orders; prune firm excess-limit orders; prune newly created non-contra orders; prune trader excess-limit orders; prune newly created non-contra orders; prune broker excess-limit orders; prune newly created non-contra orders. In some embodiments, the method may also reduce the credit limit assigned to a trader's firm by the price of the trading quantities assigned to the trader's order.
More particular, in this aspect of the invention, a method, system, or computer program processes a plurality of trading orders, each order including one or more offers to buy or sell items, by receiving a plurality of orders during a preselected period; pruning a first portion of the received orders not having a contra trading order among the other received orders; pruning a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded; and processing the received orders remaining after pruning the first and second portions to determine trading quantities and prices to assign to the offers therein. This aspect of the invention may further include pruning a third portion of the received orders in response to orders remaining after pruning the second portion not having contra trading order among the other received orders, and the credit limit may be one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
In a second aspect, the invention provides a method of submitting and validating a trading order to an automated trading market. The order provides an offer value for each item therein. The method includes receiving the order at the interface and computing a collar value range for the items of the order. The range for each item has a width or span determined by a collar value and is located about a reference value for the item. The method includes comparing the offer price for each item to the associated collar value range and alerting the trader in response to an offer price being outside of the associated collar value range.
In various embodiments, the reference values of the items are prices assigned to the items by an external source of price information. The reference values of items may be the values of the items expressed in terms of a percentage of par value, yield, or any other value variable used by persons of skill in the art. In various embodiments, the method also includes submitting the order to a processor module. The processor module determines trading quantities and trading prices for the items whose offer values are within the associated collar value ranges.
In various embodiments, the method further includes receiving a revised order in response to alerting the trader that an offer price is outside of the associated collar value range. Such an offer price may be modified to be within the collar value range in the revised order. The trader may also deactivate the collar value range for the revised order.
In various embodiments, the method includes processing the order according to an algorithm for a single price call auction market to determine the trading quantities and prices of the items offered therein. However, the invention may also be used in conjunction with pricing algorithms for other types of markets, such as one sided, bilateral, and multilateral trading markets.
In a third aspect, the invention provides a computerized method of processing a plurality of trading orders. Each order includes one or more offers from a trader to buy and/or sell items. The method includes receiving a plurality of orders during a preselected period and pruning a portion of the received orders not having a contra trading partner among other received orders, and then pruning orders that exceed set credit limits. The method also includes processing the received orders remaining after the pruning to determining trading quantities and values to assign to the offers therein. In a fourth aspect, the invention provides a computerized method of preparing trading orders for submission to a two-sided automated call auction market. Each order includes one or more offers from a trader to buy and/or sell items. The method includes receiving a selection for an order type from a trader, providing an interface to the trader, receiving the completed order from the interface, and transmitting the order to the automated call market to determine the trading quantities and prices to assign to the offers of the order. The interface is capable of accepting an order of the requested type. The completed order lists types of items offered along with associated offer values and offer quantity ranges.
In other embodiments, the invention also includes data storage media encoding programs readable and executable by computers. The storage media may be read only memories, magnetic and optical disks, hard disks, and random access memories. The programs have instructions for performing one or more of the above-described methods. In still other embodiments, the invention includes a computerized system for performing one or more of the above-described methods.
In various embodiments, at least a portion of the orders are received from a wide area network, such as the Internet.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
DESCRIPTION OF DRAWINGS Features and advantages of the invention will be apparent from the following description taken together with the drawings, and from the claims.
FIG. 1 shows a network system for trading items on a two-sided automated market.
FIG. 2 is a flow chart illustrating a method of preprocessing received trading orders with the system of FIG. 1. FIG. 3 A shows a screen for selecting an order-type.
FIG. 3B shows an order-creation screen for an exemplary single item order.
FIG. 3C shows a portion of an order-creation screen completed according to a provided liquidity strategy.
FIG. 3D shows an order creation screen for an exemplary proportional order. FIG. 3E shows a portion of a order creation screen for a proportional order, which lists offered securities.
FIG. 3F is a portion of an order creation screen of an indifferent order, which lists offered securities.
FIG. 4 is a flow chart illustrating a method of pruning the orders of a call prior to submitting the call for determining trading quantities and prices.
FIG. 5 is a flow chart illustrating the method used in FIG. 4 to determine whether to prune a selected order.
FIG. 6 is a flowchart for a method of using a collar value for the error criteria in the method of FIG. 2. Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
Overview
Embodiments of the invention relate to automated markets in which traders participate in two-sided trading of items. The items are tradable together on a single market. The traded items may be securities, futures, fixed income security instruments (e.g., treasury instruments, agency instruments, corporate instruments, mortgage pool securities, ARMs, collateralized mortgage obligations, whole loan securities, and asset backed securities), commodities, or agricultural products. The illustrated market is a single price call auction market in which offers to buy and/or sell are received from traders during a call period. At the end of the call period, an automated system matches up trading quantities from "contra" (i.e., buy/sell) offers between sets of at least two traders at common trading prices. For example, a sell offer of 4 units of item A may be matched to a first buy offer for 3 units of item A and a second buy offer of 1 unit of item A. The end of the call period aggregates the trading interests of the traders at a single point in time.
The automated market accepts various types of orders, which may offer to trade single items, multiple items, and logical groupings of such orders. Multi-item orders are either "proportional" or "indifferent" orders that enable traders to benefit from the value of trading several types of items in parallel. Proportional orders offer to trade selected percentage mixtures of several types of items, thereby enabling a trader to obtain a desired portfolio mixture of items. Indifferent orders offer several types of items in indifferent mixtures limited by trading cash amounts. Logical groupings condition the trading of pairs of orders upon logical constructions (e.g., AND, OR, XOR, etc.) so that the trader has further control over order execution. The market processes each multi-item order as a unit. Each order realizes a total execution value equal to or greater than the level of the value associated with a trader's offered values and quantities. The automated trading market and order types are described more fully in U.S. Patent Application Serial No. 60/119,888, entitled "Call Market for Trading". User Interface
FIG. 1 illustrates a system 5 for the automated market. The system 5 includes a server 8 and remote trading stations 10-12. The server 8 may include several processors (not shown) coupled together. Each trading station 10-12 has a display screen 14-16 controlled by a computer 18-20 running a graphical user trading interface (GUTI) program. The computer 18-20 has an internal memory 22-24 for storing the GUTI program and a network interface program. The network interface program of each trading station 10-12 supports communications with the server 8 via a wide area network (WAN) 26, including the Internet. The server 8 provides traders with information for formulating orders and processes orders submitted during the call period. Traders can access information on securities in a central database 28 and access software applications in a central storage unit 30. The applications can search the database 28 for data on selected securities. Such data may include, e.g., reference values, calculate real-time values of securities, derived values of securities, calculate quantities for swaps, etc. The server 8 also processes, or directs the processing of, submitted orders to form trades by matching up common quantities of securities at a single price between pairs of traders.
The GUTI program of each computer 18-20 supports both submitting orders to and requesting and receiving trading information from the server 8. A suitable GUTI program is packaged in a commercially available global graphical user interface (GUI), the TELERATE PLUS interface, from Bridge Information Systems.
FIG. 2 is a flowchart that illustrates a method 40 for preprocessing an order from a trader using the GUTI program of one of the remote trading stations 10-12. The GUTI program on a local trading station 10-12 presents a trader with an order-type selection screen 42, an example of which is shown in FIG. 3 A (step 44). The trader enters a selection of a desired order-type on the screen 42. In response, the local trading station 10-12 receives the selection of an order-type (step 45).
Referring to FIG. 3 A, the example order type selection screen 42 includes buttons 51- 53, 51'-53\ 51 "-53" for selecting an order type. For each button 51-53, 51'-53', 51 "-53", blocks 46-48 indicate whether the order is a buy, sell, or a swap (i.e., an order including both a buy and a sell). Thus, a trader may use the nine buttons 51-53, 51'-53', 51"-53" to select a single security order, a proportional order, or an indifferent order for a buy, sell, or swap transaction. The order-type selection screen 42 also has a pair of buttons 49, 50 for logically linking orders through a logical AND or a logical OR construction. Other logical functions (e.g., XOR) may also be provided. Further, while buttons are shown in the example, other types of interface controls (e.g., check boxes, switches, etc.) may be used to indicate selections by a user.
Referring again to FIG. 2, in response to receiving the selection of the order type, the GUTI program provides the trader with an order creation screen for creating an order of the selected type (step 54). The trader fills in the order creation screen, and the local trading station 10-12 receives the order inputs as they are entered by the trader (step 56).
FIG. 3B shows a completed order creation screen 57 for a single item order. The screen 57 has various text or list control boxes 58-60, 62-63 and "radio buttons" (i.e., mutually exclusive choices) 61 that the trader may fill in different sequential orders to create an order. For example, a trader enters identifying information for the security to be traded in a set of boxes 58 and enters offering price information in a control group 59. Since the GUTI program accepts several pricing formats for fixed income securities, the trader must specify the pricing format in control group 59. The price formats may include, for example, an actual price, a yield, a discount rate, a nearest treasury spread, an interpolated treasury spread, an on-the-run treasury spread, a discount margin for floating rate bonds, and an index spread or BEEM for ARMs.
The trader also selects a settlement broker for the transaction in control box 60. The selected settlement broker will have previously made a contract with the trader's firm, i.e., a firm may have one or more traders. The contract includes procedures to establish a trading credit limit. The broker has made the credit limit known to the system server 8 operating the call market. The trader's firm may have agreements with one or several of the brokers that the system 5 accepts as settlement brokers for trades arranged therein.
The trader also selects a level of disclosure for information made available to other traders about the trader's order. To select the disclosure level, the trader chooses one of the radio buttons 61. The various disclosure-levels preferably reveal only one of: the identity of the security; the identity of the security and the side (i.e. , buy or sell); or the identity of the security, the side, and the quantity offered.
The server 8 continually updates information on orders that have been submitted during a call period. The submitted order information disclosed is available to all traders via the traders' local GUTI programs. In the illustrated embodiment, the GUTI program retrieves the submitted order information from the server 8 in response to the trader using a control tab 73 on the screen 57. The submitted order information, which is available to other traders, only includes trading quantities that are aggregated over all submitted orders. Thus, the disclosed information does not jeopardize a trader's anonymity as to the trader's individual orders.
After an order has been processed by the server 8, the trader can also use the control tab 73 to learn aggregated results from the trade. The aggregated results include the total trading quantities and the trading prices of each traded security.
The trader may also select one of a number of trading strategies by making an entry in control box 62. A base strategy enables the trader to select a quantity range for the offered securities. An "all or nothing" strategy enables the trader to select a specified single quantity and a price at which each security of the order must trade if the order trades at all. An "aggressive" strategy enables the trader to select to trade at more competitive prices in response to more of the offer trading. A "break for gains" strategy enables the trader to request that a multi-item order break apart so that only a portion of the order trades if trading only the portion will increase the trader's gain.
In response to receiving the selection of a trading strategy, the GUTI program provides a set of control boxes 63 in which the trader enters trading quantities For example, the base strategy shown in screen 57 enables the trader to enter a maximum fill quantity and a minimum fill quantity in the control boxes 63. In general, the form of the control boxes 63 depends on the selected trading strategy in the control box 62 and on the order type.
FIG. 3C illustrates a portion 65 of an example order creation screen produced by selecting another strategy, labeled "provide liquidity," in the control box 62. For this strategy, the trader can select three steps 1, 2, 3 for the quantity traded in the set of control boxes 63. For each step 1, 2, 3, the trader enters an associated price 1, 2, 3 in the price control group 59. Thus, the trader can offer a higher sell price if more of the trader's securities sell and a lower buy price if the order is allocated more securities to buy.
The control boxes 63 again enable the trader to select price steps for the quantity traded in the aggressive strategy. However, the aggressive strategy allows a user to express a willingness to sell at lower values or. conversely, to buy at higher values in exchange for receiving a larger quantity execution.
Referring again to FIG. 2, as the trader enters inputs into the order creation screen (e.g., the screen 57 of FIG. 3 A), the local trading station 10-12 pre-processes the inputs to determine whether the order satisfies predetermined error criteria (step 66). When the error criteria are satisfied, the trading station 10-12 preferably provides the trader with a "valid" signal, e.g., by way of an indicator 68 on screen 57 (step 70). Then, the GUTI program provides the user with an "execute" or "enter" control enabling the trader to submit the order or a combination of the present order and previously created orders. In response to the trader submitting the order, the local trading station 10-12 transmits the order to the server 8, e.g., via the WAN 26 (step 72). The server 8 will process the order for trading quantities and prices at the end of the call period.
The trading station 10-12 also updates a list of the locally submitted orders that is maintained by the server 8 (step 74). In the illustrated embodiment, the trader may pull up current and previously submitted orders from this list by using a control tab 73 on the order- creation screen 57.
If the error criteria are not satisfied, the local trading station 10-12 signals the trader with an error signal in an associated indicator 68 on the screen 57 (step 76). The trader may request information on the origin of the error signal by clicking on the indicator 68. In response to such a request, the GUTI program supplies a display element with information on the origin of the error signal. For example, the display element may indicate that a security of the order does not fall in an associated collar value range. In response to the error signal, the trader either revises the order to correct the error or modifies the error criteria. Then, the trader may attempt to re-submit the revised order.
FIG. 3D shows a portion of an order creation screen 80 for an exemplary proportional order. The order creation screen 80 has a control box 82 for listing the securities offered by the trader. In control box 82. the trader enters a standard CUSIP identifier. In response, the system populates control box 82 with descriptive data. The trader uses additional fields in the order creation screen 80 to enter a side (i.e., buy or sell), a maximum offered amount in par dollars, a price method, and an offer price for each security of the order, the details of which appear in control box 82. The trader may fill in the control box 82 iteratively by going back and forth between the control box 82 and other features available on the screen 80.
Each order creation screen may have a security search box 85, as shown in FIG. 3B. The search box 85 enables the trader to access the database 28 of FIG. 1 and applications in the server 8. The database 28 and applications provide information useful for finding and evaluating the various securities that may be traded. Thus, a trader may look up securities before deciding which securities to include in the control box 82 for trades.
The example order screen 80 of FIG. 3D specifies the order strategy as "break for gains". For this strategy, a trader selects maximum and minimum trading quantities offered by the order, as a whole, in the set of control boxes 63. The trader can also allow for a variation of proportion mixture among the different securities on the proportional order creation screen 80 by entering a quantity mixture relax percentage in one of the control boxes 63.
FIG. 3E shows how a completed list 84 of securities looks on an order creation screen for an exemplary proportional order offering to sell four securities. The offer prices correspond to normalized par prices of 100. The ratios of the maximum par dollar values determine the relative trading mixture proportions of the proportional order. The remainder of the order creation screen of the illustrated order is similar to the screen 80, shown in FIG. 3D, for the proportional order offering to buy securities.
FIG. 3F shows how a completed list 86 of securities looks in an order creation screen for an exemplary indifferent order. The exemplary order offers to buy four securities. The list 86 specifies maximum and minimum cash values for the entire order and maximum par values for each security offered. The remainder of the order creation screen of an indifferent order is analogous to the screen 80, shown in FIG. 3D, for the proportional order type.
An order creation screen for a swap order (not shown) is similar to the order-creation screen of proportional and indifferent orders illustrated in FIG. 3D and 3F. One difference is that some of the listed securities on the order-creation screen of a swap order are sells and some of the listed securities are buys.
Preprocessing Operation
FIG. 4 is a flow chart for a method 90 of preprocessing the orders in a call prior to using an algorithm for a single price call market to find the trading quantities and prices for the offered securities of each order. Such preprocessing removes or "prunes" orders that will not or should not trade, thus increasing the speed and efficiency of processing all remaining orders.
In the preferred embodiment, preprocessing starts by the system (which may be executing on the server 8) pruning each order ("non-contra orders") that does not have one or more contra trading partners among the other orders of the call (step 92). For an offer to buy a security, a contra order offers to sell the same security, and for an offer to sell a security, a contra order offers to buy the same security.
In some embodiments, the contra pruning is performed iteratively. That is, after checking all orders to determine which ones need to be pruned, the system rechecks the remaining orders again. If one of the remaining orders does not have a contra trading partner among the other remaining orders, that remaining order is also pruned.
Next, the system begins a sequence of one or more pruning steps to prune orders that exceed set credit limits. In the preferred embodiment, the first such step prunes "firm excess- credit limit orders" that offer to trade quantities of securities whose values exceed pre-set credit limits for the traders' firms (step 94). The system sets the credit value of a security using an external source's evaluation of the value of each security offered. In the preferred embodiment, pruning based on firm excess-credit limits removes orders that exceed the predetermined credit limits in a last- in-first out (LIFO) manner. Thus, the latest orders of a firm entered into the system that cause the trading firm's credit limit to be exceeded are the first to be pruned (post non-contra pruning).
The external source may be in the form of a credit matrix whose values are based on reference values adjusted to account for risks associated with the duration length and quality of the security. For example, the credit matrix may assign a security a credit value that is lower or higher than the associated reference value of the security to reflect a respective lower or higher risk associated with a default on the security. The reference values themselves are externally fixed values for the securities. The reference values may be general market values of the securities in terms of the value of treasury securities or otherwise fixed external determinations of values. The credit values used in the credit limit pruning may also reflect other attributes of securities.
Brokers preset the credit limits for their customers, which are generally trading firms, through agreements, and the credit limits can be read by the system. Each firm may have several traders so that a firm's credit limit applies to the sum of all orders from the traders of the firm.
Credit limits for a firm are generally determined on a broker-by-broker basis. Accordingly, the firm excess-credit pruning step performs a broker-by-broker analysis. More particularly, the credit value of all offered trading quantities for all submitted orders of an entire firm are compared to the firm's credit limit for each settlement broker separately. Credit limits may be single values, or may be computed by applying weighting factors to various components of all of the proposed trades for a firm. For example, a trader may have one credit limit for "non-risky" items (e.g., non-risky bonds), and a lower credit limit for "risky" items. Alternatively, a single credit limit may be assigned, but the quantity of items proposed for trading can be weighted by a risk factor. For example, the quantity of non-risky items proposed for a trade may be weighted with a factor of one (meaning the trader is allowed effectively to trade to the full limit of the trader's credit limit), while the quantity of risky items proposed for a trade may be weighted with a factor of less than one (meaning the trader is allowed effectively to trade only at less than the full limit of the trader's credit limit), The system 5 preferably resets the credit limits of firms and brokers at predetermined time intervals. For example, the credit limits may be reset to the original credit limits of the respective firms and brokers at a fixed time each day. Any firm's credit limit can also be adjusted prior to a call.
After order pruning based on firm excess-credit limits, the system again prunes any non-contra orders that lack a contra trading partner among the other remaining orders (step 96). Such non-contra orders may occur as a result of removing firm excess-credit orders. Steps 94 and 96 are generally repetitively performed (indicated by the return arrow between the steps) until all non-contra orders are eliminated.
In the illustrated embodiment, the excess-credit limit pruning in step 94 is limited to an overall credit limit for a trading firm. Hence, the system preferably prunes any "trader excess-limit orders" from the remaining orders based on credit limits imposed on individual traders (step 98). Orders exceeding the credit limits of each trader are removed. Again, orders last received and designating a particular settlement broker preferably are removed first (LIFO). The system prunes only enough orders to ensure that the remaining orders designating a settlement broker do not exceed the trader's credit limits.
The system again prunes any non-contra orders among the remaining orders (step 100) created as a result of pruning trader excess-limit orders. Steps 98 and 100 are generally repetitively performed (indicated by the return arrow between the steps) until all non-contra orders are eliminated. Next, the system preferably prunes any "broker excess-limit orders" from the remaining orders based on credit limits imposed on brokers (step 102). In particular, the system prunes a portion of the orders designating a clearing broker in response to the reference value of orders designating the broker exceeding a preset credit limit for the broker. Thereafter, the system again prunes any non-contra orders among the remaining orders (step 104) created as a result of pruning broker excess-limit orders. Steps 102 and 104 are generally repetitively performed (indicated by the return arrow between the steps) until all non-contra orders are eliminated.
Pruning of any of the three types of excess-limit orders may be done in a different order, and not all three types need be pruned for a particular set of orders. For example, pruning of trader excess-limit orders may be omitted where a system only cares about pruning of firm excess-limit orders.
The particular order of steps of the process 90 have been found to be quite efficient. In particular, by first pruning non-contra orders, the plurality of orders is more likely to meet the various applicable credit limits. For example, a firm may exceed its credit limit for any particular set of orders, but many of those orders may not have contra orders available. If credit limit pruning was performed first, orders having contra orders available might be eliminated (because of LIFO pruning) that would have traded if earlier non-contra orders had first been pruned from the set of orders.
Further, in some cases, there may be more non-contra orders than excess-limit orders, so pruning non-contra orders first reduces the volume of data that must be processed in subsequent steps. This is an important benefit of the preferred embodiment of the invention, since there often is a very limited amount of time (generally measured in minutes) to perform the preprocessing and call market match processing for a particular market.
After pruning, the system also adjusts offering prices up or down to reflect variable broker commissions, i.e., raising sell offers and lowering buy offers by the associated commissions (step 106). The system may determine the broker commissions using a commission matrix, which rates security values in terms of a quality rating and a term associated with the security.
In a preferred embodiment, if the adjustments to prices are not completed within an allotted amount of time, the system prunes orders any as-yet unpriced orders (step 108) and then performs non-contra pruning (step 110).
Next, the system determines trading results for the orders of the call that remain after all of the stages of pruning by submitting the orders to an automated call market matching engine, which executes an allocation and pricing algorithm such as the type described in the incorporated patent applications cited above (step 112). The determination of results is required to terminate within a time period of predetermined length and uses the adjusted offer prices for each order. For each individual order, the trading results include the trading quantities and prices, on a security-by-security basis. The system transmits the trading results for each order to the trading station 10-12 that submitted the order (step 114). The trader can obtain personal trading results by clicking an executions tab 105 on screen 57 to access a results display.
Subsequently, a trader may decide to submit another order to a later call, e.g., for quantities not traded in the present call. The GUTI program enables the trader to recycle previous orders that did not trade or that only partially traded by clicking the submitted orders tab 3 and entering a recycle request. The system reduces the credit limits of both traders and firms by the value of the securities traded by each entity during the present call (step 1 16). For a firm, the relevant trading quantity is the sum of all trading quantities from the orders of all traders of the firm. The relevant trading quantity for an individual trader is the sum of the trading quantities assigned to all orders entered by that trader
Pruning Algorithm
FIG. 5 is a flow chart illustrating a method 120, used in the non-contra order pruning steps of FIG. 4, to determine whether to prune a selected order for lack of a contra trading partner. The method starts by the system selecting a next order to process (step 121) and choosing a security offered in the selected order (step 122). Next, the system determines whether any of the other orders provide a contra offer for the chosen security (step 124). If at least one contra order is found, the security is not pruned (step 126). If a contra order is not found for the chosen security, the system removes the security from the selected order (step 128). In response to pruning the chosen security, the system determines whether to prune the whole order. To determine whether to prune the whole order, the system first determines whether there was only a single security in the selected order or if the order was a spread swap order where the pruned security was part of the swap (step 130). If so, the system prunes the whole order (step 132). Otherwise, the system determines whether the pruned security was the last security remaining in an indifferent order (step 134). If so, the order is pruned (step 132). If not, the system determines whether the order is a proportional order with a relaxation parameter less than 100% (step 138). If so, the system prunes the whole proportional order (step 132).
If the whole selected order was pruned at step 132, the system determines whether the order was part of an AND group and had a minimum fill greater than zero (step 142). If so, the entire group is pruned (step 144). If not, then the system determines whether the order is the last order of an OR logical group (step 146). If so, the entire group is pruned (step 144). The system then selects the next order to process (step 121). If the order was not pruned at step 132 or the chosen security was not pruned at step 126, the system determines whether other securities remain to be chosen in the order (step 148). If other securities remain, the system returns to step 122 to chose one of the remaining securities. Otherwise, the system selects the next order to process through the pruning method 120 (step 121).
It should be noted that the invention permits trading entities to trade in excess of their nominal credit limits by utilizing the fact that many orders lack contra orders. Accordingly, while pre-process pruning is preferred because of the resulting reduction in computational time for allocation and pricing of trades, the concepts of the invention can be extended to encompass pruning after allocation and pricing of submitted orders. Thus, for example, all orders may be submitted to a matching engine. Any unmatched orders may be pruned, and then credit limits applied to the remaining matched orders.
Collar Value Algorithm
FIG. 6 is a flowchart for a method 150 by which the trading stations 10-12 use a collar value for the error criteria at step 66 of FIG. 2. In most embodiments, the local trading terminal 10-12 receives a selected collar value from the local trader prior to submission of orders (step 152). However, the trader may select or reset the collar value any time that the trader uses the trading station 10-12. In some embodiments, a collar value is automatically set by software in the local trading terminals 10-12. In various embodiments, different measures of value define the collar value range. These measures may include a percentage of the reference price or yield. However, any measure of value used by persons of skill in the art to evaluate the monetary worth of the items being traded may be used to define the collar value.
As the trader selects securities to put in an order, the trading station 10-12 receives the order details from the trader (step 154), and requests and receives values (typically, reference values) corresponding to the securities from the central database 28 (step 156).
Next, the local trading station uses the collar value to establish a collar value range about the reference value of each security of the order (step 158). The collar value range preferably extends from an upper limit equal to the reference value plus the collar value to a lower limit equal to the reference value minus the collar value.
The local trading station 10-12 determines whether any of the offered prices of the securities of the submitted order fall outside the associated collar value range (step 160). If no offered prices fall outside the associated collar value range, the local trading station 10-12 signals the trader that the submitted order is valid and sends the order to the server 8 for processing with the next call (step 162). Otherwise, the local trading station 10-12 signals the trader that the submitted order is invalid (step 164).
In response to an "invalid" signal, the trader may change the collar value, override the invalidation, or modify the order and resubmit. The collar value generates error criteria for use in step 66 of FIG. 2. These error criteria alert the trader to gross errors in entering offer prices into orders if the prices differ substantially from recent reference prices for an item. In response to such an error alert, the trader can quickly re-evaluate the offer prices of an order to determine whether there is an error or whether the offer prices express desired offers. In some embodiments, the system also performs a second type of check based on a collar value. This check affects orders of the call which have passed all prior checks and pruning and whose offer prices are adjusted for commissions, etc. The check occurs after the offer prices have been converted to a common form (i.e., spread prices have been converted) and before determining trading quantities and values. Any orders whose offer prices are not within a range defined by the second collar value about the associated reference value are simply pruned. The second collar range provides a check for gross errors which may have been missed by traders because personal collar values have been overridden. The second collar value may define a collar value range that goes from several times the reference value of the associated trading item to a small fraction of the reference value of the item.
The various embodiments preferably require that the pruning of FIGS. 4 and 5, price adjustments, and price conversions terminate in a preselected time period, e.g., 100 seconds. Orders not passing pruning and price adjustments and conversions within the preselected time are pruned from a current call. Computer Implementation
The invention may be implemented in hardware or software, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the algorithms included as part of the invention are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus to perform the required method steps. However, preferably, the invention is implemented in one or more computer programs executing on programmable systems each including at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. The program code is executed on the processors to perform the functions described herein.
Each such program may be implemented in any desired computer language (including machine, assembly, or high level procedural, logical, or object oriented programming languages) to communicate with a computer system. In any case, the language may be a compiled or interpreted language.
Each such computer program is preferably stored on a storage media or device (e.g., solid state, magnetic, or optical media) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein. A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the steps of some of the methods may be order- independent, and thus may be carried out in one or more sequences different from those shown. Accordingly, other embodiments are within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:
1. A computerized method of processing a plurality of trading orders, each order including one or more offers to buy or sell items, including: (a) receiving a plurality of orders during a preselected period; (b) pruning a first portion of the received orders not having one or more contra trading orders among the other received orders; (c) pruning a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded; and (d) processing the received orders remaining after pruning the first and second portions to determine trading quantities and prices to assign to the offers therein.
2. The method of claim 1 , further including pruning a third portion of the received orders in response to orders remaining after pruning the second portion not having one or more contra trading orders among the other received orders.
3. The method of claim 1 or claim 2, wherein the credit limit is one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
4. The method of claim 2, further including reducing the credit limit associated with a trader's firm by the value of trading quantities assigned to the trader's offers.
5. The method of claim 1 , further including determining trading quantities and prices for the offers according to an algorithm for a single-price call market.
6. The method of claim 1, wherein pruning received orders if a credit limit associated with such received orders has been exceeded proceeds by a LIFO process.
7. The method of claim 1 , wherein the plurality of the orders are received from a wide area network.
8. A computer processing system for processing a plurality of trading orders, each order including one or more offers to buy or sell items, the system including: (a) means for receiving a plurality of orders during a preselected period; (b) means for pruning a first portion of the received orders not having a one or more contra trading orders among the other received orders; (c) means for pruning a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded; and (d) means for processing the received orders remaining after pruning the first and second portions to determine trading quantities and prices to assign to the offers therein.
9. The system of claim 8, further including means for pruning a third portion of the received orders in response to orders remaining after pruning the second portion not having one or more contra trading orders among the other received orders.
10. The system of claim 8 or claim 9. wherein the credit limit is one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
11. The system of claim 10, further including means for reducing the credit limit associated with a trader's firm by the value of trading quantities assigned to the trader's offers.
12. The system of claim 8, further including means for determining trading quantities and prices for the offers according to an algorithm for a single-price call market.
13. The system of claim 8, wherein the means for pruning received orders if a credit limit associated with such received orders has been exceeded proceeds by a LIFO process.
14. The system of claim 8, wherein the plurality of the orders are received from a wide area network.
15. A computer program, stored on a computer-readable medium, for processing a plurality of trading orders, each order including one or more offers to buy or sell items, the computer program comprising instructions for causing a computer to: (a) receive a plurality of orders during a preselected period; (b) prune a first portion of the received orders not haying a one or more contra trading orders among the other received orders; (c) prune a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded; and (d) process the received orders remaining after pruning the first and second portions to determine trading quantities and prices to assign to the offers therein.
16. The computer program of claim 15. further including instructions for causing the computer to prune a third portion of the received orders in response to orders remaining after pruning the second portion not having one or more contra trading orders among the other received orders.
17. The computer program of claim 15 or claim 16, wherein the credit limit is one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
18. The computer program of claim 17, further including instructions for causing the computer to reduce the credit limit associated with a trader's firm by the value of trading quantities assigned to the trader's offers.
19. The computer program of claim 15, further including instructions for causing the computer to determine trading quantities and prices for the offers according to an algorithm for a single-price call market.
20. The computer program of claim 15, wherein pruning received orders if a credit limit associated with such received orders has been exceeded proceeds by a LIFO process.
21. The computer program of claim 15. wherein the plurality of the orders are received from a wide area network.
22. A method of operating an interface that enables a trader to submit trading orders to a processor module operating an automated trading market, including: (a) receiving an order at the interface, the order offering to trade a plurality of items on the market and providing offering prices for the items therein; (b) computing collar value ranges for the items of the order, the ranges having widths determined by a collar value and being located about reference values of the items; (c) comparing the offering prices for the items to the associated collar value ranges; and (d) alerting the trader that one or more of the offering prices is outside of the range in response to the offering price of one or more of the items being outside of the associated collar value range.
23. The method of claim 22, further including receiving the collar value from the trader prior to receiving the order.
24. The method of claim 22, wherein the reference value is defined by an external source of values for the items traded on the market.
25. The method claim 22, further including determining trading quantities and trading prices for the items in response to determining that the offers of the order are within the associated collar value ranges.
26. The method of claim 22, further including receiving a revised order to trade the items in response to the act of alerting, the offering price of the one of the items being modified to be within the associated collar value range in the revised order.
27. The method of claim 22, further including processing the order according to an algorithm for a single price call market to determine trading quantities and prices of the items offered therein.
28. A computer processing system for operating an interface that enables a trader to submit trading orders to a processor module operating an automated trading market, including: (a) means for receiving an order at the interface, the order offering to trade a plurality of items on the market and providing offering prices for the items therein; (b) means for computing collar value ranges for the items of the order, the ranges having widths determined by a collar value and being located about reference values of the items; (c) means for comparing the offering prices for the items to the associated collar value ranges; and (d) means for alerting the trader that one or more of the offering prices is outside of the range in response to the offering price of one or more of the items being outside of the associated collar value range.
29. The system of claim 28, further including means for receiving the collar value from the trader prior to receiving the order.
30. The system of claim 28, wherein the reference value is defined by an external source of values for the items traded on the market.
31. The system claim 28, further including means for determining trading quantities and trading prices for the items in response to determining that the offers of the order are within the associated collar value ranges.
32. The system of claim 28, further including means for receiving a revised order to trade the items in response to the act of alerting, the offering price of the one of the items being modified to be within the associated collar value range in the revised order.
33. The system of claim 28, further including means for processing the order according to an algorithm for a single price call market to determine trading quantities and prices of the items offered therein.
34. A computer program, stored on a computer-readable medium, for operating an interface that enables a trader to submit trading orders to a processor module operating an automated trading market, the computer program comprising instructions for causing a computer to: (a) receive an order at the interface, the order offering to trade a plurality of items on the market and providing offering prices for the items therein; (b) compute collar value ranges for the items of the order, the ranges having widths determined by a collar value and being located about reference values of the items; (c) compare the offering prices for the items to the associated collar value ranges; and (d) alert the trader that one or more of the offering prices is outside of the range in response to the offering price of one or more of the items being outside of the associated collar value range.
35. The computer program of claim 34. further including instructions for causing the computer to receive the collar value from the trader prior to receiving the order.
36. The computer program of claim 34, wherein the reference value is defined by an external source of values for the items traded on the market.
37. The computer program claim 34, further including instructions for causing the computer to determine trading quantities and trading prices for the items in response to determining that the offers of the order are within the associated collar value ranges.
38. The computer program of claim 34, further including instructions for causing the computer to receive a revised order to trade the items in response to the act of alerting, the offering price of the one of the items being modified to be within the associated collar value range in the revised order.
39. The computer program of claim 34, further including instructions for causing the computer to process the order according to an algorithm for a single price call market to determine trading quantities and prices of the items offered therein.
40. A computerized method of permitting a plurality of trading entities, each having an associated credit limit, to initiate orders in excess of such credit limits, each order including one or more offers to buy or sell items, including: (a) receiving a plurality of orders during a preselected period; (b) pruning a first portion of the received orders not having a one or more contra trading orders among the other received orders; and (c) pruning a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded.
41. The method of claim 40, further including pruning a third portion of the received orders in response to orders remaining after pruning the second portion not having one or more contra trading orders among the other received orders.
42. The method of claim 40 or claim 41 , wherein the credit limit is one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
43. The method of claim 42, further including reducing the credit limit associated with a trader's firm by the value of trading quantities assigned to the trader's offers.
44. The method of claim 40, further including determining trading quantities and prices for the offers according to an algorithm for a single-price call market.
45. The method of claim 40, wherein pruning received orders if a credit limit associated with such received orders has been exceeded proceeds by a LIFO process.
46. The method of claim 40, wherein the plurality of the orders are received from a wide area network.
47. A computer processing system for permitting a plurality of trading entities, each having an associated credit limit, to initiate orders in excess of such credit limits, each order including one or more offers to buy or sell items, including: (a) means for receiving a plurality of orders during a preselected period; (b) means for pruning a first portion of the received orders not having a one or more contra trading orders among the other received orders; and (c) means for pruning a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded.
48. The system of claim 47, further including means for pruning a third portion of the received orders in response to orders remaining after pruning the second portion not having one or more contra trading orders among the other received orders.
49. The system of claim 47 or claim 48, wherein the credit limit is one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
50. The system of claim 49, further including means for reducing the credit limit associated with a trader's firm by the value of trading quantities assigned to the trader's offers.
51. The system of claim 47, further including means for determining trading quantities and prices for the offers according to an algorithm for a single-price call market.
52. The system of claim 47, wherein pruning received orders if a credit limit associated with such received orders has been exceeded proceeds by a LIFO process.
53. The system of claim 47, wherein the plurality of the orders are received from a wide area network.
54. A computer program, stored on a computer-readable medium, for permitting a plurality of trading entities, each having an associated credit limit, to initiate orders in excess of such credit limits, each order including one or more offers to buy or sell items, the computer program comprising instructions for causing a computer to: (a) receive a plurality of orders during a preselected period; (b) prune a first portion of the received orders not having a one or more contra trading orders among the other received orders; and (c) prune a second portion of the received orders remaining after pruning the first portion if a credit limit associated with such received orders has been exceeded.
55. The computer program of claim 54, further including instructions for causing the computer to prune a third portion of the received orders in response to orders remaining after pruning the second portion not having one or more contra trading orders among the other received orders.
56. The computer program of claim 54 or claim 55, wherein the credit limit is one or more of a firm credit limit, a trader credit limit, and a broker credit limit.
57. The computer program of claim 56, further including instructions for causing the computer to reduce the credit limit associated with a trader's firm by the value of trading quantities assigned to the trader's offers.
58. The computer program of claim 54, further including instructions for causing the computer to determine trading quantities and prices for the offers according to an algorithm for a single-price call market.
59. The computer program of claim 54, wherein pruning received orders if a credit limit associated with such received orders has been exceeded proceeds by a LIFO process.
60. The computer program of claim 54, wherein the plurality of the orders are received from a wide area network.
PCT/US2000/003597 1999-02-12 2000-02-11 Processing orders to a computerized trading market WO2000048113A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU33620/00A AU3362000A (en) 1999-02-12 2000-02-11 Processing orders to a computerized trading market

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11988899P 1999-02-12 1999-02-12
US60/119,888 1999-02-12
US13310299P 1999-05-07 1999-05-07
US60/133,102 1999-05-07

Publications (2)

Publication Number Publication Date
WO2000048113A1 true WO2000048113A1 (en) 2000-08-17
WO2000048113A9 WO2000048113A9 (en) 2001-09-13

Family

ID=26817825

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/003597 WO2000048113A1 (en) 1999-02-12 2000-02-11 Processing orders to a computerized trading market

Country Status (2)

Country Link
AU (1) AU3362000A (en)
WO (1) WO2000048113A1 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107232B2 (en) * 2000-02-16 2006-09-12 Morris Robert A Method and system for facilitating a sale
US7392219B2 (en) 2003-03-31 2008-06-24 Trading Technologies International, Inc. System and method for variably regulating order entry in an electronic trading system
US7426490B1 (en) 2002-10-31 2008-09-16 Trading Technologies International, Inc. System and method for automated order entry on short queues
US7529707B2 (en) 2004-08-04 2009-05-05 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7565315B2 (en) 2003-01-31 2009-07-21 Trading Technologies International, Inc. System and method for displaying money management information in an electronic trading environment
US7577605B2 (en) 2004-08-04 2009-08-18 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7584130B1 (en) 2002-11-26 2009-09-01 Trading Technologies International, Inc. System and method for risk management using average expiration times
US7603303B1 (en) 2002-11-26 2009-10-13 Trading Technologies International, Inc. System and method for risk management
US7610240B2 (en) 2002-02-19 2009-10-27 Trading Technologies International, Inc. System and method for simulating an electronic trading environment
US7672898B1 (en) 2006-07-07 2010-03-02 Trading Technologies International Inc. Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy
US8229807B2 (en) 2007-08-12 2012-07-24 Elbizri Samer System and method of offsetting invoice obligations
US8271903B2 (en) 2003-12-30 2012-09-18 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management
US8533104B2 (en) 2011-10-07 2013-09-10 Trading Technologies International, Inc Multi-broker order routing based on net position
US8738512B2 (en) 2011-01-26 2014-05-27 Trading Technologies International, Inc. Block placing tool for building a user-defined algorithm for electronic trading
US8744953B2 (en) 2003-09-22 2014-06-03 Trading Technologies International, Inc System and method for icon oriented representation of trading strategies
US9652803B2 (en) 2009-10-20 2017-05-16 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US9805417B2 (en) 2002-06-19 2017-10-31 Trading Technologies International, Inc. System and method for automated trading
US9972049B2 (en) 2002-03-05 2018-05-15 Trading Technologies International, Inc. System and method for performing automatic spread trading
US10565646B2 (en) 2015-08-05 2020-02-18 Trading Technologies International, Inc. Methods and apparatus to internalize trade orders
US10817937B1 (en) 2003-02-28 2020-10-27 Trading Technologies International, Inc. Method and system for internal matching
US11100582B2 (en) 2003-09-22 2021-08-24 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924083A (en) * 1996-05-29 1999-07-13 Geneva Branch Of Reuters Transaction Services Limited Distributed matching system for displaying a book of credit filtered bids and offers
US6012046A (en) * 1995-12-12 2000-01-04 Optimark Technologies, Inc. Crossing network utilizing satisfaction density profile with price discovery features
US6029146A (en) * 1996-08-21 2000-02-22 Crossmar, Inc. Method and apparatus for trading securities electronically

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012046A (en) * 1995-12-12 2000-01-04 Optimark Technologies, Inc. Crossing network utilizing satisfaction density profile with price discovery features
US5924083A (en) * 1996-05-29 1999-07-13 Geneva Branch Of Reuters Transaction Services Limited Distributed matching system for displaying a book of credit filtered bids and offers
US6029146A (en) * 1996-08-21 2000-02-22 Crossmar, Inc. Method and apparatus for trading securities electronically

Cited By (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107232B2 (en) * 2000-02-16 2006-09-12 Morris Robert A Method and system for facilitating a sale
US7610240B2 (en) 2002-02-19 2009-10-27 Trading Technologies International, Inc. System and method for simulating an electronic trading environment
US10304131B2 (en) 2002-02-19 2019-05-28 Trading Technologies International, Inc. System and method for simulating an electronic trading environment
US8239315B2 (en) 2002-02-19 2012-08-07 Trading Technologies International, Inc. System and method for simulating an electronic trading environment
US8694414B2 (en) 2002-02-19 2014-04-08 Trading Technologies International, Inc System and method for simulating an electronic trading environment
US7672895B2 (en) 2002-02-19 2010-03-02 Trading Technologies International, Inc. System and method for simulating an electronic trading environment
US10699341B2 (en) 2002-03-05 2020-06-30 Trading Technologies International, Inc. System and method for performing automatic spread trading
US10453138B2 (en) 2002-03-05 2019-10-22 Pablo, Llc System and method for performing automatic spread trading
US10902518B2 (en) 2002-03-05 2021-01-26 Pablo, Llc System and method for performing automatic spread trading
US9972049B2 (en) 2002-03-05 2018-05-15 Trading Technologies International, Inc. System and method for performing automatic spread trading
US9805417B2 (en) 2002-06-19 2017-10-31 Trading Technologies International, Inc. System and method for automated trading
US7426490B1 (en) 2002-10-31 2008-09-16 Trading Technologies International, Inc. System and method for automated order entry on short queues
US8170950B1 (en) 2002-10-31 2012-05-01 Trading Technologies International, Inc. System and method for automated order entry on short queues
US7483855B1 (en) 2002-10-31 2009-01-27 Trading Technologies International, Inc. System and method for automated order entry on short queues
US10600120B2 (en) 2002-10-31 2020-03-24 Trading Technologies International, Inc. System and method for automated order entry on short queues
US8751358B2 (en) 2002-10-31 2014-06-10 Trading Technologies International, Inc System and method for automated order entry on short queues
US11068986B2 (en) 2002-10-31 2021-07-20 Trading Technologies International, Inc. System and method for automated order entry on short queues
US7603303B1 (en) 2002-11-26 2009-10-13 Trading Technologies International, Inc. System and method for risk management
US7792735B1 (en) 2002-11-26 2010-09-07 Trading Technologies International, Inc. System and method for risk management using average expiration times
US8676693B2 (en) 2002-11-26 2014-03-18 Trading Technologies International, Inc System and method for risk management using average expiration times
US8566209B2 (en) 2002-11-26 2013-10-22 Trading Technologies International, Inc System and method for risk management
US8380599B2 (en) 2002-11-26 2013-02-19 Trading Technologies International, Inc. System and method for risk management
US7991667B2 (en) 2002-11-26 2011-08-02 Trading Technologies International, Inc. System and method for risk management
US8799145B2 (en) 2002-11-26 2014-08-05 Trading Technologies International, Inc System and method for risk management using average expiration times
US8255313B2 (en) 2002-11-26 2012-08-28 Trading Technologies International, Inc. System and method for risk management
US7584130B1 (en) 2002-11-26 2009-09-01 Trading Technologies International, Inc. System and method for risk management using average expiration times
US8396784B2 (en) 2003-01-31 2013-03-12 Trading Technologies International, Inc. System and method for displaying money management information in an electronic trading environment
US8738510B2 (en) 2003-01-31 2014-05-27 Trading Technologies International, Inc. System and method for money management using a plurality of profit levels in an electronic trading environment
US7565315B2 (en) 2003-01-31 2009-07-21 Trading Technologies International, Inc. System and method for displaying money management information in an electronic trading environment
US10102574B2 (en) 2003-01-31 2018-10-16 Trading Technologies International, Inc. Systems and method for displaying money management information in an electronic trading environment
US7580882B2 (en) 2003-01-31 2009-08-25 Trading Technologies International, Inc. System and method for displaying money management information in an electronic trading environment
US8046283B2 (en) 2003-01-31 2011-10-25 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US9972050B2 (en) 2003-01-31 2018-05-15 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US9824395B2 (en) 2003-01-31 2017-11-21 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US7584143B2 (en) 2003-01-31 2009-09-01 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US9727918B2 (en) 2003-01-31 2017-08-08 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US8452690B2 (en) 2003-01-31 2013-05-28 Trading Technologies International, Inc. System and method for money management using a plurality of profit levels in an electronic trading environment
US8533102B2 (en) 2003-01-31 2013-09-10 Trading Technologies International, Inc. System and method for money management using a plurality of profit levels in an electronic trading environment
US7587356B2 (en) 2003-01-31 2009-09-08 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US8781950B2 (en) 2003-01-31 2014-07-15 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US8781949B2 (en) 2003-01-31 2014-07-15 Trading Technologies International, Inc. System and method for displaying money management information in an electronic trading environment
US8577765B2 (en) 2003-01-31 2013-11-05 Trading Technologies International, Inc. System and method for displaying profit related information in an electronic trading environment
US8219485B2 (en) 2003-01-31 2012-07-10 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US7813997B2 (en) 2003-01-31 2010-10-12 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US8682765B2 (en) 2003-01-31 2014-03-25 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US7752117B2 (en) 2003-01-31 2010-07-06 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US7707098B2 (en) 2003-01-31 2010-04-27 Trading Technologies International, Inc. System and method for money management using a plurality of profit levels in an electronic trading environment
US11120501B2 (en) 2003-02-28 2021-09-14 Trading Technologies International, Inc. Method and system for internal matching
US10817937B1 (en) 2003-02-28 2020-10-27 Trading Technologies International, Inc. Method and system for internal matching
US8543485B2 (en) 2003-03-31 2013-09-24 Trading Technologies International, Inc. System and method for variably regulating order entry in an electronic trading system
US7392219B2 (en) 2003-03-31 2008-06-24 Trading Technologies International, Inc. System and method for variably regulating order entry in an electronic trading system
US7904370B2 (en) 2003-03-31 2011-03-08 Trading Technologies International, Inc. System and method for variably regulating order entry in an electronic trading system
US10354326B2 (en) 2003-09-22 2019-07-16 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management
US11100582B2 (en) 2003-09-22 2021-08-24 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management
US8744953B2 (en) 2003-09-22 2014-06-03 Trading Technologies International, Inc System and method for icon oriented representation of trading strategies
US11631132B2 (en) 2003-09-22 2023-04-18 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management
US8271903B2 (en) 2003-12-30 2012-09-18 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management
US9159103B2 (en) 2003-12-30 2015-10-13 Trading Technologies International, Inc. System and method for dynamically determining quantity for risk management
US8756137B2 (en) 2004-08-04 2014-06-17 Bgc Partners, Inc. Electronic trading system restricting trading orders
US10817942B2 (en) 2004-08-04 2020-10-27 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US8321324B2 (en) 2004-08-04 2012-11-27 Bgc Partners, Inc. Managing outlying trading orders
US8788400B2 (en) 2004-08-04 2014-07-22 Bgc Partners, Inc. Managing outlying trading orders
US11354740B2 (en) 2004-08-04 2022-06-07 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US8630936B2 (en) 2004-08-04 2014-01-14 Bgc Partners, Inc. Outlying trading orders
US7577605B2 (en) 2004-08-04 2009-08-18 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7835979B2 (en) 2004-08-04 2010-11-16 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US8224733B2 (en) 2004-08-04 2012-07-17 Cfph, Llc System and method for managing trading using alert messages for outlying trading orders
US10229456B2 (en) 2004-08-04 2019-03-12 Bgc Partners, Inc. System and method managing trading using alert messages for outlying trading orders
US7529707B2 (en) 2004-08-04 2009-05-05 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7620591B2 (en) 2004-08-04 2009-11-17 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7996300B2 (en) 2006-07-07 2011-08-09 Trading Technologies International Inc. Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy
US9805418B2 (en) 2006-07-07 2017-10-31 Trading Technologies International, Inc. Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy
US7672898B1 (en) 2006-07-07 2010-03-02 Trading Technologies International Inc. Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy
US8156037B2 (en) 2006-07-07 2012-04-10 Trading Technologies International Inc. Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy
US8229807B2 (en) 2007-08-12 2012-07-24 Elbizri Samer System and method of offsetting invoice obligations
US11449939B2 (en) 2009-10-20 2022-09-20 Trading Technologies International, Inc. User-defined algorithm electronic trading
US11257156B2 (en) 2009-10-20 2022-02-22 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US10096066B2 (en) 2009-10-20 2018-10-09 Trading Technologies International, Inc. User-defined algorithm electronic trading
US11842401B2 (en) 2009-10-20 2023-12-12 Trading Technologies International, Inc. User-defined algorithm electronic trading
US11823270B2 (en) 2009-10-20 2023-11-21 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US10504182B2 (en) 2009-10-20 2019-12-10 Trading Technologies International, Inc. User-defined algorithm electronic trading
US9652803B2 (en) 2009-10-20 2017-05-16 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US11055782B2 (en) 2009-10-20 2021-07-06 Trading Technologies International, Inc. User-defined algorithm electronic trading
US11568491B2 (en) 2009-10-20 2023-01-31 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US10296975B2 (en) 2009-10-20 2019-05-21 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US10572942B2 (en) 2009-10-20 2020-02-25 Trading Technologies International, Inc. Virtualizing for user-defined algorithm electronic trading
US11514524B2 (en) 2011-01-26 2022-11-29 Trading Technologies International, Inc. Block placing tool for building a user-defined algorithm for electronic trading
US8738512B2 (en) 2011-01-26 2014-05-27 Trading Technologies International, Inc. Block placing tool for building a user-defined algorithm for electronic trading
US10121197B2 (en) 2011-01-26 2018-11-06 Trading Technologies International, Inc. Block placing tool for building a user-defined algorithm for electronic trading
US10748211B2 (en) 2011-01-26 2020-08-18 Trading Technologies International, Inc. Block placing tool for building a user-defined algorithm for electronic trading
US11900458B2 (en) 2011-01-26 2024-02-13 Trading Technologies International, Inc. Block placing tool for building a user-defined algorithm for electronic trading
US10664913B2 (en) 2011-10-07 2020-05-26 Trading Technologies International, Inc. Multi-broker order routing based on net position
US8533104B2 (en) 2011-10-07 2013-09-10 Trading Technologies International, Inc Multi-broker order routing based on net position
US10062114B2 (en) 2011-10-07 2018-08-28 Trading Technologies International, Inc. Multi-broker order routing based on net position
US11270378B2 (en) 2015-08-05 2022-03-08 Trading Technologies International, Inc. Methods and apparatus to internalize trade orders
US10565646B2 (en) 2015-08-05 2020-02-18 Trading Technologies International, Inc. Methods and apparatus to internalize trade orders
US11631134B2 (en) 2015-08-05 2023-04-18 Trading Technologies International, Inc. Methods and apparatus to internalize trade orders

Also Published As

Publication number Publication date
AU3362000A (en) 2000-08-29
WO2000048113A9 (en) 2001-09-13

Similar Documents

Publication Publication Date Title
US7908199B2 (en) System and method of responding to orders in a securities trading system
AU2005201966B2 (en) Network-based trading system and method
WO2000048113A1 (en) Processing orders to a computerized trading market
JP5538582B2 (en) Method and system for pricing options
JP4362362B2 (en) Price improvement crossing system
US8175956B2 (en) Method and apparatus for automated trading of equity securities using a real time data analysis
US8160950B2 (en) Method and apparatus for trading assets
US20030233307A1 (en) System and method for exchange and transaction processing for fixed income securities trading
US20020161690A1 (en) System, medium and method for trading fixed income securities
US8793178B2 (en) Electronic bartering system with facilitating tools
US20050187858A1 (en) Fixed income security offerings management techniques and related applications
US20120197776A1 (en) Trade Matching Platform with Variable Pricing Based on Clearing Relationships
US20140324668A1 (en) Trade Matching Platform with Variable Pricing Based on Clearing Relationships
WO2000070506A1 (en) Network-based trading system and method
US20130204769A1 (en) Trade Matching Platform with Variable Pricing Based on Clearing Relationships
US20120047059A1 (en) Method, system, market enviroment, computer program product and financial product for issuing and selling a primary security on a secondary market
US11763378B2 (en) System and method for a loan trading exchange
US11734752B2 (en) System and method for a loan trading exchange
US20230082727A1 (en) System and Method for a Loan Trading Exchange
AU2005201973B2 (en) Network-based trading system and method
US20090076979A1 (en) Determining investor interest

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Kind code of ref document: C2

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

AL Designated countries for regional patents

Kind code of ref document: C2

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

COP Corrected version of pamphlet

Free format text: PAGES 1/10-10/10, DRAWINGS, REPLACED BY NEW PAGES 1/10-10/10; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase