US20100094743A1 - Low latency trading system - Google Patents
Low latency trading system Download PDFInfo
- Publication number
- US20100094743A1 US20100094743A1 US11/801,957 US80195707A US2010094743A1 US 20100094743 A1 US20100094743 A1 US 20100094743A1 US 80195707 A US80195707 A US 80195707A US 2010094743 A1 US2010094743 A1 US 2010094743A1
- Authority
- US
- United States
- Prior art keywords
- order
- low latency
- trade
- exchange servers
- latency system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
Definitions
- FIG. 1 a is a simplified diagram of a known trading architecture.
- the client trading engine 10 receives the market data, analyzes it, and based thereon sends a trade order over a Wide Area Network (WAN) 12 to a Direct Market Access (DMA) trading engine 14 that is hosted by a registered broker/dealer.
- the DMA trading engine 14 performs risk checking and order validation on the trade order and, if the order is not rejected, sends it over another WAN 16 to the exchange server 18 , where the trade is executed.
- the exchange server 18 then sends a report back to the DMA trading engine 14 for the trade order.
- the DMA trading engine 14 then performs a variety of post-trade risk checks.
- the order is sent over two WANs 12 , 16 , and through a number of firewalls.
- the client trading engine 10 and the DMA trading engine 14 typically communicate using a different communication protocol than the DMA trading engine 14 uses to communicate with the exchange data center 18 .
- the DMA trading center 14 must also convert the order from one protocol to another, adding to the latency.
- the client trading engine 10 is also in communication with the client data center 22 , so that the client data center 22 can track the trades executed by the client trading engine 10 .
- Another known architecture is for the client trading engine 10 to submit orders directly to the exchange servers 18 via the WAN 12 , as shown in FIG. 1 b .
- This architecture has the advantage of reduced latency, but there is no pre-trade risk checking in this architecture (except for pre-trade risk checks performed by the client, if any) after the order is sent from the client trading engine 10 and before the order gets to the exchange servers 18 .
- Post-trade risk checking is performed in this scenario after the trade is submitted to the exchange by a data center 26 in communication with the exchange server 18 via a WAN 23 .
- the present invention is directed to systems and methods for transmitting trade orders from a client trading engine to a trading exchange, where the orders are executed by one or more servers of the exchange data center.
- the system comprises a low latency system, comprising one or more servers, in communication with the client trading engine and the exchange server(s).
- the low latency system is for receiving trade orders from the client trading engine, performing one or a limited number of pre-order risk checks on the trade orders, and, when the trade orders pass the risk check(s), transmitting the trade order to the exchange server(s).
- the system also comprises a post-order risk checking data center in communication with the low latency system via a communications network (e.g., a WAN).
- a communications network e.g., a WAN
- the post-order risk checking data center is for performing post-order risk checks on the trade orders after the low latency system transmits the trade orders to the exchange server(s). That way, the server center can be relatively lightweight and perform only a small number of pre-trade risk checks in order to decrease latency.
- the client trading engine there are zero network (e.g., WAN) hops between the client trading engine and the low latency system, and there are also zero network (e.g., WAN) hops between the client trading engine and the exchange server(s). Eliminating the network hops between the various servers can also decrease the system latency.
- the client trading engine, the low latency system, and the exchange server(s) may be co-located at the exchange data center.
- the low latency system may communicate with the client trading engine using the same exchange communication protocol that the low latency system uses to communicate with the exchange server(s).
- the low latency system may be configured to maintain separate communication protocol sessions with the client trading engine and the exchange server(s).
- the trade orders may be forwarded by the low latency system to the exchange server(s) using the same protocol session that the low latency server session received the trade orders from the client trading engine.
- the low latency system in order to maintain the sequence numbering for messages sent between the client trading engine and the exchange server(s) on the common protocol session, the low latency system may be configured to send a modified trade order to the exchange server(s) when a trade order from the client trading engine fails a pre-trade risk check that causes the exchange server(s) to reject the trade.
- the low latency system may be configured to send a non-trade order message to the exchange server(s) when a trade order from the client trading engine fails a pre-trade risk check to maintain the sequence numbering.
- the low latency system may be configured to manage the sequence numbers of messages sent between the client trading engine and the exchange server(s) on the common protocol session and calculate the correct sequence numbers for the messages.
- FIGS. 1 a and 1 b are diagrams of prior art trading systems
- FIG. 2 is a diagram of a trading system according to various embodiments of the present invention.
- FIGS. 3 a - c and 4 illustrate methods of operation for the trading system of FIG. 2 according to various embodiments of the present invention
- FIG. 5 is a more detailed diagram of the trading system of FIG. 2 according to various embodiments of the present invention.
- FIG. 6 is a diagram of a flowchart of a process according to various embodiments of the present invention.
- FIG. 2 is a diagram of a trading system or architecture 30 according to various embodiments of the present invention.
- the client trading engine 10 sends its trade order to a low latency system 32 , which may be hosted by a broker/dealer registered with the exchange.
- the low latency system 32 which may comprise one or more low latency servers as described further below, performs pre-trade risk checking and order validation on the order and, if acceptable, transmits the order to the exchange servers 18 , where the trade is executed. If the trade order is determined not to be acceptable by the low latency system 32 , the low latency system 32 may reject the trade.
- the trade order may be, for example, an order to buy or sell a quantity of units of a publicly traded security (such as a stock or bond). Also, the trade order could be an order to enter into a derivative contract where, for example, the exchange is a derivatives exchange.
- the client trading engine 10 may be in communication with the client data center 22 via a communication network 20 .
- the low latency system 32 may perform only one or a few pre-trade risk checks. For example, in one embodiment, the low latency system 32 may only check the quantity traded in the trade order (e.g., whether it is too high or too low). If the quantity is not within the prescribed limits, the low latency system 32 may reject the trade. If the quantity is within prescribed limits, the low latency system 32 may forward the order to the exchange servers 18 .
- the low latency system 32 may also provide some non-risk pre-order checks that do not significantly negatively affect the latency, such as compliance checks for compliance with Regulation NMS.
- a post-order risk checking data center 34 in communication with the low latency system 32 via a communications network 36 , may perform more sophisticated near-time post-order risk checking and validation on the order that the low latency system 32 does not perform.
- Such post-order risk checks performed by the data center 34 may include, for example, complex market impact analysis (e.g., how will the trade impact the market) and determinations of whether the trade goes against other positions of the client. If a trade order fails a post-order risk check, in some instances it may still be possible to cancel the trade if it has not yet been executed by the exchange. Also, a failure of a post-order risk check could cause certain future orders to be rejected and/or cause the client trading engine 10 to change or revise its trading strategy.
- the low latency system 32 can be relatively lightweight and perform only a small or limited number of pre-trade risk checks in order to decrease latency.
- the communications networks 20 , 36 may be any suitable type of computer network, such as a LAN, WAN, MAN, etc., and may use any suitable communication protocol, such as TCP/IP.
- the low latency system 32 in addition to sending the trade order to the exchange servers 18 (step 2 a ), may also send the order to the post-order risk checking data center 34 (step 2 b ), contemporaneously or nearly contemporaneously with sending the trade order to the exchange 18 , in order for the post-order risk checking data center 34 to commence the post-order risk checking.
- the low latency system 32 transmits the order to the exchange 18 (step 2 ), which (at step 3 ) sends back a report for the trade to the low latency system 32 .
- the low latency system 32 may then send the report to both the post-order risk checking data center 34 (step 4 a ) and the client trading engine (step 4 b ).
- FIG. 3 c shows an embodiment that is basically the combination of the embodiments of FIGS. 3 a and 3 b .
- the low latency system 32 After receiving the trade order from the client trading engine 10 (step 1 ), the low latency system 32 sends the trade order to both the exchange servers 18 (step 2 a ) and to the post-order risk checking data center (step 2 b ). Then, the exchange servers 18 send back a report for the trade to the low latency system 32 (step 3 ). The low latency system 32 may then send the report to both the post-order risk checking data center 34 (step 4 a ) and the client trading engine (step 4 b ).
- the exchange servers 18 may send a report on the trade to the post-order risk checking data center 34 , via the network 36 , in order for the post-order risk checking data center 34 to commence the risk checking.
- the data center 34 performs the more comprehensive risk checks after the low latency system 32 transmits the order to exchange 18 .
- the data center 34 may send the results of its post-trade risk checking and order validation to the client data center 22 (see FIG. 2 ).
- the low latency system 32 in FIG. 2 may provide only one or a small number of pre-trade risk checks in comparison with the more comprehensive risk checking performed by the DMA trading engine 14 in FIG. 1 a . These factors contribute to the low latency of the architecture of FIG. 2 in comparison with the architecture of FIG. 1 a.
- the client trading engine 10 , the low latency system 32 , and the exchange servers 18 may be co-located at a data center 40 for the exchange in one embodiment. Co-locating the servers 10 , 32 , 18 at one data center 40 will ordinarily reduce the time that it takes the data packets to travel between components.
- the client trading engine 10 and the low latency system 32 could be co-located in a co-location facility (not shown) that is physically near the exchange servers 18 (e.g., within 1 mile or within 5 miles).
- the low latency system 32 could be co-located with the exchange servers 18 at the data center 40 , and the client trading engine 10 could be nearby (e.g., within 5 miles).
- the client trading engine 10 may communicate with the low latency system 32 using a communication protocol that is the same as the exchange communication protocol used by the low latency system 32 to communicate with the exchange servers 18 .
- both communication links may use the FIX (Financial Information eXchange) protocol, the OUCH protocol, the CMS (Common Message Switch) protocol, or any other suitable protocol.
- the low latency system 32 may maintain two protocol sessions: one with the client trading engine 10 and another one with the exchange servers 18 .
- the low latency system 32 may act only to receive and forward traffic between the client trading engine 10 and the exchange servers 18 on the session.
- the sender and receiver maintain a sequence number of the messages sent to one another. This is a common mechanism for detecting lost messages.
- the low latency system 32 performs one or more pre-trade risk checks on the trade orders and may reject a trade that fails a pre-trade risk check such that the trade order is not forwarded to the exchange servers 18
- the low latency system 32 preferably addresses the sequence numbering issue in such an embodiment so that the next trade order after the rejection would not appear to the exchange servers 18 to have skipped a sequence number.
- the sequence numbering is not addressed, if an exchange server 18 responded with its next sequence number, the client trading engine 10 would receive duplicated sequence numbers as the number was already sent by the rejected message to the client trading engine 10 from the low latency system 32 .
- the low latency system 32 may be configured to reject the trade by sending a modified trade order to the exchange servers 18 , where the trade order is modified in such a way that the exchange servers 18 reject the trade.
- the low latency system 32 can modify the trade order in such a way, for example, by modifying the data in the order or adding extra information (e.g., setting a flag) in the order that causes the exchange servers 18 to reject the trade. In such an embodiment, the sequence numbering remains correct.
- the low latency system 32 may have to send many of these modified trade orders to the exchange servers 18 , which may negatively affect the latency of the low latency system 32 .
- the low latency system 32 may be configured to drop the connection with the exchange servers 18 (or otherwise stop forwarding messages to the exchange servers 18 ).
- the low latency system 32 may be configured to send a non-trade order message to the exchange servers 18 to maintain the sequence numbering.
- the non-trade order message may be, for example, a heartbeat message. This type of session control message will effectively increase the sequence number of the exchange as if it received the rejected trade order.
- the low latency system 32 may then use the sequence number from the exchange to create a reject message to send back to the client trading engine 10 .
- the low latency system 32 may be programmed to manage the sequence number on both ends and calculate the correct sequence number to be sent to both sides.
- FIG. 5 is a more detailed diagram of the architecture according to various embodiments of the present invention.
- the client trading engine 10 comprising one or more servers 52 , transmits the trade order to the low-latency servers 53 of the low latency system 32 via the firewall(s) 24 , the client trading engine switches 54 , and the low-latency server center switches 56 .
- the low-latency servers 53 after performing the pre-order risk check, may then transmit the order, as shown by the arrow 57 , to the server farm 18 of the exchange 58 via the low-latency server switches 56 , 60 , the firewall 24 , the exchange routers 62 , and the exchange switches 64 .
- the switches 54 , 56 , 60 , 64 may be layer 2 and/or layer 3 switches, for example.
- the servers 53 of the low latency system 32 may also transmit the order to the servers 63 of the post-order risk checking data center 34 via the server center routers 67 , the network 36 , the broker/dealer data center routers 68 , and the broker/dealer data center firewall 70 .
- the servers 63 of the post-order risk checking data center 34 may perform the post-order risk checking and order validation, as described above.
- FIG. 5 also shows the exchange WAN/extranet 75 .
- the client data center 22 is shown in communication with the client trading engine 10 via the network 20 .
- the client data center 22 may comprise servers 80 in communication with the client trading engine 10 via a firewall 82 , client data center routers 84 , the network 20 , and the client trading engine routers 86 .
- the post-order risk checking data center 34 which may be administered by a broker/dealer that also administers the low latency system 32 , may be in communication with the client data center 22 via a network, such as a WAN (not shown). In other embodiments, the low latency system 32 and the data center 34 may be administered by different entities.
- the low latency system 32 could perform additional pre-trade risk checks, so long as the additional checks do not increase the latency beyond acceptability.
- additional pre-trade risk checks may include checks on the number of trade orders submitted by the client trading engine 10 in a certain time period. For example, if the number of trades per second from the trading engine 10 is above a threshold limit, the low latency system 32 may reject some or all of the trades. Also, the low latency system 32 could check the value of a trade to make sure it is within acceptable limits.
- the post-order risk checking data center 34 may be able to make administrative changes to the low latency system 32 .
- the data center 34 could send an instruction to the low latency system 32 to turn off during trading hours, thereby preventing all trades from the client trading engine 10 from getting through to the exchange servers 18 .
- FIGS. 2-5 show only one client trading engine 10 and one low latency system 32 .
- a single server 53 of the low latency system 32 could service a number of client trading engines 10 , or there could be a separate server 53 for each client trading engine 10 .
- two or more servers 53 could service a single client trading engine 10 .
- an enterprise such as a broker/dealer, could establish such low latency systems 32 at a number of exchanges 18 , and each of the server centers 32 could be in communication with a single data center 34 for post-order risk checking. Alternatively, there could be a number of data centers 34 for serving the numerous server centers 32 .
- the architecture could be scaled by adding more clients to router pair 67 .
- Route/packet filtering could be employed on the routers 67 to prevent different clients from communicating with each other via the routers 67 .
- the components of the low latency system 32 of the client trading engine 10 shown in FIG. 5 could be co-located at the co-location facility. The latency in such an embodiment would be higher than if the low latency system 32 and the trading engine 10 where co-located at the exchange 18 , but such an environment could scale across multiple exchanges.
- the switch pair 60 could be switches or wan routers, and multiple exchanges could be connected to router/switch pair 60 .
- FIG. 6 is a flow chart of the process according to various embodiments of the present invention.
- the low latency system 32 receives a trade order from the client trading engine 10 .
- the order may be sent without a WAN hop to decrease latency.
- the server center performs a limited number of pre-order risk checks on the trade order.
- the pre-order risk checks may be limited in number so that the servers 53 of the low latency system 32 (see FIG. 5 ) can remain relatively lightweight, thereby decreasing the trade latency. If the order is acceptable, at step 104 the trade is transmitted by the low latency system 32 to the exchange 18 , where it is executed.
- the order is also sent to the post-order risk checking data center 34 , which, at step 106 , performs the post-order risk checks.
- steps 104 and 105 may be performed simultaneously or nearly simultaneously.
- the low latency system 32 may only send the trade order to the exchange servers 18 , and the post-order risk checking data center 34 may perform the post-order risk checks based on a report, received directly or indirectly, from the exchange servers 18 .
- the order is rejected at step 108 .
- the low latency system 32 may provide other functionality while remaining low latency.
- the trade order from the client trading engine 10 may be an order to enter into a swap contract based on the current price for an underlier (e.g., a security or commodity) traded on the exchange 18 .
- the low latency system 32 may send a corresponding trade order to the exchange 18 to buy or sell the underlier, as the case may be, to hedge the swap.
- the client wants to enter into an equity swap such that the client receives on its leg the return on an underlying equity traded on the exchange 18
- the low latency system 32 may send a corresponding trade order to the exchange 18 to buy the equity to thereby hedge its exposure on the swap.
- a single component may be replaced by multiple components and multiple components may be replaced by a single component, to perform a given function or functions. Except where such substitution would not be operative, such substitution is within the intended scope of the embodiments.
- Any servers described herein, for example may be replaced by a “server farm” or other grouping of networked servers that are located and configured for cooperative functions. It can be appreciated that a server farm may serve to distribute workload between/among individual components of the farm and may expedite computing processes by harnessing the collective and cooperative power of multiple servers.
- Such server farms may employ load-balancing software that accomplishes tasks such as, for example, tracking demand for processing power from different machines, prioritizing and scheduling tasks based on network demand and/or providing backup contingency in the event of component failure or reduction in operability.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- In the financial markets, many market participants implement investment strategies that require computerized trading engines that execute trades autonomously based on the most-up-to-date, or real time, market data. These trades are often executed in milliseconds after receiving the market data and, in some instances, a few milliseconds can be the difference a winning trade and a losing trade. One of the factors that contributes to the delay is the latency, or time interval, between (a) when the trading engine sends a trade order to the exchange and (b) when the trade order is acknowledged and acted upon by the exchange.
-
FIG. 1 a is a simplified diagram of a known trading architecture. Theclient trading engine 10 receives the market data, analyzes it, and based thereon sends a trade order over a Wide Area Network (WAN) 12 to a Direct Market Access (DMA)trading engine 14 that is hosted by a registered broker/dealer. TheDMA trading engine 14 performs risk checking and order validation on the trade order and, if the order is not rejected, sends it over anotherWAN 16 to theexchange server 18, where the trade is executed. Theexchange server 18 then sends a report back to theDMA trading engine 14 for the trade order. TheDMA trading engine 14 then performs a variety of post-trade risk checks. - In such an architecture, the order is sent over two
WANs client trading engine 10 and theDMA trading engine 14 typically communicate using a different communication protocol than theDMA trading engine 14 uses to communicate with theexchange data center 18. Thus, theDMA trading center 14 must also convert the order from one protocol to another, adding to the latency. - The
client trading engine 10 is also in communication with theclient data center 22, so that theclient data center 22 can track the trades executed by theclient trading engine 10. - Another known architecture is for the
client trading engine 10 to submit orders directly to theexchange servers 18 via theWAN 12, as shown inFIG. 1 b. This architecture has the advantage of reduced latency, but there is no pre-trade risk checking in this architecture (except for pre-trade risk checks performed by the client, if any) after the order is sent from theclient trading engine 10 and before the order gets to theexchange servers 18. Post-trade risk checking is performed in this scenario after the trade is submitted to the exchange by adata center 26 in communication with theexchange server 18 via aWAN 23. - In one general aspect, the present invention is directed to systems and methods for transmitting trade orders from a client trading engine to a trading exchange, where the orders are executed by one or more servers of the exchange data center. According to various embodiments, the system comprises a low latency system, comprising one or more servers, in communication with the client trading engine and the exchange server(s). The low latency system is for receiving trade orders from the client trading engine, performing one or a limited number of pre-order risk checks on the trade orders, and, when the trade orders pass the risk check(s), transmitting the trade order to the exchange server(s). The system also comprises a post-order risk checking data center in communication with the low latency system via a communications network (e.g., a WAN). The post-order risk checking data center is for performing post-order risk checks on the trade orders after the low latency system transmits the trade orders to the exchange server(s). That way, the server center can be relatively lightweight and perform only a small number of pre-trade risk checks in order to decrease latency.
- Also, in various implementations, there are zero network (e.g., WAN) hops between the client trading engine and the low latency system, and there are also zero network (e.g., WAN) hops between the client trading engine and the exchange server(s). Eliminating the network hops between the various servers can also decrease the system latency. Also, the client trading engine, the low latency system, and the exchange server(s) may be co-located at the exchange data center. In addition, the low latency system may communicate with the client trading engine using the same exchange communication protocol that the low latency system uses to communicate with the exchange server(s).
- In various implementations, the low latency system may be configured to maintain separate communication protocol sessions with the client trading engine and the exchange server(s). In other embodiments, the trade orders may be forwarded by the low latency system to the exchange server(s) using the same protocol session that the low latency server session received the trade orders from the client trading engine. In such an embodiment, in order to maintain the sequence numbering for messages sent between the client trading engine and the exchange server(s) on the common protocol session, the low latency system may be configured to send a modified trade order to the exchange server(s) when a trade order from the client trading engine fails a pre-trade risk check that causes the exchange server(s) to reject the trade. In another embodiment, the low latency system may be configured to send a non-trade order message to the exchange server(s) when a trade order from the client trading engine fails a pre-trade risk check to maintain the sequence numbering. In another embodiment, the low latency system may be configured to manage the sequence numbers of messages sent between the client trading engine and the exchange server(s) on the common protocol session and calculate the correct sequence numbers for the messages.
- These and other potential benefits and advantages of the present invention will be apparent from the description to follow.
- Various embodiments of the present invention are described herein by way of example in conjunction with the following figures wherein:
-
FIGS. 1 a and 1 b are diagrams of prior art trading systems; -
FIG. 2 is a diagram of a trading system according to various embodiments of the present invention; -
FIGS. 3 a-c and 4 illustrate methods of operation for the trading system ofFIG. 2 according to various embodiments of the present invention; -
FIG. 5 is a more detailed diagram of the trading system ofFIG. 2 according to various embodiments of the present invention; and -
FIG. 6 is a diagram of a flowchart of a process according to various embodiments of the present invention. -
FIG. 2 is a diagram of a trading system or architecture 30 according to various embodiments of the present invention. In the architecture 30 ofFIG. 2 , theclient trading engine 10 sends its trade order to alow latency system 32, which may be hosted by a broker/dealer registered with the exchange. Thelow latency system 32, which may comprise one or more low latency servers as described further below, performs pre-trade risk checking and order validation on the order and, if acceptable, transmits the order to theexchange servers 18, where the trade is executed. If the trade order is determined not to be acceptable by thelow latency system 32, thelow latency system 32 may reject the trade. The trade order may be, for example, an order to buy or sell a quantity of units of a publicly traded security (such as a stock or bond). Also, the trade order could be an order to enter into a derivative contract where, for example, the exchange is a derivatives exchange. - As shown in
FIG. 2 , theclient trading engine 10 may be in communication with theclient data center 22 via acommunication network 20. - In comparison with the prior art system shown in
FIG. 1 a, where theDMA trading engine 14 performs a variety of pre-trade risk checks, thelow latency system 32 may perform only one or a few pre-trade risk checks. For example, in one embodiment, thelow latency system 32 may only check the quantity traded in the trade order (e.g., whether it is too high or too low). If the quantity is not within the prescribed limits, thelow latency system 32 may reject the trade. If the quantity is within prescribed limits, thelow latency system 32 may forward the order to theexchange servers 18. Thelow latency system 32 may also provide some non-risk pre-order checks that do not significantly negatively affect the latency, such as compliance checks for compliance with Regulation NMS. - A post-order risk
checking data center 34, in communication with thelow latency system 32 via acommunications network 36, may perform more sophisticated near-time post-order risk checking and validation on the order that thelow latency system 32 does not perform. Such post-order risk checks performed by thedata center 34 may include, for example, complex market impact analysis (e.g., how will the trade impact the market) and determinations of whether the trade goes against other positions of the client. If a trade order fails a post-order risk check, in some instances it may still be possible to cancel the trade if it has not yet been executed by the exchange. Also, a failure of a post-order risk check could cause certain future orders to be rejected and/or cause theclient trading engine 10 to change or revise its trading strategy. Because in such embodiments the more comprehensive and computationally expensive risk checks are performed by the post-order riskchecking data center 34 after the trade order is sent to theexchange servers 18, thelow latency system 32 can be relatively lightweight and perform only a small or limited number of pre-trade risk checks in order to decrease latency. - The
communications networks - In one embodiment, as shown in
FIG. 3 a, thelow latency system 32, in addition to sending the trade order to the exchange servers 18 (step 2 a), may also send the order to the post-order risk checking data center 34 (step 2 b), contemporaneously or nearly contemporaneously with sending the trade order to theexchange 18, in order for the post-order riskchecking data center 34 to commence the post-order risk checking. In another embodiment, as shown inFIG. 3 b, thelow latency system 32 transmits the order to the exchange 18 (step 2), which (at step 3) sends back a report for the trade to thelow latency system 32. Thelow latency system 32 may then send the report to both the post-order risk checking data center 34 (step 4 a) and the client trading engine (step 4 b). -
FIG. 3 c shows an embodiment that is basically the combination of the embodiments ofFIGS. 3 a and 3 b. After receiving the trade order from the client trading engine 10 (step 1), thelow latency system 32 sends the trade order to both the exchange servers 18 (step 2 a) and to the post-order risk checking data center (step 2 b). Then, theexchange servers 18 send back a report for the trade to the low latency system 32 (step 3). Thelow latency system 32 may then send the report to both the post-order risk checking data center 34 (step 4 a) and the client trading engine (step 4 b). - In another embodiment, as shown in
FIG. 4 , theexchange servers 18 may send a report on the trade to the post-order risk checkingdata center 34, via thenetwork 36, in order for the post-order risk checkingdata center 34 to commence the risk checking. In either case, thedata center 34 performs the more comprehensive risk checks after thelow latency system 32 transmits the order to exchange 18. Also, in either embodiment, thedata center 34 may send the results of its post-trade risk checking and order validation to the client data center 22 (seeFIG. 2 ). - As can be seen by comparing
FIG. 1 a toFIG. 2 , in the architecture ofFIG. 2 there a no networks (hence, no network hops) between theclient trading engine 10 and theexchange servers 18, whereas there are two WAN hops in the architecture ofFIG. 1 a. Further, as mentioned above, thelow latency system 32 inFIG. 2 may provide only one or a small number of pre-trade risk checks in comparison with the more comprehensive risk checking performed by theDMA trading engine 14 inFIG. 1 a. These factors contribute to the low latency of the architecture ofFIG. 2 in comparison with the architecture ofFIG. 1 a. - In addition, in order to further reduce latency, the
client trading engine 10, thelow latency system 32, and theexchange servers 18 may be co-located at adata center 40 for the exchange in one embodiment. Co-locating theservers data center 40 will ordinarily reduce the time that it takes the data packets to travel between components. In other embodiments, if the exchange does not have the capability to physically host theclient trading engine 10 and thelow latency system 32, theclient trading engine 10 and thelow latency system 32 could be co-located in a co-location facility (not shown) that is physically near the exchange servers 18 (e.g., within 1 mile or within 5 miles). Also, in other embodiments, thelow latency system 32 could be co-located with theexchange servers 18 at thedata center 40, and theclient trading engine 10 could be nearby (e.g., within 5 miles). - In various embodiments, the
client trading engine 10 may communicate with thelow latency system 32 using a communication protocol that is the same as the exchange communication protocol used by thelow latency system 32 to communicate with theexchange servers 18. For example, both communication links may use the FIX (Financial Information eXchange) protocol, the OUCH protocol, the CMS (Common Message Switch) protocol, or any other suitable protocol. In one embodiment, thelow latency system 32 may maintain two protocol sessions: one with theclient trading engine 10 and another one with theexchange servers 18. - In another embodiment, there may be one protocol session between the
client trading engine 10 and theexchange servers 18, with thelow latency system 32 acting only to receive and forward traffic between theclient trading engine 10 and theexchange servers 18 on the session. In most exchange protocols, the sender and receiver maintain a sequence number of the messages sent to one another. This is a common mechanism for detecting lost messages. Because thelow latency system 32 performs one or more pre-trade risk checks on the trade orders and may reject a trade that fails a pre-trade risk check such that the trade order is not forwarded to theexchange servers 18, thelow latency system 32 preferably addresses the sequence numbering issue in such an embodiment so that the next trade order after the rejection would not appear to theexchange servers 18 to have skipped a sequence number. Similarly, if the sequence numbering is not addressed, if anexchange server 18 responded with its next sequence number, theclient trading engine 10 would receive duplicated sequence numbers as the number was already sent by the rejected message to theclient trading engine 10 from thelow latency system 32. - To solve this problem, in one embodiment, when the
low latency system 32 determines that a trade order that fails a pre-trade risk check, thelow latency system 32 may be configured to reject the trade by sending a modified trade order to theexchange servers 18, where the trade order is modified in such a way that theexchange servers 18 reject the trade. Thelow latency system 32 can modify the trade order in such a way, for example, by modifying the data in the order or adding extra information (e.g., setting a flag) in the order that causes theexchange servers 18 to reject the trade. In such an embodiment, the sequence numbering remains correct. - In rare instances where there are many rejections, the
low latency system 32 may have to send many of these modified trade orders to theexchange servers 18, which may negatively affect the latency of thelow latency system 32. In such instances, thelow latency system 32 may be configured to drop the connection with the exchange servers 18 (or otherwise stop forwarding messages to the exchange servers 18). - In another embodiment, instead of sending a modified trade order to the
exchange servers 18, thelow latency system 32 may be configured to send a non-trade order message to theexchange servers 18 to maintain the sequence numbering, The non-trade order message may be, for example, a heartbeat message. This type of session control message will effectively increase the sequence number of the exchange as if it received the rejected trade order. Thelow latency system 32 may then use the sequence number from the exchange to create a reject message to send back to theclient trading engine 10. - In yet another embodiment, instead of sending modified trade orders or non-trade order messages, the
low latency system 32 may be programmed to manage the sequence number on both ends and calculate the correct sequence number to be sent to both sides. -
FIG. 5 is a more detailed diagram of the architecture according to various embodiments of the present invention. As shown by thearrow 50, theclient trading engine 10, comprising one ormore servers 52, transmits the trade order to the low-latency servers 53 of thelow latency system 32 via the firewall(s) 24, the client trading engine switches 54, and the low-latency server center switches 56. The low-latency servers 53, after performing the pre-order risk check, may then transmit the order, as shown by thearrow 57, to theserver farm 18 of theexchange 58 via the low-latency server switches 56, 60, thefirewall 24, theexchange routers 62, and the exchange switches 64. Theswitches layer 2 and/orlayer 3 switches, for example. As shown by thearrow 66, theservers 53 of thelow latency system 32 may also transmit the order to theservers 63 of the post-order risk checkingdata center 34 via theserver center routers 67, thenetwork 36, the broker/dealerdata center routers 68, and the broker/dealerdata center firewall 70. Theservers 63 of the post-order risk checkingdata center 34 may perform the post-order risk checking and order validation, as described above. -
FIG. 5 also shows the exchange WAN/extranet 75. Also, theclient data center 22 is shown in communication with theclient trading engine 10 via thenetwork 20. As shown inFIG. 5 , theclient data center 22 may compriseservers 80 in communication with theclient trading engine 10 via afirewall 82, clientdata center routers 84, thenetwork 20, and the clienttrading engine routers 86. Also, although not show inFIG. 5 , the post-order risk checkingdata center 34, which may be administered by a broker/dealer that also administers thelow latency system 32, may be in communication with theclient data center 22 via a network, such as a WAN (not shown). In other embodiments, thelow latency system 32 and thedata center 34 may be administered by different entities. - In various embodiments, in addition to quantity pre-trade risk checking, the
low latency system 32 could perform additional pre-trade risk checks, so long as the additional checks do not increase the latency beyond acceptability. Such additional pre-trade risk checks may include checks on the number of trade orders submitted by theclient trading engine 10 in a certain time period. For example, if the number of trades per second from thetrading engine 10 is above a threshold limit, thelow latency system 32 may reject some or all of the trades. Also, thelow latency system 32 could check the value of a trade to make sure it is within acceptable limits. - In addition, according to various embodiments, the post-order risk checking
data center 34 may be able to make administrative changes to thelow latency system 32. For example, thedata center 34 could send an instruction to thelow latency system 32 to turn off during trading hours, thereby preventing all trades from theclient trading engine 10 from getting through to theexchange servers 18. -
FIGS. 2-5 show only oneclient trading engine 10 and onelow latency system 32. It should be noted that in various embodiments, asingle server 53 of thelow latency system 32 could service a number ofclient trading engines 10, or there could be aseparate server 53 for eachclient trading engine 10. Also, two ormore servers 53 could service a singleclient trading engine 10. Also, an enterprise, such as a broker/dealer, could establish suchlow latency systems 32 at a number ofexchanges 18, and each of the server centers 32 could be in communication with asingle data center 34 for post-order risk checking. Alternatively, there could be a number ofdata centers 34 for serving the numerous server centers 32. - In addition, the architecture could be scaled by adding more clients to
router pair 67. Route/packet filtering could be employed on therouters 67 to prevent different clients from communicating with each other via therouters 67. Also, in an embodiment where theclient trading engine 10 andlow latency system 32 are located at a co-location facility and not directly at theexchange 18, the components of thelow latency system 32 of theclient trading engine 10 shown inFIG. 5 could be co-located at the co-location facility. The latency in such an embodiment would be higher than if thelow latency system 32 and thetrading engine 10 where co-located at theexchange 18, but such an environment could scale across multiple exchanges. For example, theswitch pair 60 could be switches or wan routers, and multiple exchanges could be connected to router/switch pair 60. -
FIG. 6 is a flow chart of the process according to various embodiments of the present invention. Atstep 100, thelow latency system 32 receives a trade order from theclient trading engine 10. As mentioned above, the order may be sent without a WAN hop to decrease latency. Atstep 102, the server center performs a limited number of pre-order risk checks on the trade order. The pre-order risk checks may be limited in number so that theservers 53 of the low latency system 32 (seeFIG. 5 ) can remain relatively lightweight, thereby decreasing the trade latency. If the order is acceptable, atstep 104 the trade is transmitted by thelow latency system 32 to theexchange 18, where it is executed. Atstep 105, the order is also sent to the post-order risk checkingdata center 34, which, atstep 106, performs the post-order risk checks. As mentioned above, incertain embodiments steps FIGS. 3 b and 4, in some embodiments thelow latency system 32 may only send the trade order to theexchange servers 18, and the post-order risk checkingdata center 34 may perform the post-order risk checks based on a report, received directly or indirectly, from theexchange servers 18. Returning to step 102, if the order is not acceptable, the order is rejected atstep 108. - In other embodiments, the
low latency system 32 may provide other functionality while remaining low latency. For example, the trade order from theclient trading engine 10 may be an order to enter into a swap contract based on the current price for an underlier (e.g., a security or commodity) traded on theexchange 18. In such cases, thelow latency system 32 may send a corresponding trade order to theexchange 18 to buy or sell the underlier, as the case may be, to hedge the swap. For example, if the client wants to enter into an equity swap such that the client receives on its leg the return on an underlying equity traded on theexchange 18, thelow latency system 32 may send a corresponding trade order to theexchange 18 to buy the equity to thereby hedge its exposure on the swap. - In various embodiments disclosed herein, a single component may be replaced by multiple components and multiple components may be replaced by a single component, to perform a given function or functions. Except where such substitution would not be operative, such substitution is within the intended scope of the embodiments. Any servers described herein, for example, may be replaced by a “server farm” or other grouping of networked servers that are located and configured for cooperative functions. It can be appreciated that a server farm may serve to distribute workload between/among individual components of the farm and may expedite computing processes by harnessing the collective and cooperative power of multiple servers. Such server farms may employ load-balancing software that accomplishes tasks such as, for example, tracking demand for processing power from different machines, prioritizing and scheduling tasks based on network demand and/or providing backup contingency in the event of component failure or reduction in operability.
- While various embodiments have been described herein, it should be apparent that various modifications, alterations and adaptations to those embodiments may occur to persons skilled in the art with attainment of at least some of the advantages. For example, certain steps in the processes described above may be performed in different orders or at the same time. The disclosed embodiments are therefore intended to include all such modifications, alterations and adaptations without departing from the scope of the embodiments as set forth herein.
Claims (67)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/801,957 US7685044B1 (en) | 2007-05-11 | 2007-05-11 | Low latency trading system |
EP08724568A EP2153394A4 (en) | 2007-05-11 | 2008-01-17 | Low latency trading system |
JP2010507382A JP4610677B2 (en) | 2007-05-11 | 2008-01-17 | Low latency trading system |
PCT/US2008/000606 WO2008140631A1 (en) | 2007-05-11 | 2008-01-17 | Low latency trading system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/801,957 US7685044B1 (en) | 2007-05-11 | 2007-05-11 | Low latency trading system |
Publications (2)
Publication Number | Publication Date |
---|---|
US7685044B1 US7685044B1 (en) | 2010-03-23 |
US20100094743A1 true US20100094743A1 (en) | 2010-04-15 |
Family
ID=40002528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/801,957 Active 2028-01-31 US7685044B1 (en) | 2007-05-11 | 2007-05-11 | Low latency trading system |
Country Status (4)
Country | Link |
---|---|
US (1) | US7685044B1 (en) |
EP (1) | EP2153394A4 (en) |
JP (1) | JP4610677B2 (en) |
WO (1) | WO2008140631A1 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161220A1 (en) * | 2009-10-28 | 2011-06-30 | Ften, Inc. | Method and System for Monitoring Financial Market Trading Activity to Establish and Track Aggregate Trading Limits Based on Trading Sub-Limits Assigned by Prime Brokers for Particular Trading Entities |
US20110166982A1 (en) * | 2003-10-14 | 2011-07-07 | Ften, Inc. | Intraday risk management data cloud computing system capable of controlling execution of orders |
US20110225081A1 (en) * | 2010-02-02 | 2011-09-15 | Ften, Inc. | Method and system for canceling orders for financial articles of trades |
US20110320336A1 (en) * | 2010-06-29 | 2011-12-29 | Omx Technology Ab | System and a method for generating market input |
WO2012088436A2 (en) | 2010-12-22 | 2012-06-28 | Amicangioli Anthony D | Data capture and real time risk controls for electronic markets |
US20120284158A1 (en) * | 2011-05-05 | 2012-11-08 | Madison Tyler, LLC. | Zero-latency risk-management system and method |
WO2014043420A1 (en) * | 2012-09-12 | 2014-03-20 | Trudeau, Matthew | Transmission latency leveling apparatuses, methods and systems |
US8788410B1 (en) | 2009-05-29 | 2014-07-22 | Jpmorgan Chase Bank, N.A. | System and method for risk evaluation in EFT transactions |
US8832211B1 (en) * | 2010-11-24 | 2014-09-09 | Nyse Arca Llc | Messaging methods and apparatus for use with an exchange system and/or client devices |
US20150006354A1 (en) * | 2007-06-01 | 2015-01-01 | Ften, Inc. | Methods and systems for monitoring market data to identify user defined market conditions |
US20150106248A1 (en) * | 2013-10-16 | 2015-04-16 | The Nasdaq Omx Group, Inc. | Customizable Macro-Based Order Entry Protocol and System |
US9280791B2 (en) * | 2012-12-20 | 2016-03-08 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US9501795B1 (en) | 2010-08-23 | 2016-11-22 | Seth Gregory Friedman | Validating an electronic order transmitted over a network between a client server and an exchange server with a hardware device |
US9792649B1 (en) | 2010-11-24 | 2017-10-17 | Nyse Arca Llc | Methods and apparatus for performing risk checking |
US10346910B2 (en) | 2014-04-16 | 2019-07-09 | Iex Group, Inc. | Systems and methods for providing up-to-date information for transactions |
US10565646B2 (en) * | 2015-08-05 | 2020-02-18 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US10868707B1 (en) | 2019-09-16 | 2020-12-15 | Liquid-Markets-Holdings, Incorporated | Zero-latency message processing with validity checks |
US10880211B2 (en) | 2019-05-06 | 2020-12-29 | Seth Gregory Friedman | Transaction encoding and verification by way of data-link layer fields |
US20220383415A1 (en) * | 2013-10-11 | 2022-12-01 | Nex Services North America Llc | Computer system and a computerized method for central counterparty limit management |
US11710181B1 (en) | 2020-01-10 | 2023-07-25 | Cboe Exchange, Inc. | Exchange risk controls |
US11935120B2 (en) | 2020-06-08 | 2024-03-19 | Liquid-Markets GmbH | Hardware-based transaction exchange |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356498B2 (en) * | 1999-12-30 | 2008-04-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
US20090182658A1 (en) * | 2008-01-14 | 2009-07-16 | Lutnick Howard W | Automatic financial instrument transaction system |
US20230214924A1 (en) * | 2008-01-09 | 2023-07-06 | Bgc Partners, Inc. | Automatic financial instrument transaction system |
US9785683B2 (en) | 2009-09-25 | 2017-10-10 | Adnan Fakeih | Database and method for evaluating data therefrom |
US9317537B2 (en) | 2009-09-25 | 2016-04-19 | Adnan Fakeih | Database and method for evaluating data therefrom |
US11100577B1 (en) * | 2010-08-20 | 2021-08-24 | Nex Services North America Llc | Anonymous trading system |
US10263888B2 (en) * | 2010-09-30 | 2019-04-16 | Trading Technologies International, Inc. | Sticky order routers |
AU2011200733B2 (en) * | 2011-02-21 | 2015-08-13 | Zomojo Pty Ltd | A market access system and method |
JP5928976B2 (en) * | 2011-11-10 | 2016-06-01 | 新日鉄住金ソリューションズ株式会社 | Survival monitoring system |
US9781027B1 (en) * | 2014-04-06 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods to communicate with external destinations via a memory network |
US10296973B2 (en) * | 2014-07-23 | 2019-05-21 | Fortinet, Inc. | Financial information exchange (FIX) protocol based load balancing |
US10621666B2 (en) * | 2014-09-17 | 2020-04-14 | Iex Group, Inc. | System and method for facilitation cross orders |
US10147137B2 (en) * | 2014-10-16 | 2018-12-04 | Software Ag | Systems and/or methods for automatic ordering of pre-trade order evaluations |
US11108681B2 (en) | 2016-05-20 | 2021-08-31 | Arista Networks, Inc. | Systems for transmitting a data stream and methods for transmitting a data stream |
US11295382B2 (en) * | 2017-09-12 | 2022-04-05 | Mark Gimple | System and method for global trading exchange |
CN110460540B (en) * | 2019-06-28 | 2023-03-14 | 杨涛 | Low-delay high-frequency transaction system and method |
US11995719B1 (en) * | 2020-09-21 | 2024-05-28 | Cboe Exchange, Inc. | Message randomization and delay based on order type in an electronic trading system |
US11727421B1 (en) | 2020-09-21 | 2023-08-15 | Cboe Exchange, Inc | System and method for implementing a system execution delay in response to liquidity removal for resting orders |
TWI769534B (en) * | 2020-09-28 | 2022-07-01 | 凱基證券股份有限公司 | Low-latency and real-time risk control system and method for securities trading |
CN112613860B (en) * | 2020-12-17 | 2022-08-09 | 东方证券股份有限公司 | Deep traffic institute TGW-based cluster disk reporting system |
US11915315B1 (en) | 2022-08-10 | 2024-02-27 | Bgc Partners, L.P. | Method, apparatus and system for time stamping and sequencing data items |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156719A1 (en) * | 2000-11-17 | 2002-10-24 | Market Axess Inc., | Method and apparatus for trading bonds |
US20050119965A1 (en) * | 2000-05-25 | 2005-06-02 | Omar Kathwari | Solutions server |
US20060015436A1 (en) * | 2002-11-13 | 2006-01-19 | Trading Technologies International, Inc. | System and method for facilitating trading of multiple tradeable objects in an electronic trading environment |
US20060085317A1 (en) * | 2004-10-15 | 2006-04-20 | Allen Gregory A | Computer-based system and method for executing orders |
US20060259417A1 (en) * | 1999-10-14 | 2006-11-16 | International Specialists, Inc., | Automated trading system in an electronic trading exchange |
US20070025351A1 (en) * | 2005-06-27 | 2007-02-01 | Merrill Lynch & Co., Inc., A Delaware Corporation | System and method for low latency market data |
US20080126832A1 (en) * | 2006-08-04 | 2008-05-29 | Tudor Morosan | Failover system and method |
US20080270283A1 (en) * | 2003-12-31 | 2008-10-30 | Intercontinental Exchange | Electronic trading data integration and protection system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864827A (en) * | 1997-06-27 | 1999-01-26 | Belzberg Financial Markets & News International Inc. | System and method for providing an information gateway |
JP2001016274A (en) * | 1999-04-30 | 2001-01-19 | Hitachi Ltd | Inter-system linkage system and method |
JP3962211B2 (en) * | 2000-12-27 | 2007-08-22 | 株式会社大和証券グループ本社 | Data check device |
JP4615247B2 (en) * | 2004-05-07 | 2011-01-19 | 株式会社日立製作所 | Computer system |
-
2007
- 2007-05-11 US US11/801,957 patent/US7685044B1/en active Active
-
2008
- 2008-01-17 WO PCT/US2008/000606 patent/WO2008140631A1/en active Application Filing
- 2008-01-17 EP EP08724568A patent/EP2153394A4/en not_active Ceased
- 2008-01-17 JP JP2010507382A patent/JP4610677B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259417A1 (en) * | 1999-10-14 | 2006-11-16 | International Specialists, Inc., | Automated trading system in an electronic trading exchange |
US20050119965A1 (en) * | 2000-05-25 | 2005-06-02 | Omar Kathwari | Solutions server |
US7490061B2 (en) * | 2000-05-25 | 2009-02-10 | E*Trade Financial Corporation | Solutions server |
US20020156719A1 (en) * | 2000-11-17 | 2002-10-24 | Market Axess Inc., | Method and apparatus for trading bonds |
US20060015436A1 (en) * | 2002-11-13 | 2006-01-19 | Trading Technologies International, Inc. | System and method for facilitating trading of multiple tradeable objects in an electronic trading environment |
US20080270283A1 (en) * | 2003-12-31 | 2008-10-30 | Intercontinental Exchange | Electronic trading data integration and protection system |
US20060085317A1 (en) * | 2004-10-15 | 2006-04-20 | Allen Gregory A | Computer-based system and method for executing orders |
US20070025351A1 (en) * | 2005-06-27 | 2007-02-01 | Merrill Lynch & Co., Inc., A Delaware Corporation | System and method for low latency market data |
US20080126832A1 (en) * | 2006-08-04 | 2008-05-29 | Tudor Morosan | Failover system and method |
Cited By (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110166982A1 (en) * | 2003-10-14 | 2011-07-07 | Ften, Inc. | Intraday risk management data cloud computing system capable of controlling execution of orders |
US11610265B2 (en) | 2003-10-14 | 2023-03-21 | Ften, Inc. | Processing over alternate communication sessions between a source node and a destination node having different paths in a communications network |
US10867349B2 (en) | 2003-10-14 | 2020-12-15 | Ften, Inc. | Method and system for processing intraday risk parameters over a communications network |
US8788396B2 (en) | 2003-10-14 | 2014-07-22 | Ften, Inc. | Intraday risk management data cloud computing system capable of controlling execution of orders |
US20150006354A1 (en) * | 2007-06-01 | 2015-01-01 | Ften, Inc. | Methods and systems for monitoring market data to identify user defined market conditions |
US10296974B2 (en) * | 2007-06-01 | 2019-05-21 | Ften, Inc. | Methods and systems for monitoring market data to identify user defined market conditions |
US8788410B1 (en) | 2009-05-29 | 2014-07-22 | Jpmorgan Chase Bank, N.A. | System and method for risk evaluation in EFT transactions |
US20110161220A1 (en) * | 2009-10-28 | 2011-06-30 | Ften, Inc. | Method and System for Monitoring Financial Market Trading Activity to Establish and Track Aggregate Trading Limits Based on Trading Sub-Limits Assigned by Prime Brokers for Particular Trading Entities |
US20110225081A1 (en) * | 2010-02-02 | 2011-09-15 | Ften, Inc. | Method and system for canceling orders for financial articles of trades |
US8386371B2 (en) * | 2010-02-02 | 2013-02-26 | Ften, Inc. | Method and system for canceling orders for financial articles of trades |
US20110320336A1 (en) * | 2010-06-29 | 2011-12-29 | Omx Technology Ab | System and a method for generating market input |
US10269071B1 (en) | 2010-08-23 | 2019-04-23 | Seth Gregory Friedman | Distributed network packet processing |
US11315182B2 (en) | 2010-08-23 | 2022-04-26 | Seth Gregory Friedman | Validation engine with dual processing capacity |
US9501795B1 (en) | 2010-08-23 | 2016-11-22 | Seth Gregory Friedman | Validating an electronic order transmitted over a network between a client server and an exchange server with a hardware device |
US9792649B1 (en) | 2010-11-24 | 2017-10-17 | Nyse Arca Llc | Methods and apparatus for performing risk checking |
US10439833B1 (en) | 2010-11-24 | 2019-10-08 | Nyse Arca Llc | Methods and apparatus for using multicast messaging in a system for implementing transactions |
US9197428B1 (en) | 2010-11-24 | 2015-11-24 | Nyse Arca Llc | Methods and apparatus for requesting message gap fill requests and responding to message gap fill requests |
US9760946B1 (en) | 2010-11-24 | 2017-09-12 | Nyse Arca Llc | Methods and apparatus for detecting gaps in a sequence of messages, requesting missing messages and/or responding to requests for messages |
US8832211B1 (en) * | 2010-11-24 | 2014-09-09 | Nyse Arca Llc | Messaging methods and apparatus for use with an exchange system and/or client devices |
US20170236203A1 (en) * | 2010-12-22 | 2017-08-17 | Hyannis Port Research, Inc. | Data capture and real time risk controls for electronic markets |
US10489857B2 (en) * | 2010-12-22 | 2019-11-26 | Hyannis Port Research, Inc. | Data capture and real time risk controls for electronic markets |
WO2012088436A2 (en) | 2010-12-22 | 2012-06-28 | Amicangioli Anthony D | Data capture and real time risk controls for electronic markets |
WO2012088436A3 (en) * | 2010-12-22 | 2013-07-04 | Amicangioli Anthony D | Data capture and real time risk controls for electronic markets |
US20120166327A1 (en) * | 2010-12-22 | 2012-06-28 | HyannisPort Research | Data capture and real time risk controls for electronic markets |
US9607337B2 (en) * | 2010-12-22 | 2017-03-28 | Hyannisport Research, Inc. | Data capture and real time risk controls for electronic markets |
WO2012151490A1 (en) * | 2011-05-05 | 2012-11-08 | Virtu Financial Services Llc | Zero-latency risk-management system and method |
US20120284158A1 (en) * | 2011-05-05 | 2012-11-08 | Madison Tyler, LLC. | Zero-latency risk-management system and method |
US11568485B2 (en) * | 2012-09-12 | 2023-01-31 | Iex Group, Inc. | Transmission latency leveling apparatuses, methods and systems |
WO2014043420A1 (en) * | 2012-09-12 | 2014-03-20 | Trudeau, Matthew | Transmission latency leveling apparatuses, methods and systems |
JP2015532986A (en) * | 2012-09-12 | 2015-11-16 | アイイーエックス グループ,インコーポレーテッド | Communication latency leveling apparatus, method, and system |
US10467694B2 (en) * | 2012-09-12 | 2019-11-05 | Iex Group, Inc. | Transmission latency leveling apparatuses, methods and systems |
US10169818B2 (en) | 2012-12-20 | 2019-01-01 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US9280791B2 (en) * | 2012-12-20 | 2016-03-08 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US10896466B2 (en) | 2012-12-20 | 2021-01-19 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US11710183B2 (en) | 2012-12-20 | 2023-07-25 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US20220383415A1 (en) * | 2013-10-11 | 2022-12-01 | Nex Services North America Llc | Computer system and a computerized method for central counterparty limit management |
US12045883B2 (en) * | 2013-10-11 | 2024-07-23 | Nex Services North America Llc | Computer system and a computerized method for central counterparty limit management |
WO2015057149A1 (en) * | 2013-10-16 | 2015-04-23 | The Nasdaq Omx Group, Inc. | Customizable macro-based order entry protocol and system |
JP6017097B1 (en) * | 2013-10-16 | 2016-10-26 | ナスダック, インコーポレイテッドNasdaq, Inc. | Customizable, macro-based order entry protocol and system |
US9123076B2 (en) * | 2013-10-16 | 2015-09-01 | Nasdaq OMX Group, Inc. | Customizable macro-based order entry protocol and system |
EP3058537A4 (en) * | 2013-10-16 | 2017-01-18 | Nasdaq, Inc. | Customizable macro-based order entry protocol and system |
US10607289B2 (en) | 2013-10-16 | 2020-03-31 | Nasdaq, Inc. | Customizable macro-based order entry protocol and system |
US20150106248A1 (en) * | 2013-10-16 | 2015-04-16 | The Nasdaq Omx Group, Inc. | Customizable Macro-Based Order Entry Protocol and System |
US11562427B2 (en) | 2013-10-16 | 2023-01-24 | Nasdaq, Inc. | Customizable macro-based order entry protocol and system |
US10346910B2 (en) | 2014-04-16 | 2019-07-09 | Iex Group, Inc. | Systems and methods for providing up-to-date information for transactions |
US11270378B2 (en) | 2015-08-05 | 2022-03-08 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US11631134B2 (en) | 2015-08-05 | 2023-04-18 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US10565646B2 (en) * | 2015-08-05 | 2020-02-18 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US11743184B2 (en) | 2019-05-06 | 2023-08-29 | Seth Gregory Friedman | Message validation using data-link layer fields |
US10880211B2 (en) | 2019-05-06 | 2020-12-29 | Seth Gregory Friedman | Transaction encoding and verification by way of data-link layer fields |
US11431628B2 (en) | 2019-05-06 | 2022-08-30 | Seth Gregory Friedman | Line-speed messaging and validation using data-link layer fields |
US12003415B2 (en) | 2019-05-06 | 2024-06-04 | Seth Gregory Friedman | Message validation using data-link layer fields |
US11637917B2 (en) | 2019-09-16 | 2023-04-25 | Liquid-Markets-Holdings, Incorporated | Processing of payload content with parallel validation |
US11349700B2 (en) | 2019-09-16 | 2022-05-31 | Liquid-Markets-Holdings, Incorporated | Encapsulation of payload content into message frames |
US10868707B1 (en) | 2019-09-16 | 2020-12-15 | Liquid-Markets-Holdings, Incorporated | Zero-latency message processing with validity checks |
US11710181B1 (en) | 2020-01-10 | 2023-07-25 | Cboe Exchange, Inc. | Exchange risk controls |
US11908008B1 (en) | 2020-01-10 | 2024-02-20 | Cboe Exchange, Inc. | Exchange risk controls |
US11935120B2 (en) | 2020-06-08 | 2024-03-19 | Liquid-Markets GmbH | Hardware-based transaction exchange |
Also Published As
Publication number | Publication date |
---|---|
US7685044B1 (en) | 2010-03-23 |
JP2010527064A (en) | 2010-08-05 |
EP2153394A4 (en) | 2011-03-02 |
EP2153394A1 (en) | 2010-02-17 |
JP4610677B2 (en) | 2011-01-12 |
WO2008140631A1 (en) | 2008-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685044B1 (en) | Low latency trading system | |
EP3605951B1 (en) | Message processing protocol which mitigates manipulative messaging behavior | |
US10439833B1 (en) | Methods and apparatus for using multicast messaging in a system for implementing transactions | |
US10504183B2 (en) | Methods, apparatus, and systems for processing data transactions | |
US8868461B2 (en) | Electronic trading platform and method thereof | |
US11393033B2 (en) | System and method for error detection and recovery in an electronic trading system | |
JP2010527064A5 (en) | ||
US20240007404A1 (en) | Local and global quality of service shaper on ingress in a distributed system | |
US11631135B2 (en) | Methods and systems for low latency automated trading using a canceling strategy | |
US8655769B2 (en) | Method and system for improving equity trade order acknowledgement times | |
WO2009152318A1 (en) | Hardware accelerated exchange order routing appliance | |
JP2023539430A (en) | Electronic trading system and method based on point-to-point mesh architecture | |
JPWO2015198400A1 (en) | Financial product transaction system and financial product transaction control method | |
WO2012102888A2 (en) | Data feed without quantities | |
US20070244791A1 (en) | System and method for linked execution of securities transactions | |
US10467696B1 (en) | Timing mechanisms to enhance the security of online networks | |
AU2018201412A1 (en) | Data feed without quantities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MORGAN STANLEY,NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ROBERTSON, CHRIS;BRUNO, RICK;LAVANYAKUL, SARANYU;REEL/FRAME:019374/0553 Effective date: 20070510 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SERVICES GROUP INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MORGAN STANLEY;REEL/FRAME:047186/0648 Effective date: 20180928 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |