WO2001061547A2 - Market engine having customizable crossing components - Google Patents
Market engine having customizable crossing components Download PDFInfo
- Publication number
- WO2001061547A2 WO2001061547A2 PCT/US2001/005337 US0105337W WO0161547A2 WO 2001061547 A2 WO2001061547 A2 WO 2001061547A2 US 0105337 W US0105337 W US 0105337W WO 0161547 A2 WO0161547 A2 WO 0161547A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- component
- transactions
- crossing
- orders
- components
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- the present invention relates to the field of electronic commerce (e- commerce) and particularly to electronic systems for supervising transactions among multiple transaction initiators and multiple transaction processors and for internal and external crossing of orders in capital and other e-commerce markets.
- e- commerce electronic commerce
- Alternative trading systems have an increasing presence in the securities markets.
- alternative trading systems include Instinet, Optimark, Attain, Archipelago, Island, REDI, Posit and the Arizona Stock Optimark, Attain, Archipelago, Island, REDI, Posit and the Arizona Stock Exchange.
- Dramatic growth in the number of alternative trading systems and in the volume of securities traded by alternative trading systems have permitted companies to offer faster, less expensive and more flexible ways for investors to trade. This growth has evolved as a result of developments in electronic technology and the growth has been accelerated by the inability of conventional regulated exchanges to satisfy the changing needs ofthe marketplace.
- securities industry professionals and institutional investors generally have been the principal users of alternative trading systems, future systems will extend to all segments of the marketplace.
- program trading has been within the domain of large companies and expert traders because ofthe significant technical resources that are required.
- a basic facility for program trading involves a powerful store, expensive market connections, software for entering the market data into the store and for analyzing the stored data, and programs with wanted "conditioning" code that queries the available data and determines the appropriate reaction to specified conditions.
- Most retail customers do not have access to even a basic facility and many customers and companies want greater capabilities with more flexibility in reacting to market conditions than is possible with plain market orders and limit orders.
- Alternative trading systems are now regulated in the U. S. by the Securities and Exchange Commission (SEC). Under U.S. regulations, alternative trading systems can choose whether to be treated as "exchanges" or as "broker-dealers". Alternative trading systems registered with the SEC as exchanges have a need to ensure that participants comply with securities laws. Such laws may exempt from exchange regulation internal order management systems and systems that allow customers to trade solely against a dealer's inventory. Alternative trading systems registered with the SEC as broker-dealers may require, for example, regular reports, audit trails of transactions, links with a registered market, public display of quotes and orders while providing fair access to the markets.
- SEC Securities and Exchange Commission
- the present invention is a crossing method and apparatus for an e- commerce system for electronic transactions.
- Electronic transactions involve participants having interests in instruments to be crossed.
- a crossing unit stores variables for use in mapping the interests ofthe participants, stores constraints for limiting the mapping of interests of the participants and stores an expression relating the variables.
- the crossing unit operates to determine values of the variables that optimize the expression, while satisfying the constraints, thereby mapping the interests ofthe participants.
- the crossing unit forms an estimate ofthe values that optimize the expression.
- processing continues at least until the estimate is reached.
- the processing continues until a percentage ofthe estimate is reached.
- the crossing unit stores values ofthe variables for one iteration of determining values and uses the stored values in a subsequent iteration.
- the present invention in one embodiment is implemented in a crossing component of a market engine where the e-commerce system for electronic transactions using external transaction units for transactions, networks for interconnecting the transaction units with one or more market engines.
- the market engines supervise transactions based on information gathered from the e-commerce system.
- the market engine includes a plurality of components for processing transactions including transaction unit interface components for interfacing with transaction units; execution components for executing transactions and a connection element connecting said components.
- Each ofthe plurality of components includes computers, operating systems executing on the computers and application processes executing on the computers under control of the operating systems.
- the application processes include a function application for executing functions, a communication application for controlling communication among the components, a resource management component for controlling the allocation of processes among the computers.
- the market engine operates using execution components selected from a group that includes, for example, a routing component, a trigger component, a crossing component, a scripting component, a stock component, a bond component, a currency component, an options component, an accounting component, a storage component, and a supervisor component.
- the market engine operates using interface components selected from a group that includes a transaction initiator interface component, a transaction processing interface component and a data access interface component.
- the market engine operates using, at times, auxiliary components such as an accounting component, a storage component, a supervisor component.
- the partitioning of functions in different components is based on different functions can be modified to include many different combinations and other components not specifically identified can be used.
- the market engine operates to supervise transactions and their routing and submission to transaction processors and thus operates to overcome the fragmentation ofthe e-commerce market represented by many diverse transaction processors.
- the market engine has a close association with a transaction processor for providing "internal" transaction processing in an integrated market engine.
- a market engine integrated with a transaction processor By having a market engine integrated with a transaction processor, internal crossings and other internal executions are performed efficiently.
- the market engine has knowledge of external data about similar transactions and has other external data available, the integrated market engine does not make decisions in a vacuum without reference to the entire e-commerce system.
- Such external knowledge about the e-commerce system is used to ensure fairness of internal transactions as measured across the entire e- commerce system. Particularly, internal crossings can be determined as fair in relationship to possible external crossings.
- the internal crossings are fair in a manner that is or can be transparent to the external transaction processors. Fairness is promoted when the market engine considers information about internal transactions based upon transactions from at least one external transaction processor.
- FIG. 1 depicts an e-commerce system having a group of market engines for supervising and integrating the operations of multiple transaction units.
- FIG. 2 depicts details ofthe transaction units of FIG. 1.
- FIG. 3 depicts a typical market engine formed of multiple components of the type typically used in the market engines ofthe e-commerce system of FIG. 1.
- FIG. 4 depicts an e-commerce system having market engines and external transaction processors.
- FIG. 5 depicts an e-commerce system having market engines located in different groups.
- FIG. 6 depicts details of a typical component of within a typical market engine.
- FIG. 7 depicts details ofthe interconnection of multiple components ofthe FIG. 6 type.
- FIG. 8 depicts the logical flow for virtual ECN operations using a subset of the possible components.
- FIG. 9 depicts an example of the logical flow of information from one component to another component.
- FIG. 10 depicts the flow of data through the optimization process.
- FIG. 1 E-commerce System
- FIG. 1 depicts an e-commerce system 2 for performing e-commerce transactions using electronic networks 13.
- e-commerce transactions include, for example, buying, selling, negotiation, crossing, and analysis as related to electronic instruments such as stocks and bonds, foreign currency, commodities, derivatives, books, insurance, real estate, information and any other "widget” or “entity” having value.
- the networks 13 include any electronic network such as the Internet, wide area networks (WAN), local area networks (LAN), public switched telephone networks (PSTN), wireless networks and any other type of public or private network and any combination thereof.
- Transactions in the system of FIG. 1 are initiated, in some instances, with transaction initiators in one or more of the transaction units 7, designated as transaction units 7-1, ..., 7-Tr.
- Transactions are processed, in some instances, in transaction processors in one or more of the transaction units 7.
- the transaction initiation and processing is supervised by one or more market engines 9, designated as market engines 9-1, 9-2, ..., 9-Ma.
- one or more ofthe market engines 9 are capable of initiating and processing transactions internally when one or more initiation and/or processing components are integrated into the one or more market engines 9.
- one or more ofthe market engines 9 are used to unify liquidity of different transaction processors.
- the market engines 9 respond to initiated transactions and supervise interaction among the transaction units 7 and the different market engines 9 to control the routing ofthe initiated transactions, the processing of transactions and the coordinating, gathering, storing and distributing of information useful for transaction supervision and processing.
- the market engines 9 are able to access and maintain information about transactions collectively as well as about each ofthe individual transactions being processed in the market engines 9. Where high reliability in transaction handling is required, the connections among transaction units 7 and market engines 9 are redundant or are otherwise configured to ensure high reliability and high availability.
- connections between transaction units 7 and market engines 9 is genetically shown through networks 13 and it is to be understood that such connections in networks 13 can include direct connections between particular transaction units 7 and between particular market engines 9.
- Each ofthe market engines 9 typically receives information from all, or a significant subset, of the transaction units 7 and the other market engines 9 so that each market engine 9 is able to supervise the routing and control of transactions based upon an overview ofthe e-commerce system 2.
- the transaction units 7 each represent different transaction initiators, such as brokers and brokers" customers, or different transaction processors, such as exchanges, ATSes and ECNs. As the number of transaction units 7 increases, the greater becomes the fragmentation of the marketplace into different pools ("liquidity pools").
- the e-commerce system 2 overcomes marketplace fragmentation by interconnecting the many different pools of liquidity into a virtual common marketplace.
- the e-commerce system 2 promotes high liquidity by integrating the liquidity pools represented by the different transaction units 7 and the market engines 9.
- the e-commerce system 2 when connected to the world's marketplaces creates a centralized global order book.
- the e-commerce system 2 when connected to a company's branches creates a centralized company-wide order book. Such connections reduce overhead by streamlining transaction handling and thereby cut operational and organizational costs.
- the e-commerce system 2 of FIG. 1 is flexible and accommodates a full range of financial transactions, including stocks, bonds, foreign exchange and other commercial "widgets" or "entities”.
- System 2 provides an architecture for robust and high-speed intelligent routing and processing of transactions in a global, 24/7 marketplace with high-reliability and uninterrupted operation. Optimal executions are promoted in the e-commerce system 2 in a manner that tends to overcome the sub-optimal executions that are characteristic of fragmented financial markets.
- Transaction processors benefit from a seamless integration, and in some embodiments are able to process transactions internally while guaranteeing fairness of executions by connecting to a set of market engines.
- the market engines in the FIG. 1 system operating together in a group promote consistently fair executions for customers, thereby meeting the fairness burden for each of the participants, while greatly improving information gathering and dissemination for all.
- one or more of the market engines 9 is typically integrated to include transaction unit (TU) components.
- ATS alternative trading systems
- ECN electronic communication networks
- Many different combinations of components can be integrated into each market engine 9.
- the integrated market engine 9 is particularly useful for companies that wish to internally cross orders of their own customers, that is, match a company-internal buy order with a company- internal sell order of another ofthe company's customers.
- the company can also act as the principal in any or all transactions.
- integrating multiple transaction units is equally applicable to integrating internal transaction processors with other internal transactions processors, internal transaction processors with external transaction processors as well as external transaction processors with other external transaction processors.
- the crossing components function for a company regardless of whether or not the company has branches and irrespective of the number of those branches.
- the integrated market engine 9 thus forms a company- wide order book internally for all the branches and potentially externally for all companies connected to the entire system 2.
- the internal crossing component allows a company to maintain internal control over crossing operations while significantly reducing execution costs that are associated with external crossing.
- the intelligent routing component of a market engine 9 provides an ability to monitor and access external liquidity pools at other market engines in real-time and with reliable, around-the- clock operation. Such pools can be dynamically added. Although a market engine may be partially impacted by the unavailability of particular pools, a market engine continues to serve and utilize the remaining pools.
- transaction units 7 include, for example, transaction initiators 10, such as brokers 20 and customers 23 (including funds and retail customers), and include transaction processors 12 such as exchanges 24, alternative trading systems
- Transaction initiators are not restricted to just buy-side (money managers such as pension funds, mutual funds and hedge funds) or sell-side institutions (brokers that buy and sell on behalf of others) but include any entity capable of initiating a transaction.
- transaction processors include any entity capable of processing one or more transactions. This includes transaction aggregators, or any other entity modifying or using the information contained in the initiated transaction for processing.
- FIG. 3 In FIG. 3, one typical market engine 9 is shown formed of multiple components 71, designated as components 71-1, ..., 71 -Co interconnected internally by a connection element 67.
- Each of the components 71 of FIG. 3 includes a computer that can range in size from small computers, such as standard personal computers (PCs), to large-scale computers, such as mainframes.
- PCs personal computers
- Single and multi-processor computers and single and multi-computer configurations can be employed for each of the one or more components 71.
- two or more components 71 can reside on a single hardware platform formed of one or more computers. Such two or more components on a single hardware platform are considered as logical components that are the equivalent of the physical components that exist when each component resides on a separate hardware platform.
- connection element 67 is a logical entity that provides the necessary physical interconnection of each ofthe components 71.
- the connection element is a local area network, addressable spaces in a storage component, a point-to-point switch and using any media including wireline, wireless such as infrared and microwave or any other means of transferring data between components.
- the components 71 include, for example, a routing component, a trigger component, a crossing component, a scripting component, a stock component, a bond component, a currency component, an options component, an accounting component, a TI interface component, a TP interface component, a DA interface component, a storage component, a supervisor component and other components.
- Routing Component functions to route transactions and process information external to market engine 9.
- the routing component processes routing instructions and also potentially receives inputs from or provides outputs to the trigger component, the stock component and similarly other components.
- the routing component is characterized as an execution component in that it controls remote execution.
- the routing component because it actually executes trades externally is not merely a component limited to displaying a list of comparable external prices.
- the routing component also uses information about one or more internal orders and tries to find an optimal execution constellation considering both the internal and external information.
- the routing component is particularly suitable for an institution with many trades. With such internal and external consideration of information, better prices for trades are achieved.
- the routing component greatly enhances the operation by also considering external markets.
- the consideration of the combination internal markets for efficiency and the external markets for fairness and higher liquidity provides substantial benefit both to the market engine owners and to the customers.
- Crossing Component functions to internally cross orders available internally to the market engine 9 and hence functions as an internal ECN.
- the market engine 9 is in a market engine owned by a single company, the company can cross orders of its own customers, that is, match a buy order from one of the company's customers with a sell order of another ofthe company's customers.
- a company- wide order book is maintained in a storage component 71.
- each company can cross orders of its own customers, that is, match a buy order from one of the company's customers with a sell order of another ofthe company's customers.
- each company has its company- wide order book maintained in a storage component in a secure manner that is confidential and not available to other companies unless access to other companies has been granted.
- the crossing component 71-3 has customizable parameters that include, for example, crossing triggers, price determination algorithms and crossing behaviors on a per symbol basis or eviction line or increment on a per order basis.
- the crossing component is capable of ensuring fair execution with respect to internal as well as external data references.
- the internal crossing by crossing component offers a fast, expedient, and cost-effective order execution mechanism, particularly for companies with large trading volumes.
- the internal crossing component 71-3 by crossing matching orders internally, avoids the typical execution costs associated with crossing in external exchanges.
- the internal crossing component does not suffer from limited liquidity because it is not limited to only the internal volume that is typically only a fraction of the total available volume in any security or other instrument. Since a lack of liquidity frequently results in sub-optimal execution and/or a reduced opportunity for price improvement, the e-commerce system 2 in FIG. 1 overcomes these problems by making available both internal and external crossing.
- the benefits of internal crossing are, in some embodiments, conditioned upon being within a threshold of externally available executions as determined, for example, using the stock component to search for available external crossings. By use of the combination of the internal crossing with the stock component 71, optimal execution is promoted. Furthermore, exact cost calculations can be applied before routing a trade, taking such things as routing costs, execution costs, order flow into account.
- the stock component redirects the order using the routing component to a more nearly optimal external destination for crossing.
- the stock component also provides an opportunity to execute market orders on a crossing network by treating them as limit orders with the limit constantly adjusted to the best external quote or by immediately executing them at the currently best price internally or externally.
- the customization features ofthe internal crossing component include, for example, control over how orders are crossed, how the crossing price is determined, and the properties ofthe crossing trigger based on such parameters as time window, volume, number of orders present.
- the market engine owner has control over transactions and can decide how to exercise that control. Optimization is an example of how control can be exercised.
- the market engine owner can cross, for example, to maximize the spread or maximize the volume of orders being executed internally. If internal orders are less expensive to execute, there is an incentive to maximize internal orders.
- internal crossing is about the same cost as external, then a company might choose to cross internally or externally in a manner that optimizes volume. For example, aggressively priced orders might be selected for crossing internally and thereby increase volume relative to what is likely if the orders are placed last in line to execute on an external ECN (using a first-in-first- out algorithm).
- optimization is generally "unfair" to some participant. Participants in control ofthe crossing, however, have the ability to define fairness.
- a company owning a market engine with an internal crossing component that is coupled to external information can insure that internal crossings for that company are always made fair relative to crossings on external markets.
- a company is free to set its own policies relative to internal crossings and can make them at least as fair as crossings available on external markets.
- fairness is promoted even though only some participants benefit in some crossings while other participants benefit in other crossings. The net benefit when averaged over a period of time can be improved even though variances in benefits.
- the companies can share crossing opportunities in a sequential manner. For example, a first company's orders first go to the first company's internal crossing component and then, if not crossed, they go to a shared second crossing component operated together with a second company. If they are not matched in the second crossing component, they go to a third crossing component shared by a still different third group of companies. Every step in the sequence from the first, to the second and to the third crossing components of the first company' s order increases the access to more ofthe other companies" liquidity, but likely reduces the first company's ability to more favorably promote the first companies orders relative to the orders ofthe second and third group of companies.
- Each company having an internal crossing component can select which external market (or which sequence of external markets) has preference for any order that cannot be crossed internally. Also, the sequencing of orders not crossed internally can be controlled for external submission. The external orders can be rearranged for external placement in a manner that is different than for internal crossing. Such optimization can also be used in an environment where legal or other requirements force an institution to send out a portion of their liquidity to an external transaction processor. In such an environment, the crossing engine can be used to determine a constellation for which internal use of liquidity is optimal, given the constraint that at least a specified percentage of orders are sent out externally. In effect, the crossing algorithms then determines which orders are sent externally.”
- the stock component includes stock algorithms running in the market engine 9 of one or more market engines.
- the stock component determines near optimal execution among many of the internal and external liquidity pools which are connected in the e-commerce system 2.
- the stock algorithms are used, for example, in conjunction with an internal crossing component which can be an instance ofthe crossing component 71, or which can be a crossing component incorporated directly in the stock component 71, to provide pricing references for determining both internal and external crossing potentials.
- the stock algorithms are used standalone to route orders to nearly optimal external execution destinations for remote executions.
- a stock shopping product is used to determine the best combination of publicly-visible orders from open books. More elaborate implementations are possible including finding an optimal execution involving splitting an order, pooling an order with other orders routed by the market engine and using other order scheduling optimization techniques.
- An example algorithm of a stock component involves a multiple- submission technique for examining closed books or reserve orders.
- the technique involves the submission and withdrawal of an order at a number of closed-book markets, in a round-robin fashion.
- the stock component operates quickly and creates an illusion of parallel submission to all destinations. If the order is submitted at a limit that is more desirable than the best quote available from open books, such a round-robin submission ban potentially achieve a better execution than any visible quote.
- the bond component operates to negotiate trades of corporate and municipal bonds electronically.
- the bond component connects to broker/dealers, fund managers, banks and other locations in the e-commerce system 2 of FIG. 1.
- the bond component matches to portfolios presented to the bond component and the portfolio can be within the same or a different company.
- the bond component periodically and continuously analyzes bonds in available portfolios and attempts to satisfy as many buy and sell bond orders as possible.
- the bond component operates to minimize the total transaction costs (which typically result from large spreads).
- the bond component need not show a preference for any individual investor and can provide fairness across the e-commerce system.
- the bond component is, in one embodiment, targeted to the municipal and corporate bond markets. Since the intrinsic value of a bond is generally perceived to track the going market price, market participants are typically amenable to trading bonds in their whenever spreads in the marketplace are reduced.
- the bond component uses "bartering" to reduce the spread on bonds and hence is a promoter of bond transactions.
- the bond component operates, by way of example, with a first user posting an available bond profile including a sell list, having the bonds in the portfolio that the user is willing to sell, and a buy list, having the bonds that the first user is interested in buying. If at any point, there is another user that wants exactly the opposite transaction (buy and sell interests reversed), the users exchange the bonds directly, eliminating any cash step, where possible.
- Such an atomic barter transaction saves both participants the spread on two conventional transactions.
- the exchange rate can be determined based on the price relative to treasuries if the bonds in question have the same maturity. If the users involved in the transaction are willing to exchange bonds of mismatching maturities, then a common duration measure is applied.
- the bond component also provides a source to purchase or sell municipal and corporate bonds for cash and therefore provides the users with a source of liquidity.
- the currency component operates to buy and sell different currencies.
- Currency is another form of an instrument and operates in many ways like the buying and selling of any other instrument.
- the currency component can operate to find the most favorable exchange rate by connecting to various external currency exchanges or can be connected to the currency exchange desk of a major institution.
- Options Component operates to buy and sell different options. Options are another form of an instrument and operate in many ways like the buying and selling of any other instrument.
- the accounting component operates to perform the accounting functions of the market engine 9 and includes keeping track of transactions, reporting and billing among other accounting functions, usually be integrating to the backend system of the operator.
- the TI interface component includes gateways and other elements to provide protocol and other conversions that are necessary between the market engine 9 and the transaction initiators 10.
- An example of another conversion is to accept different representations of orders (with different formatting, order of fields, etc.) and perform a consolidation step in which the orders are converted into a single representation. After the crossing, orders can then be converted back either to the old format or can be left in the uniform representation for consistency. This is particularly useful when integrating crossing into a legacy system.
- Typical interfaces for transaction initiators 10 are FIX and FIXML.
- the TP interface component includes gateways and other elements to provide protocol and other conversions that are necessary between the market engine 9 and the transaction processors 12.
- Typical interfaces for transaction processors 12 are FIX and FIXML. Many other proprietary or non- proprietary protocols are possible.
- the island ECN uses the proprietary OUCH protocol.
- the DA interface component includes gateways and other elements to provide protocol and other conversions that are necessary between the market engine 9 and external data sources.
- Storage Component The storage component provides storage for the market engine 9.
- the storage component can be partitioned into an instruction store for storage of instructions and a data store for storage of data or can be a single common storage component.
- the storage component can be used to offer a global view of all trades of an organization or parts ofthe e-course system 2.
- Supervisor Component The supervisor component functions to operate when any ofthe components of FIG. 7 are operating in an abnormal manner or is experiencing other problems.
- FIG. 3 market engine Any number of other components can be included in the FIG. 3 market engine.
- FIG. 4 depicts an e-commerce system 2 ofthe FIG. 1 type for performing e-commerce transactions connected by electronic networks 13.
- Transactions in the system of FIG.4 are initiated, in some instances, with external transaction initiators 10' in a typical transaction unit, designated as transaction initiators lO'-l, ..., lO'-TI.
- Transactions are processed, in some instances, in external transaction processors 12.
- the transaction initiation and processing is supervised by one or more market engines 9, designated as market engines 9-1, ..., 9E.
- one or more ofthe market engines 9 are capable of initiating and processing transactions internally and are then characterized as integrated market engines.
- the transaction initiators 10 are, for example, users that include computers, terminals and other equipment and software useful for persons
- the transaction initiators may be brokers or other buy- or sell-side institutions including funds, investment banks among others.
- Brokers include computers, terminals and other equipment and software useful for persons (individuals or companies) acting as brokers for users to electronically connect to an e-commerce system.
- the transaction initiators in FIG.4 can be ofthe user-only type of transaction initiator, can be ofthe broker-user type of transaction initiator or can be of any other type. Any number of such transaction initiators 10 of different types can be used in an electronic system of FIG.4 for initiating electronic transactions.
- hierarchies of brokers, funds, institutions and users are included such as broker-broker, user-user, broker-broker-user-user, and user- fund-broker.
- a hierarchy in any depth or configuration can exist.
- the market engines 9 respond to initiated transactions and supervise interaction among the transaction initiators 10, the transaction processors 12 and the different market engines 9 to control the routing ofthe initiated transactions, the processing of transactions and the coordinating, gathering, storing and distributing of information useful for transaction supervision and processing.
- historical data is used in this routing process to take advantage of statistical patterns in the processing performed in external transaction processors. Such historical data includes execution price and depth ofthe market among other things.
- the market engines 9 are able to access and maintain information about transactions collectively as well as about each ofthe individual transactions being processed in the market engines 9. Where high reliability in transaction handling is required, the connections among transaction units 7 and market engines 9 are redundant or are otherwise configured to ensure high reliability and high availability.
- connections among the transaction initiators 10, the transaction processors 12 and the different market engines is generically shown through networks 13, but it is to be understood that such connections in networks
- Each ofthe market engines 9 typically receives information from all, or a significant subset, of the transaction initiators 10 and the other market engines 9 so that each market engine 9 is able to supervise the routing and control of transactions based upon an overview ofthe e-commerce system 2.
- the transaction processors 12 include one or more conventional (or non-conventional) exchanges 24.
- the exchanges include, for example, conventional exchanges 24-1, ..., 24-EX, which are, for example, the New York Stock Exchange (NYSE), Chicago Mercantile Exchange, National Association of
- the transaction processors include the alternative trading systems (ATS) and particularly, ATS 26-1, ..., 26- AT.
- the transaction processors also include electronic communication networks (ECN) including the ECN 25-1, ..., 25-EC. Any number of other transaction processors
- transaction processors 12 of FIG. 4 are possible in the transaction processors 12 of FIG. 4, and these are generically indicated as the other transaction processors 27-1, ..., 27-OT.
- Other transaction processors include, for example, clearing houses, data aggregators, and bulletin boards.
- Some ofthe transaction processors 12 in FIG. 4 include data components for receiving or providing data relevant to transactions and these data components are designated as the data components 28-1, ..., 28-DA.
- Such data components typically provide information about one or more ofthe other transaction processors such as the exchanges 24, ECNs 25 and the ATSes but also can provide any other type of data such as weather data, company earnings, political and economic data and so forth.
- the data components may store data, provide data for quotations and otherwise act in any capacity to serve or receive data of all types.
- the market engines 9 can include a broker for servicing, for example, any ofthe transaction initiators 10 whereby the broker or any other buy- or sell-side institution is "internal" to the market engine.
- the brokers can be fully independent of the market engines.
- any one or more ofthe transaction processors 12 of FIG. 4 can also be closely associated with a market engine 9 and hence be "internal" to the market engine 9.
- the particular internal or external configuration ofthe different transaction initiators 10, including brokers or users, and the different transaction processors 12 with a market engine 9 is a matter of design choice.
- "internal" components work efficiently together under common control without need for gateways or other protocol converters.
- the market engines are connected in common among all ofthe transaction initiators 10 and the transaction processors
- FIG. 4 the functional flow of information is shown by broken lines, while physical connections ofthe transaction initiators 10, market engines 9 and transaction processors 12 are generally through direct connections to the network
- a plurality of market engines 9 are distributed in different groups
- 51 including groups 51-1, 51-2, ... 51-3, 51-G and connect through the networks
- the groups 51 are organized on geographical, company, types of instruments processed (such as stocks, bonds, quotes or information) or other logical basis.
- the group 51-1 includes market engines 9 located in Europe.
- Group 51-2 by way of example, includes market engines 9 located in different countries in Asia.
- Group 51-3 for example, includes market engines 9 located in eastern United States and group 51-G, by way of example, includes market engines 9 located in western United States.
- each of the regions is a predominate region for controlling transactions during the principal business hours of that region thereby implementing follow-the-sun operation.
- each market engine 9 within a group includes a component for controlling the group operation.
- the group control is centered, for example, in routing components, one in each market engine, whereby transactions are routed to different market engines in different groups as a function of time or as a function of other parameters.
- Each routing component in each particular market engine includes a communication process that controls the operation of that particular market engine in accordance with operations common to said group.
- the FIG. 5 worldwide e-commerce system 2 has each ofthe groups 51 representing different constellations of market engines 9 for a single company or a group of companies.
- group 51-1 includes all of the market engines 9 in a company that service one geographic region (for example, Berlin) while group 51-2 includes all of the market engines 9 in the company that service another geographic region (for example, New York).
- a component for controlling the group operation is the routing component.
- a company basically operates in multiple local hubs that are connected by a global bus. Filtering is applied when sharing information between such hubs to prevent information to be accessed across hubs that is limited to the local jurisdiction.
- the FIG. 5 worldwide e-commerce system 2 has each ofthe groups 51 representing different constellations of market engines 9 for a single company or a group of companies.
- group 51-1 includes all ofthe market engines 9 in a company that service a particular type of instrument (for example, stocks) while group 51-2 includes all ofthe market engines 9 in the company that service another type of instrument (for example, currency).
- components for controlling the group operation include both a routing component and a stock component for group 51-1 and include both a routing component and a currency component for group 51-2.
- the above examples are illustrative and any combination of components can be used to establish the common control functions within a group and within the e-commerce system.
- FIG. 6 a typical one of the components 71 of FIG. 3 is shown.
- the component 71 includes one or more computers 43-1, ..., 43-Ha, each computer having an operating system (OS) 42-1, ..., 42-Os, respectively.
- Application processes 41 are distributed to execute on the computers and operating systems 43 and 42 under control of a resource management process 46 for load balancing, fault tolerant operation and other management processes.
- Communications from and to the component 71 of FIG. 6 and the other components in market engine 9 of FIG. 3 are under control ofthe communication process 45.
- the components 71 can be single function or multiple function depending on the capacities of the computers 43 and the overall processing load.
- the communication processes 45 control the communication with other components of FIG. 3 over the connection element 67 and control the communication external to the components of FIG. 3 over the connection element 68. Extendable Component Connections — FIG. 7
- the components 71-1, ..., 71 -Co are representative of the components 71 of FIG. 3 and FIG. 7 interconnected by the connection element 67.
- the component 71-1 is shown having a single function, such as a crossing function, while the components 71 -Co have multiple functions as shown in FIG. 6.
- the communication processes 45 control the communication among the components of FIG. 7 over the connection element 67 and control the communication external TO the components of FIG.3 over the connection element 68.
- the communication processes are ones that are suitable for the connection element 67. Since the connection element 67 is a logical entity that provides the necessary physical interconnection of each of the components 71, the actual processes included in the communication processes 45 are selected to satisfy the types of physical connections implemented.
- connection element When the connection element is a local area network, for example, communication processes 45 provide for IP address assignment and addressing as a means to control communication among the components 71.
- communication processes 45 provide for point-to-point switching connections for transferring data between components.
- the communication process 45 have a logically consistent interface between components 71 that permits both homogeneous (for example, using the same hardware computer and operating system) as well as heterogeneous (for example, using different hardware computers and operating systems) components to transfer data.
- the communication process 45 controls communications over the communication element 67.
- the communication process 45 uses different mechanisms to communicate with the communication processes 45 of other components.
- the communication process 45 uses object serialization to transmit message (or other) objects from one communication process 45 to another. This operation is done by initiating a network connection (for example a TCP/IP connection), then serializing the message object into a data stream (which is usually buffered). The data stream is then transmitted by the transmitting communication process 45 over the TCP/IP connection unity 67 is received by the receiving communication process 45 and is de-serialized at the receiving communication process 45. For example, one embodiment sends metadata of a buy/sell order from an interface component to a storage component and subsequently to the crossing component.
- the Java Remote Method Invocation (RMI) interface by Sun Microsystems can be used to implement such communication methods via interchange of serialized objects.
- connection element 67 For different message-types and embodiments ofthe connection element 67, the use of other communication protocols with different flow-control mechanisms, delivery guarantees and directory services can be used.
- Various schemes over IP are possible. For example, heartbeat messages use the UDP/fP protocol because reliable delivery is not required.
- Communication protocols are not restricted to IP -based schemes, given that both the transmission component as well as the receiving component are capable of handling messages in a selected format. Specialized fast messaging systems, Remote Procedure Call (RPC) and Active Messages are acceptable implementations as well. In other embodiments, higher-level messaging systems are used to communicate between components.
- RPC Remote Procedure Call
- Active Messages are acceptable implementations as well.
- higher-level messaging systems are used to communicate between components.
- Examples include TIBCO, NEON or VITRIA messaging layers which are again able to completely abstract the communication layer from the underlying hardware components and thus effectively act as middle-ware.
- multiple components run on the same hardware and operating system node using the same memory.
- the same communication mechanisms can be used as described above. Additionally, however, specialized inter-process communication schemes are possible for improved performance and better use of system resources.
- FIG. 8 and FIG. 9 illustrate the distributed component system architecture of market engine 9 using, by way of example, a group of six components 71.
- the six components are specifically supervisor component 71-12, TI interface component 71-10, TP interface component 71-11, crossing component 71-3, storage component 71-13 and routing component 71-1.
- a global order book stored in the storage component 71-13, interacts with a transaction initiator 10 through the TI interface component 71-10, then the trade is routed to the crossing component 71 -3.
- FIG.9 the interplay between crossing component 71- 3 routing component 71-1 is shown. This interaction is used to perform crossings with external reference, as well as to route trades to external transaction processors.
- FIG. 9 illustrate one-way interaction during normal operation. It is understood that the same interaction can occur in reverse.
- the supervisor component 71-12 is responsible for system supervision and data flow control. This component serves to gracefully shut down components in case of network failure and aids in wide-area fail-over and other administrative tasks that cannot be regularly performed because ofthe failure.
- a microwave, satellite or other external connection 68-12 plugged into one or more workstation computers 81 provides this functionality.
- the TI interface component 71-10 provides an interface to transaction initiators 10 as shown in FIG. 4, for example.
- TI interface component 71-10 employs a loosely coupled cluster 82 of Sun Sparc workstation computers (computers 43-1 , ..., 43-Ha of FIG.6) running Solaris operating systems (operating systems 42-1, ..., 42-Os of FIG. 6).
- incoming requests are distributed among front-end processes running on one or more of the nodes (where each hardware 43-1, ..., 43-Ha and corresponding operating systems 42- 1 , ..., 42-Os pair of FIG. 6 is a node) of cluster 82 in a round-robin fashion.
- each of the nodes also acts as a firewall to provide data security. In this embodiment, all requests are logged into a store 83 for analysis.
- TI Interface 71-10 One important task of the TI Interface 71-10 is protocol conversion between a transaction initiator 10 protocol and the market engine 9 internal protocol. Conversions are typically from FIX/ML, NEON, TD3CO, VITRIA and similar messaging layers or protocols. In FIG. 8 and FIG. 9, the TP Interface 71 -11 is similar to the TI Interface
- a loosely coupled cluster of workstation computers 84 is employed and interactions are logged into the store 85.
- the crossing component 71-3 includes one or more working clusters 86 and supervisory clusters 87.
- the crossing component 71 -3 is built as a tightly coupled cluster of Sun workstations (computers 43-1 , ..., 43-Ha of FIG.6) running Solaris operating systems (operating systems 42- 1, ..., 42-Os of FIG. 6) where the nodes (each computer 43-1, ..., 43-Ha and corresponding operating systems 42-1 , ..., 42-Os pair of FIG.6 is a node) of cluster 86 are operated as peers.
- each node is responsible for a set of symbols to cross (for example, IBM, Intel, Yahoo).
- the cluster consists of significantly fewer nodes with each node servicing a plurality of symbols.
- Designated one ofthe nodes act as load balancers for assigning symbols to nodes.
- the balancing nodes dynamically reassign symbols to different nodes.
- a very active symbol for example, trades of Yahoo on certain days
- a single node is responsible for a single symbol or the processing of a single symbol can further be broken up into multiple nodes (distributed or parallel processing) if needed.
- the supervisory cluster 87 has processes that monitor heartbeats, register failures and are responsible for bringing up nodes after scheduled or unscheduled downtime. Other processes monitor heartbeats of the supervisor. Should the supervisor fail, the first node to detect the failure brings up a new supervisor after a random delay (possibly with exponential back off). In the unlikely event that two or more supervisors are started, each supervisor detects the presence of the other supervisors and all but the supervisor with the highest priority (for example, in a LAN embodiment, one with the highest IP address and highest process ID) commits suicide. A hierarchy of such monitors is possible for local as well as multi-site fault-tolerance.
- the routing component 71-1 includes cluster 84 and store 85 and operates to provide a view of external executions and uses the view information to optimally route trades to external markets.
- the TP interface 71-11 provides an interface between the routing component 71-1 and the external transaction processors 12 (see FIG. 4).
- the granularity of operations is on a per security basis. This granularity is provided to facilitate optimizations (like pooling of orders) that need information about all available trades of a given symbol and the crossing component 71-3.
- the routing component 71-1 has the same basic structure as other components and has designated nodes running reliability processes to enhance reliability.
- the storage component 71-13 functions as a storage and message handling system.
- component 71 - 13 is built upon a buddy system cluster 88 of Sun Enterprise server computers running Solaris operating systems operating in a SMP (Symmetric Multiprocessing) mode. These SMP nodes of cluster 88 are responsible for maintaining a reliable storage system. In another embodiment, a group of symbols is handled on one or more (possibly dedicated) nodes. While other components can completely fail without major consequences (jobs are simply re-run), the storage component 71-13 typically is implemented with high reliability and availability including mechanisms for local and wide-area fail-over. In such embodiments, transactions are stored both locally on store 89 as well as remotely, at a remote location over connection element 68- 13, for immediate wide-area fail- over. Synchronization mechanisms 92 on a transaction level or a disk level provide a wide range of processes and data exchanges for reliability.
- SMP Sesmetric Multiprocessing
- FIG. 8 and FIG. 9 a group components, a subset ofthe components of FIG. 3, form a market engine 9.
- the processes in the components of FIG. 8 and FIG. 9 are parameterizable, extendable, highly scaleable and fault tolerant.
- "Parameterizable" in this context means, for example with reference to a crossing component parameters, that different parameters such as crossing algorithms, crossing windows and order eviction policies, can be selected on a per-component, per-symbol or other basis. This operation allows the market engine 9 to customize procedures while avoiding the need for custom programming.
- Extendable refers to the ease at which algorithms or other features can be added or replaced
- scalable denotes the ease by which multiples of a particular workload can be accommodated by the architecture.
- the architecture scales to each symbol, to an entire node and further to any number of nodes.
- fault tolerant refers to the ability to detect and circumvent failures as they occur. Processes that are not successfully executed must rerun with the same parameters but potentially on a different node.
- Storage Component Operation (A1-A5) — FIG. 8.
- a transaction initiator 10 enters an order (or other parameters) enters an order (or other parameters)
- the order gets stored into a Global Order Book (storage component 71-13).
- the storage component 71- 13 provides the reliable storage necessary to ensure no loss of orders —it preserves the hard state.
- attributes of an order can be queried and updated by a transaction initiator 10.
- the storage component 71-13 implements order handling operations whereby transaction initiators 10 can manually control movement of a trade to another component over connection element 67 (for example, move to the crossing component 71-3 for internal execution) or, alternatively, a trade can be assigned to an standard automated order handling routine.
- An automated order handling routine supervises a particular automated sequence of submissions to the various components 71. For example, in one order handling routine, all retail trades of an institution are first sent to the internal crossing component 71-3 for internal crossing, followed by a submission of uncrossed orders to the best external destination via routing component 71-1. In another order handling routine, an institution exercises control over institutional trades and directs that they be submitted to a particular exchange 24 (see FIG. 4). The storage component 71-13 provides such flexibility.
- the order handling routine illustrated in FIG. 8 starts with a transaction initiator 10 submitting an order/request through the front-end network connection element 68-10 at Al .
- One ofthe TI interface component 71-10 nodes in cluster 82 at A2 picks up the order/request, verifies the source, logs it to a store 83 at A3 and converts the format to an internal format and sends it off as a message over the connection element 67 at A4.
- the order/request is then transmitted to the storage component 71-13 and is received at A5 by one of the nodes of cluster 88.
- the storage component 71-13 checks for consistency and conformity and then stores the order/request into reliable storage, both locally in store 89 and over remote connection element 68-13 to a redundant remote store (not shown).
- the synchronization procedures are subject to parameter settings. The same sequence is evoked in reverse for a response from the storage component 71-13 to the TI interface component 71-10.
- the storage component 71-13 provides a global, enterprise-wide view
- Component 71-13 is designed as a data store with both local and wide-area redundancy and provides follow-the-sun capabilities. It is used to store hard state.
- the storage component 71-13 is one of the execution components and execution is performed with one or more of the features and functions of the following TABLE 71-13. TABLE 71-13
- APIs Application Programming Interfaces
- the crossing component 71-3 attempts to match orders from a transaction initiator 10 (see FIG. 4) before, while (or instead of) the orders are submitted to an external transaction processor 12 (for example, an exchange in FIG. 4).
- the crossing component 71-3 attempts to cross buy and sell orders (for example for stocks, bonds or any other widget) using a variety of algorithms. Moving a trade from the Global Order Book to the Crossing component 71-3 is similar to moving a trade to the routing component 71-1 or directly to the external markets.
- the steps A1-A5 represent order entry together with any commands, including the command to move the order to the crossing component 71-3. This procedure is manual or part of an automated order handling routine.
- the order is taken from the storage 89, at Dl, and moved by one of the nodes of cluster 88, at D2, to the connection element, at D3.
- the order is then picked up by one ofthe nodes of cluster 88, at D4, in the crossing component 71-3 which in turn routes the order to the node in charge of the order's symbol.
- Assistance is sought from the supervisor cluster 81 if the correct destination node cannot be located.
- the same sequence is evoked in reverse (D5-D1) for a message from the crossing component 71-3 to the storage component 71-13.
- the crossing component 71-3 crosses orders with reference to external market conditions.
- the storage component 71-3 is one of the execution components and execution is performed, for example, with one or more of the features and functions ofthe following TABLE 71-3.
- Custom Objective by client
- FIFO Sorting by price, then arrival time; example:
- crossing algorithms in this embodiment are pluggable. This means that then can be replaced easily and that switching between algorithms is seamless. It also enables the operator to apply different algorithms to different symbols or for different crossings. Since executions can be within a threshold, it is possible to only cross orders that can price-improve over externally available deals. Because of this, even orders that need to be executed immediately and at the price ofthe current market (i. e. market orders) can get executed in this engine, as long as either the crossing is performed immediately or a FIFO crossing is used for these orders with the orders waiting to get crossed (as long as the execution price is better or equal to the external markets).
- TABLE 71-3 Another point to notice in TABLE 71-3 is that there is a possibility of combining multiple eviction and crossing window conditions, such that the crossing (or eviction) happens if either condition is met —example: cross when a certain volume is reached or a certain amount of time has passed.
- the granularity of eviction is at the level of an order rather than a crossing. So each order can get evicted at the desired time, unless a crossing is taking place exactly at the time of eviction. In this case, the order is evicted either beforehand or alternatively, right after the crossing.
- the crossing component is further designed in a way that allows for executions in any fraction.
- FIG. 9. This component system fairness operation is illustrated in FIG. 13.
- a node at E2 ofthe cluster 91 of fair crossing routing component 71-1 possibly with assistance from a supervisor node, of cluster 92 at El, passes the quote update to the connection element 67.
- the quote update is then passed to one of the nodes, at E4, of the crossing component 71-3.
- This node determines which node is in charge ofthe symbol in question. If the local cache does not contain the most up-to-date information, the supervisor, at E5, is consulted.
- the crossing component 71-3 guarantees that the order to be executed. For additional protection against potential bad quotes, other parameters can be adjusted appropriately.
- external order information (usually exceeding only quote information) is used throughout the optimization process. In this embodiment the optimization produces optimal results on the combination of internal and external orders and matches them accordingly.
- the routing component 71-1 aggregates data from the various markets and creates a global view of the external world. Along with a streaming component (not shown), these components are used together to stream quotes to websites, for example, so that users can compare the distributed Component System quotes with standard quote streams of others.
- quotes are also used to provide thresholds ranges or other bands for the crossing component 71-3 to determine if internal or external crossings should be executed.
- the bounds can be dynamically adjusted according to the latest information about external conditions. Using these techniques, fair internal executions are established with reference to external markets.
- FIG. 10 the data flow for optimization in a crossing component 71-3 is shown. Optimizations on orders, in one embodiment, can be performed among only internal orders supplied by transaction initiators 10. In this case, external information (for example, market quotes) is used as a reference point only, if at all. In another embodiment, internal orders are optimized only against externally available orders in what is referred to as "bulk shopping". In this mode, internal orders are not matched against each other but can be split or pooled together to match external orders. In one preferred embodiment both internal as well as externally available orders are taken into account when optimization is performed.
- external information for example, market quotes
- bulk shopping internal orders are not matched against each other but can be split or pooled together to match external orders.
- both internal as well as externally available orders are taken into account when optimization is performed.
- control process 92 in FIG. 10 controls the optimization.
- control 92 fetches the necessary data from the data unit 91 in communication D4-1 in FIG. 10.
- This data includes (meta) data about buy and sell orders as well as any external information adding value at the time of crossing.
- Valuable information includes, for example, externally available execution prices and market depth.
- This step includes, for example, checks for validity of the orders, integrity of other data used in the optimization process and analysis of fairness constraints among other pre-optimization procedures.
- the data is formatted according to the interface of the optimizer 97, it is then passed for optimizing in a communication D4-2 in FIG. 10.
- other control parameters (such as which algorithm should be used) are set at D4-4 before the control 92 starts the optimization, by issuing the appropriate command in D4-4.
- This D4-4 interface is also responsible for the runtime control, including interrupting the optimizer 97 in the case of an exception condition, getting the currently best crossing, or changing the parameter settings ofthe optimizer 97.
- a mapping from buy orders onto sell orders (or vice versa), is referred to as "crossing.”
- the resulting crossing in optimizer 97 is passed back to the control 92 in communication D4-9 of FIG. 10.
- the control 92 then performs post-optimization steps including, for example, assuring that the fairness boundaries are still valid or digitally signing the executions for security, consistency and accountability. This step potentially involves up-to-date external data from the data unit 91 that receives data over communication link 67.
- executions are stored in communication D4-10 and unbilled order from partial fills are re-introduced in the next crossing depending on the settings.
- the optimization process can be generalized as follows: 1) Three items are passed to the optimizer, namely, variables, constraints on the variables (for example, expressed in terms ofthe supplied variables) and an expression ofthe variables.
- the variables are, for example, the number of shares matched between two orders, execution prices, or other vlaues relevant to optimization.
- Constraints are restrictions on the variables including, for example, a limit price, a maximum number of partial fills, even lot execution, all or nothing (AON) execution or other preferences. These constraints can be applied per order or across a set of orders.
- An example of a constraint on a set of orders is a price constraint on a basket of orders.
- Another constraint is a fairness threshold applied on the execution price of each crossing if fairness is desired with respect to an external threshold.
- the expression is an optimizable relationship among the variables, for example, a relationship that allows maximization of volume while minimizing partial fills, a relationship that allows maximization of executed orders, or any other mathematically definable relationship useful in the crossing process.
- the optimizer uses algorithms to approach the desired objective, while meeting the imposed constraints.
- An algorithm that optimizes for different objectives is shown in TABLE 1 below.
- TABLE 1, TABLE 2 and TABLE 3 show implementations of representative optimization algorithms. These implementations are shown for reasons of elegance and simplicity and to demonstrate how a simple change in parameter can yield vastly different crossing results.
- the main differences in the following pseudo-code segments in TABLE 1, TABLE 2 and TABLE 3 are contained in simple checks to see whether the best result so far should be overwritten. These checks appear in the "base case" section ofthe code.
- TABLE 1, TABLE 2 and TABLE 3 embodiments An advantage of the TABLE 1, TABLE 2 and TABLE 3 embodiments is- that all ofthe algorithm debugging is performed once and adding new algorithms or adjusting existing ones is greatly simplified. Combining algorithms in priority order is easy. This combining can be done by simply adding a secondary check after the primary one. This combining is illustrated by adding an additional constraint to every algorithm so that, all other things being equal, orders are split in as few partial executions as possible to simplify the reporting (among other benefits). Another advantage of such an embodiment is that all-or-nothing (AON) orders are not treated as special cases.
- AON all-or-nothing
- Atomic Sets Split all orders into suborders of atomic size Define a set SA of atomic sell orders where every element is a tuple (sa, s) representing a distinct atomic order sa Define a set BA of atomic buy orders where every element is a tuple (ba, b) representing a distinct atomic order ba 3.
- Optimization Sets Define an empty set M where every element is a tuple (sa, ba) representing a match of a pair of distinct atomic orders sa and ba where sa is in SA and ba is in BA remember the current (empty) state of M as "optimal composition of (M) This is optimal composition SO FAR.
- This exponential algorithm maximizes the total number of orders filled, at least partially, while minimizing the number of times individual orders are split (partially filled) whenever possible. Number of distinct clients (order owners) can be maximized in analogous fashion, so no separate code is provided.
- the secondary optimization criteriaon illustrates the way optimization criteria can be 'stacked" in priority order. 1. Fundamentals Define a set S of sell orders where every element s represents a distinct sell order s Define a set B of buy orders where every element b represents is a distinct buy order b 2.
- Atomic Sets Split all orders into suborders of atomic size Define a set SA of atomic sell orders where every element is a tuple (sa, s) representing a distinct atomic order sa Define a set BA of atomic buy orders where every element is a tuple (ba, b) representing a distinct atomic order ba 3.
- Optimization Sets Define an empty set M where every element is a tuple (sa, ba) representing a match of a pair of distinct atomic orders sa and ba where sa is in SA and ba is in BA remember the current (empty) state of M as "optimal composition of (M) This is optimal composition SO FAR.
- the "optimal composition of (M) indicates the optimal composition of M overall, given the same inputs S and B or one of such equally optimal compositions under given optimization criteria.
- This exponential algorithm maximizes the total bid-ask spread generated in all crossings crossed, while minimizing the number of times individual orders are split (partially filled) whenever possible.
- the secondary optimization criterion fragmentation minimization illustrates the way optimization criteria can be "stacked" in priority order. 1. Fundamentals Define a set S of sell orders where every element s represents a distinct sell order s Define a set B of buy orders where every element b represents is a distinct buy order b 2.
- Atomic Sets Split all orders into suborders of atomic size Define a set SA of atomic sell orders where every element is a tuple (sa, s) representing a distinct atomic order sa Define a set B A of atomic buy orders where every element is a tuple (ba, b) representing a distinct atomic order ba 3. Optimization Sets Define an empty set M where every element is a tuple (sa, ba) representing a match of a pair of distinct atomic orders sa and ba where sa is in SA and ba is in BA remember the current (empty) state of M as "optimal composition of (M) This is optimal composition SO FAR.
- the "optimal composition of (M) indicates the optimal composition of M overall, given the same inputs S and B or one of such equally optimal compositions under given optimization criteria. 4.
- crossing methods described can be used alone. However, in certain situations many more sellers exist in a security or other instruments described than 80 buyers or vice- versa. In these situations, crossings are difficult to establish because the available liquidity is one-sided. In these situations, the value of an entity works to establish an orderly market becomes clear. On the NYSE, this entity is called a "Specialist,” while on Nasdaq, "Market Makers" have this responsibility.
- a market maker is valuable in combination with a crossing engine, 85 particularly with optimization features. Integrating a market maker into the crossing process adds additional value.
- Routing orders to a market maker when no match is found during the crossing is one way of achieving this goal.
- market makers include large blocks of a security in a crossing and specific label them as market maker blocks.
- these blocks are then treated differently, for example, instead of maximizing for executed share volume, the applied optimization is to maximize share volume while minimizing the number of executions performed against the market maker blocks.
- the market maker blocks are used. In the case of a balanced market,
- Market makers have an incentive to participate if they can share in the speed or can mark up the blocks.
- the system described is customizable, to apply to different contexts in various financial and e-commerce markets.
- the customizable properties can be used to tailor the system to the
- Retail brokerage - Retail brokerages are likely to maximize the number of individual orders passing through the system in order to increase pre-order commission totals or generated spread in order to maximize the order flow
- An online retail brokerage is significantly more sensitive to response times and thus more likely to utilize a smaller time trigger for the crossing window.
- Public market/ Alternative Trading System A public market with a fully visible order book should operate in a simple FIFO fashion. Optimization algorithms should be used for closed or semi-closed books.
- Non- financial markets can support a similar mode of operation to contemporary financial markets and thus will be able to benefit from a flexible optimizing crossing system.
- a prerequisite of such markets is a requirement that units being traded are commodities interchangeable with each other and that there is enough liquidity to support realtime operation.
- Good candidate markets to advance to a real-time exchange are the various branded micropayment services on the Internet, for example there are a need for an exchange for banner ad imprints or download of copyrighted digital content.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001238520A AU2001238520A1 (en) | 2000-02-18 | 2001-02-20 | Market engine having customizable crossing components |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50771000A | 2000-02-18 | 2000-02-18 | |
US09/507,710 | 2000-02-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001061547A2 true WO2001061547A2 (en) | 2001-08-23 |
WO2001061547A8 WO2001061547A8 (en) | 2002-05-23 |
Family
ID=24019803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/005337 WO2001061547A2 (en) | 2000-02-18 | 2001-02-20 | Market engine having customizable crossing components |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2001238520A1 (en) |
WO (1) | WO2001061547A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693775B2 (en) | 2003-01-21 | 2010-04-06 | Lavaflow, Inc. | Automated system for routing orders for financial instruments based upon undisclosed liquidity |
US8335734B1 (en) | 2009-07-20 | 2012-12-18 | The Vanguard Group, Inc. | Method of administering an investment company having a class of crossing shares |
-
2001
- 2001-02-20 WO PCT/US2001/005337 patent/WO2001061547A2/en active Application Filing
- 2001-02-20 AU AU2001238520A patent/AU2001238520A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
No Search * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693775B2 (en) | 2003-01-21 | 2010-04-06 | Lavaflow, Inc. | Automated system for routing orders for financial instruments based upon undisclosed liquidity |
US8335734B1 (en) | 2009-07-20 | 2012-12-18 | The Vanguard Group, Inc. | Method of administering an investment company having a class of crossing shares |
Also Published As
Publication number | Publication date |
---|---|
WO2001061547A8 (en) | 2002-05-23 |
AU2001238520A1 (en) | 2001-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8612321B2 (en) | System and method for the automated brokerage of financial instruments | |
US7024387B1 (en) | Automated system for conditional order transactions in securities or other items in commerce | |
US8015096B2 (en) | Network-based sub-allocation systems and methods for swaps | |
US8996612B1 (en) | System and method for transferring data between a user space and a kernel space in a server associated with a distributed network environment | |
CA2370789C (en) | A securities trading system for consolidation of trading on multiple ecns and electronic exchanges | |
US20060184447A1 (en) | Automated system for conditional order transactions in securities or other items in commerce | |
US20070022041A1 (en) | Method and System for Improving Exchange Performance | |
US20060095361A1 (en) | Methods and apparatus for automatic settlement of foreign securities trades in trader's operating currency | |
WO1998052133A1 (en) | Computer method and system for intermediated exchanges of commodities | |
WO1999031613A1 (en) | A method and apparatus for bundled asset trading | |
EP2210231A2 (en) | System and method for assigning responsibility for trade order execution | |
US20230206330A1 (en) | System and Method for Multi-Market Risk Control in a Distributed Electronic Trading Environment | |
US11354742B2 (en) | Fee/rebate contingent order matching system and method | |
US7761363B2 (en) | Internal trade requirement order management and execution system | |
WO2001033316A2 (en) | Method and system for trading user-definable baskets of fungible goods such as securities | |
WO2001061549A2 (en) | Market engine having optimization | |
WO2001055938A2 (en) | Market engines having extendable component architecture | |
WO2001061547A2 (en) | Market engine having customizable crossing components | |
US20210174438A1 (en) | Computer network systems for electronic market estimation of forward looking term rate composed form real-world funding transaction data | |
WO2001018711A2 (en) | Electronic systems formed of market engines having integrated transaction units | |
Fan et al. | Designing electronic market institutions for bond trading | |
WO2006126005A2 (en) | Trading system order book | |
WO2001007983A2 (en) | Electronic systems with supervision of transactions among transaction initiators and transaction processors | |
IES20070291A2 (en) | Automated financial planning system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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 MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ 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 TR 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 | ||
AK | Designated states |
Kind code of ref document: C1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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 MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C1 Designated state(s): GH GM KE LS MW MZ 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 TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
D17 | Declaration under article 17(2)a | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: COMMUNICATION PURSUANT TO RULE 85A(1) EPC DATED 20-01-2003 COMMUNICATION PURSUANT TO RULES 85A AND 85B EPC DATED 20-01-2003 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: COMMUNICATION PURSUANT TO RULE 69 EPC (EPO FORM 2524 DATED 02.12.2003) |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |