Broker-dealers increasingly make available to their customers on-line submission, cancellation, and tracking of the status of orders for securities. Securities trading customers include day traders, institutions, and active private investors. Such customers make many quick decisions regarding when and from whom to order securities. Customers are increasingly demanding regarding quality and speed of execution. Customers require a high quality of information to support their decision-making. Customers are often presented with quotes identifying markets from which particular securities can be bought or sold at particular prices. In such quotes there are often several markets quoting securities at the current inside price. Markets quoting the same price, however, are not the same in terms of quality of execution. Especially regarding speed, all markets are different. It would be useful, therefore, if customers had a display of information helpful in identifying which markets are likely to execute orders more quickly than others.
Modern broker-dealers often subscribe to one or more exchanges or ECNs (“markets”) capable of executing orders for securities by matching orders with orders of opposite side. Orders, cancellations, and responses are communicated to and from markets by use of data communications ports. Many broker-dealers handle volumes of orders so large as to require more than one port per market. Ports often are not equal in their ability to communicate with a particular market. Sometimes ports fail, partially or completely. It would be useful to have a display of information, for diagnostic purposes within the broker-dealer organizations, to help identify problems with particular ports, to help keep the overall flow of data communications functioning efficiently.
One aspect of the invention provides methods for displaying latency. Embodiments of the invention are typically implemented in broker-dealer computer systems engaged generally in automated processing of orders for securities including sending to markets messages comprising orders and cancellations and receiving from markets responses to orders and cancellations. Embodiments include recording for messages sent to markets the time when each message is sent and the identity of the market to which each message is sent. Embodiments include recording for responses received from markets the time when each response is received, wherein each response corresponds to a particular message. Embodiments include calculating latencies for markets dependent upon recorded time when a message is sent to the market and a recorded time when a corresponding response is received from the market. Embodiments include latencies for ports as well as latencies for markets. Embodiments include displaying the identity of the markets and the latencies for the markets. Embodiments include counting and displaying the number of messages and responses received and sent during a period of time, for use in broker-dealer diagnostics.
A second aspect of the invention provides automated computing machinery, as system for calculating and displaying latency, typically implemented in broker-dealer computer systems capable of automated processing of orders for securities, includes sending messages to markets and receiving from markets responses to messages. Embodiments of this aspect include at least one computer processor programmed to record in computer memory, for messages sent to markets, the time when each message is sent and the identity of the market to which each message is sent. In such embodiments, processors are typically programmed also to record in computer memory, for responses received from markets, the time when each response is received. Each response corresponds to a particular message. In such embodiments, processors are programmed also to calculate for markets latencies dependent upon recorded time when at least one message is sent to a market and recorded time when a corresponding response is received from the market. In such embodiments, processors typically are programmed also to display the identities of the markets and the latencies for the markets. Embodiments include latencies for ports as well as latencies for markets. Embodiments of this aspect typically include computer memory coupled to processors, the processors being further programmed to store in computer memory the latencies. Embodiments include processors programmed to count and display the number of messages and responses received and sent during a period of time, for use in broker-dealer diagnostics.
Definitions:
“Cancellation” is termination of an order, or partial termination of an order, by the customer or by software comprising an embodiment of the invention. In addition, markets can cancel orders, or parts of orders, for example, in response to an IOC order.
“ECN” abbreviates “Electronic Communications Network,” referring to an order matching service that provides liquidity by matching orders rather than by maintaining inventory. In the context of the invention, ECNs are considered markets. ECNs, like market makers are identified by use of market participant identification codes or “MPIDs.” In order to avoid confusion with data communications networks, ECNs are referred to as either “ECNs” or as “markets.” Some current ECNs, their symbols and names, are listed below. The number and identities of ECNs changes from time to time.
“Exchange” means a national, regional, or international exchange for securities trading including for example, Nasdaq or NYSE.
“Executed,” in reference to an order, means that shares have been either bought or sold according to the side of the order.
“Filled” means executed. That is, all shares in the order have been executed, bought or sold according to the side of the order. If an order is subject to partial fulfillment, then the order can be partly filled and partly rejected or cancelled, in which case the order will never be considered filled. Processing of an order can therefore be completed through some combination of cancellation, rejection, killing, and partial execution without the order's ever being filled. Processing of an order is said to be complete when all the shares in the order, share by share, have been executed, cancelled, rejected, or killed.
“Inside price” means, as appropriate, the highest bid price or the lowest ask price for a particular security. For buy orders, the inside price is the lowest ask price. For sell orders, the inside price is the highest bid price.
“Latency” means a measure of the speed with which markets respond to orders and cancellations. Latency in many embodiments of the invention is determined as the difference between the time when a response to an order is received and the time when the corresponding order was routed to the market. Latency can be measured from normal orders or from test orders. Some markets support test orders as such. For markets in which test orders as such are not supported, test orders can be implemented by use of unmarketable orders immediately followed by cancellations. For markets receiving orders regularly, latency can be tracked from normal orders, without the need for test orders. Latency can be embodied as a single ratio difference between two recorded times or as various kinds of averages.
“Level Two Quotes” are quotes that comprise one or more market participant quotes (“MPQs”). The best known source of level two quotes is Nasdaq, but “level two quotes” refers to any form of market information that aggregates market participant quotes for a security.
“Market,” “electronic market,” “market participant,” “electronic market participant,” “marketing network,” and electronic marketing network” are all used as synonyms for services accessible through electronic communications networks capable of executing orders for securities by accepting from broker-dealers buy orders and sell orders, matching or failing to match buy orders with sell orders, and communicating the results to the broker-dealers. Generally the term “market” is used to refer to these entities. All “markets,” as the term is used, are either ECNs or market makers. All available markets have names and symbols as described under the definitions of “ECN” and “market maker.”
“Market maker” means a broker-dealer providing order matching and liquidity in a stock by maintaining an inventory of the stock. Market makers typically trade their inventories through exchanges. Some currently active market makers, their symbols and names, are listed below. The number and identity of market makers can change from time to time.
“Orders” are orders for purchase or sale of securities. In many of the embodiments described, “orders” are electronic orders for purchase or sale of securities.
“Quotes” are aggregates of information regarding securities traded in markets. Quotes include for securities listed for sale or purchase, symbols identifying the securities, price, side, quantities, and market identifications or MPIDs. Quotes can come from exchanges or directly from markets. A “Nasdaq Level Two Quote” includes market information in the form of market participant quotes for all markets offering to buy or sell a particular security through Nasdaq.
“Securities” are any agreement for investment. Stocks are the securities most often addressed in described embodiments of the invention. The invention, however, is applicable to many kinds of securities including, for example, options, commodities, and bonds.
“Side” refers to which side of the market is represented by an order or a quote. Side indicates whether the quote or order is to buy or sell, bid or ask. “Bid” indicates the buy side. “Ask” indicates the sell side. The present invention functions equally for either side of a transaction. Therefore we attempt to speak in neutral terms regarding side. We speak of execution rather than buying or selling. We use the term “price improvement” to indicate both price reductions for buy orders and price increases for sell orders.
Turning now to
The illustrated embodiment includes recording (106) for messages sent to markets the time (120) when each message is sent and the identity (118) of the market to which each message is sent, the messages (102) comprising orders (150) and cancellations (148) of orders. This first embodiment includes also recording (110) for responses received from markets the time (122) when each response is received, wherein each response corresponds to a particular message.
This embodiment includes also calculating (124) for at least one market a latency (128) dependent upon at least one recorded time (120) when at least one message is sent to the market and at least one recorded time (122) when a corresponding response is received from the market. The illustrated embodiment includes displaying (130) the identity (118) of the market and the latency (128) for the market. In a further embodiment shown in
Shown in
As shown on
In a further embodiment, shown in
In a still further embodiment, shown in
In a further embodiment, shown in
A further embodiment shown in
The illustrated embodiment includes also counting (138) the number of responses received from the market during the period of time, including storing in computer memory (140) the number of responses (146) received from the market during the period of time. The embodiment includes also displaying (130), in addition to the identity (118) of the market and the latency (128) for the market, the number of messages (144) sent to the market and the number of responses (146) received from the market during the period of time.
An example of the use of message counts for diagnostic purposes is a display showing an increase in latency for a port explained by an increase in message counts for the port, thus indicating the port slowed down because its work load increased, and indicating also that there is no problem with the system. Another example is a display showing an increase in latency for a port explained by the port's message count going to zero, thus indicating that the increase in latency is caused by a catastrophic failure of the port.
In a further embodiment, shown in
The illustrated embodiment includes also counting (138) the number of responses received from the market through the port during the period of time, including storing in computer memory (140) the number of responses (146) received from the market through the port during the period of time. The system includes also displaying (130), in addition to the identity (118) of the market and the latency (128) for the market, the number of messages (144) sent to the market through the port and the number of responses (146) received from the market through the port during the period of time.
As shown on
Turning now to
The illustrated embodiment includes at least one computer processor (618) programmed to record (622) in computer memory (620), for messages sent to markets, the time (632) when each message is sent and the identity (630) of the market (608) to which each message is sent, the messages including orders (614) and cancellations (616) of orders. In this embodiment, the processor is programmed also to record (624), in computer memory (620), for responses (612) received (610) from markets, the time (634) when each response is received. Each response (612) corresponds (642) to a particular message (604).
In this example embodiment, the processor is programmed also to calculate (626), for at least one market (608) a latency (628) dependent upon at least one recorded time (632) when at least one message is sent to the market and at least one recorded time (634) when a corresponding response is received from the market. In this embodiment, the processor is programmed also to display (632) of the identity (630) of the market and the latency (628) for the market. In a further embodiment shown in
As shown on
In a further embodiment shown in
In some embodiments, the processor is programmed to calculate latency as an average latency dependent upon at least one recorded time when at least one message is sent to the market and at least one recorded time when a corresponding response is received from the market. In such embodiments, as illustrated in
In other embodiments, the processor is programmed to calculate latency as an average latency dependent upon at least one recorded time when at least one message is sent to the market and at least one recorded time when a corresponding response is received from the market. In such embodiments, as shown in
In a further embodiment shown in
The processor in many embodiments of the kind illustrated in
In a further embodiment shown in
The processor in many embodiments of the kind illustrated in
Number | Name | Date | Kind |
---|---|---|---|
3573747 | Adams et al. | Apr 1971 | A |
3581072 | Nymeyer | May 1971 | A |
3976840 | Cleveland et al. | Aug 1976 | A |
4243844 | Waldman | Jan 1981 | A |
4412287 | Braddock, III | Oct 1983 | A |
RE31643 | Waldman | Aug 1984 | E |
4585130 | Brennan | Apr 1986 | A |
4588192 | Laborde | May 1986 | A |
4674044 | Kalmus et al. | Jun 1987 | A |
4677552 | Sibley, Jr. | Jun 1987 | A |
4750135 | Boilen | Jun 1988 | A |
4751640 | Lucas et al. | Jun 1988 | A |
4903201 | Wagner | Feb 1990 | A |
4949248 | Caro | Aug 1990 | A |
5025372 | Burton et al. | Jun 1991 | A |
5038284 | Kramer | Aug 1991 | A |
5101353 | Lupien et al. | Mar 1992 | A |
5136501 | Silverman et al. | Aug 1992 | A |
5168446 | Wiseman | Dec 1992 | A |
5267148 | Kosaka et al. | Nov 1993 | A |
5270922 | Higgins | Dec 1993 | A |
5297031 | Gutterman et al. | Mar 1994 | A |
5297032 | Trojan et al. | Mar 1994 | A |
5339392 | Risberg et al. | Aug 1994 | A |
5361199 | Shoquist et al. | Nov 1994 | A |
5375055 | Togher et al. | Dec 1994 | A |
5500889 | Baker et al. | Mar 1996 | A |
5508913 | Yamamoto et al. | Apr 1996 | A |
5517406 | Harris et al. | May 1996 | A |
5557517 | Daughterty, III | Sep 1996 | A |
5563783 | Stolfo et al. | Oct 1996 | A |
5640569 | Miller et al. | Jun 1997 | A |
5655088 | Midorikawa et al. | Aug 1997 | A |
5689652 | Lupien et al. | Nov 1997 | A |
5727165 | Ordish et al. | Mar 1998 | A |
5752237 | Cherny | May 1998 | A |
5774880 | Ginsberg | Jun 1998 | A |
5788234 | Siofer | Aug 1998 | A |
5799287 | Dembo | Aug 1998 | A |
5806048 | Kiron et al. | Sep 1998 | A |
5809483 | Broka et al. | Sep 1998 | A |
5819237 | Garman | Oct 1998 | A |
5819238 | Fernholz | Oct 1998 | A |
5845266 | Lupien et al. | Dec 1998 | A |
5852808 | Cherny | Dec 1998 | A |
5857176 | Ginsberg | Jan 1999 | A |
5864827 | Wilson | Jan 1999 | A |
5875108 | Hoffberg et al. | Feb 1999 | A |
5901246 | Hoffberg et al. | May 1999 | A |
5905974 | Fraser et al. | May 1999 | A |
5915245 | Patterson et al. | Jun 1999 | A |
5924083 | Silverman et al. | Jul 1999 | A |
5940810 | Traub et al. | Aug 1999 | A |
5946667 | Tull, Jr. et al. | Aug 1999 | A |
5950176 | Keiser et al. | Sep 1999 | A |
6035389 | Grochowski et al. | Mar 2000 | A |
6272539 | Cuomo et al. | Aug 2001 | B1 |
6963855 | Borzenko | Nov 2005 | B1 |
6975656 | Madhavapeddi et al. | Dec 2005 | B1 |
6993578 | Dmitroca | Jan 2006 | B1 |
Number | Date | Country |
---|---|---|
07076155 | Mar 1995 | JP |