DATA PACKET PROCESSING METHODS, SYSTEMS, AND APPARATUS

Information

  • Patent Application
  • 20190287176
  • Publication Number
    20190287176
  • Date Filed
    May 31, 2019
    5 years ago
  • Date Published
    September 19, 2019
    5 years ago
Abstract
The technology detects undesirable data packets. Data packets are received from multiple sources at one or more packet switches in a data communications network. The one or more packet switches route the data packets to one or more intended destination computing nodes and also transmit a copy of all the data packets received in the data communications network to a network capture device. The network capture device processes the data packets, detects financial data packets, and transmits the detected financial data packets for analysis by a risk exposure computer system that performs automatic financial risk analysis based on the detected financial data packets.
Description
TECHNOLOGY OVERVIEW

The technology relates to systems and methods for monitoring network traffic to detect, collect, and analyze data packets for patterns, irregularities, and/or indicators that are desirable to identify. One non-limiting example application of the technology relates to collecting and analyzing intraday security issue data messages involving potential disparate systems, multiple parties, and multiple liquidity destinations.


BACKGROUND

Various computer systems can assist in the formulation and submission of user-initiated (e.g., securities trading) computer transactions to processing destinations (e.g., a liquidity destination), collect and process information related to consummated transactions after a predetermined time, (e.g., the close of the securities market each day), and enable risk and portfolio risk modeling and analysis after that time, (e.g., a post market analysis system). In addition, computer systems exist that support intraday risk analysis and modeling but only for those transactions processed through, or integrated with, such systems.


The popularity of disparate computerized trading systems, Delivery versus Payment (DVP) or Receipt versus Payment (RVP) transactions and multiple prime brokerage relationships creates situations where intraday risk exposure from large volume, large dollar U.S. equity transactions performed by a computerized trading exchange needs to be properly managed by Pre-Trade Computer Systems, Intraday Closed Computer Systems, Post Market Computer Systems or Post Market Analysis Computer Systems so that significant losses that can result from delayed response to intraday risk exposure are avoided.


Institutional clients often use brokers to initiate computer transactions involving United States equities that are physically held and cleared by another broker or custodial bank, via Delivery versus Payment (DVP) or Receipt versus Payment (RVP) transactions. Risk management computer systems used by executing brokers must also manage risks associated with these transactions, even if they are not integrated with the risk management computer systems of other potentially involved executing brokers and/or with one or more risk management computer systems of one or more relevant custodians. Risks associated with these types of transactions which might be evident after close of the trading day need to be identified automatically and earlier.


Hedge funds and other institutional investors increasingly participate in “away” trades. This means that the trade was initiated by an executing broker other than the client's clearing firm or prime broker on an agency basis (e.g. securities were bought and sold directly into or out of the clients account) or on a riskless principle basis (the trade initiating broker sends the trade in for execution at a computerized trading exchange after receiving an order from the investor and then allocates the trade to the investor's account with a markup/markdown or commission). In both situations, the trade is performed electronically and by one or more computers using an identifier (generally known in the industry as a “Neumonic” or “MPID”) that is different than the investor's identifier but is subsequently allocated to that investor through the Depository Trust Company (DTC) for clearing at the investor's clearing firm. In addition, hedge funds and other institutional investors enter into multiple clearing arrangements with clearing firms or prime brokers. In this latter situation, the investor may have funds on deposit at each firm and each firm, actually clears his/her transactions, or he/she may have a DVP/RVP relationship with one or more of the firms where the trades are transferred (generally referred to in the industry as “given up”) to the firm that will actually do the clearing of the transaction. In all of the above situations, risks associated with transactions may only be evident after close of the trading day.


U.S. Pat. No. 7,778,915 describes computer technology that addresses such intraday risks by automatically collecting real time data from a plurality of liquidity destinations in trading at least one of securities, commodities, options, futures, and derivatives. The real time data include information on computer-implemented transactions of financial articles of trade after they have been submitted to the liquidity destinations. The computer system aggregates real time data provided by the plurality of liquidity destinations and then preferably converts and streams it in a standardized form. Criteria are defined (e.g., by a user) to identify relevant portions of the real time data (e.g., identify risk situations) and stored in memory (e.g., a computer data base). The computer system compares standardized real time data against the defined criteria to determine what if any defined criteria are impacted by the real time data and to generate any of a variety of suitable outputs for review and/or action by the user and/or the computer system.


Notwithstanding with this sophisticated real time data collection and analysis method and system, the inventors identified areas for improvement. A technical assumption in existing computerized trading systems is that all computerized trading systems are properly configured to be monitored by a risk analysis system such as that described in U.S. Pat. No. 7,778,915. That assumption does not account, for example, for a “rogue” computer securities trading algorithm. Because a rogue computer securities trading algorithm is not configured to be monitored by the risk analysis system, it may be able to avoid detection and flood the market with unauthorized or undesirable computer-generated trade order data messages in a very short time frame.


In 2012, Knight Capital experienced what many in the industry call a “rogue algorithm.” The exact details of the cause of the technology issue are unclear, but what is known is that a computer-implemented trading algorithm which should not have been running was automatically buying and selling shares of equities of several companies that sent volumes and prices soaring. When the computer-implemented trading algorithm was identified and shut off after 45 minutes of trading, Knight Capital had lost over 440 million USD. Thus, a technical problem to be resolved is how to protect against rogue computer-implemented trading algorithms. Another technical problem is how to detect a rogue computer-implemented trading algorithm when data relating to that rogue algorithm is not provided to or detected by a conventional risk analysis system.


SUMMARY

The technology developed by the inventors addresses and resolves these and other technical problems.


When a user, e.g., an institutional client, sends a trade data message including one or more packets to a data communications network, those packets pass through one or more switches, e.g., one or more switches in a network owned or operated by a broker that allows the institutional client to trade under its market participant identifier (MPID). The one or more switches is/are configured to mirror all of the packet traffic that passes through those one or more switches to a network capture device. While the packets proceed to the appropriate exchange or destination, the network capture device or another node or entity in communication with the network capture device, e.g., a packet analyzer or filter, analyzes the packets to detect packets that correspond to financial network traffic, e.g., orders for financial instruments. Financial network traffic packets are passed on for further processing by a risk analysis system to detect predetermined patterns, irregularities, and/or other indicators of possible financial risk. By capturing all financial network traffic regardless of the trading algorithm being configured for risk monitoring, “rogue” computer securities trading algorithms and other order generators not configured to be monitored can still be monitored for risk and potentially be automatically shut down in the event of excessive risk.


Example embodiments include a method and apparatus for detecting undesirable data packets. Data packets are received from multiple sources at one or more packet switches in a data communications network, and the one or more packet switches route the data packets to one or more intended destination computing nodes. The one or more switches transmit a copy of all the data packets received in the data communications network to a network capture device that is separate from the one or more intended destination computing nodes. The network capture device processes the packets in the data packets and detecting financial data packets and transmits the detected financial data packets for analysis by a risk exposure computer system that performs automatic financial risk analysis based on the detected financial data packets.


In one example implementation, the network capture device transmits the detected financial data packets to a normalization data processor that eliminates duplicate data packets and converts remaining detected financial data packets to a standard data packet format. The normalization data processor transmits the converted financial data packets for analysis by the risk exposure computer system.


The data packets from multiple sources may include intraday security issue information involving potential disparate systems, multiple parties, and multiple liquidity destinations. The detected financial data packets may include order information or order execution for financial instruments and/or may include data packets associated with computer securities trading algorithms and other order generators that are not expected, authorized, or configured for risk monitoring.


In an example implementation, the network capture device is a packet analyzer, a network analyzer, a protocol analyzer, or a packet sniffer that decodes each data packet's header or other fields in the data packet to determine if it relates to financial network data packets.


The transmitting of a copy of all the data packets to the network capture device is preferably done in parallel with the routing of the data packets to one or more intended destination computing nodes and does not impact desired data packet communications and processing.


In an example implementation, the risk analysis system analyzes the financial data packets for predetermined patterns, trends, outages irregularities, and/or other indicators of possible financial risk. The financial network data packets may include pre-trade, at-trade, and post-trade data packets, and the risk analysis system may analyze the financial data packets for pre-trade risks, at-trade risks, and post-trade risks. The risk analysis system may analyze the financial data packets using custom risk checks. The risk analysis system may detect a risk, and in response, initiate an action to mitigate the detected risk.


Another example embodiment includes a method and apparatus for processing data packets. A copy of data packets that are sent from multiple sources are received for routing to one or more intended destination computing nodes. The received copy of data packets are decoded to identify financial data packets. The identified financial data packets are then transmitted for automatic financial risk analysis based on the detected financial data packets.


Another example embodiment includes a method and apparatus for routing data packets. Data packets are received from multiple sources at one or more packet switches in a data communications network. The one or more packet switches route the data packets to one or more intended destination computing nodes and also transmit a copy of all the data packets received in the data communications network to a network capture device that is separate from the one or more intended destination computing nodes for detecting financial data packets for automatic financial risk analysis.


The features described herein may be combined to form additional embodiments and sub-elements of certain embodiments may form yet further embodiments. This summary is provided to introduce technology aspects that are further described below in the detailed description. This summary is intended neither to identify key features or essential features of the claimed subject matter, nor to be used to limit the scope of the claimed subject matter; rather, this summary is intended to provide an overview of the subject matter described in this document. Accordingly, it will be appreciated that the above-described features are merely examples, and that other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, figures, and claims.





BRIEF DESCRIPTION OF THE DRAWINGS

To further clarify the above and other advantages and features, a more particular description will be rendered by reference to non-limiting example embodiments, some of which are illustrated in the appended drawings. It is appreciated that these drawings depict only example embodiments and are therefore not to be considered limiting.



FIG. 1 is a schematic representation of a system in accordance with non-limiting example embodiments;



FIG. 2 is a flowchart illustrating example steps in accordance with non-limiting example embodiments;



FIG. 3 is a function block diagram of another non-limiting example embodiment in the context of an illustrative financial trading and risk analysis system;



FIG. 4 is a function block diagram of an example of a non-limiting example embodiment of a switch node; and



FIG. 5 is a function block diagram of an example of a non-limiting example embodiment of a network of a network capture device.





DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS


FIG. 1 is a schematic representation of a system in accordance with a non-limiting example embodiment. Multiple trader computer terminals 12a . . . 12n communicate (1) trade related data messages with a Broker data communications network 10 (which is typically an internal data communications network for the Broker's organization). Although shown outside, the trader terminals may reside inside or outside the Broker data communications network. FIG. 1 also shows multiple trader algorithm computer servers 29a . . . 29n that each perform computer-implemented automatic trading within the Broker data communications network. The Broker data communications network 10 includes one or more switches 18-26 for switching or directing packets from a source node to a destination node. In various embodiments, the switches may switch packets based on protocol layer 2 information, e.g., MAC header information, protocol layer 3 information, e.g., IP header information, or a combination of layer 2 and layer 3 information. A packet switch is sometimes understood to packet switch at layer 2 while packet router is sometimes understood to packet switch at layer 3. The technology includes but is not limited to embodiments that use switches, routers, and combination switch/routers.


The Broker data communications network 10 also communicates with one or more exchanges 14a . . . 14n, (e.g., trading exchanges, liquidity destinations, dark pools, etc.) and Broker systems 16 (only one is shown for simplicity). Such exchanges 14a . . . 14n and Broker systems 16 are controlled by one or more computer servers or the like. Although output packets is shown flowing from the trader terminals 12a . . . 12n via the Broker data communications network 10 to the exchanges 14a . . . 14n and Broker system 16, packet monitoring and risk assessment may also be performed on packets flowing in other directions including from the exchanges 14a . . . 14n and/or Broker system 16 to the trader terminals 12a . . . 12n. Communication may be via any suitable signal communication medium as described above including but not limited to wired, wireless, electrical, optical, or electromagnetic communications technology.


The switches 18, 24, and 26 on the borders of the Broker data communications network 10 preferably also include a firewall for data security and protection. Data packets received from trader terminals 12a . . . 12n is routed towards the exchanges 14a . . . 14n via one or more packet switches 18-26 in the network 10. These packet switches may be owned or operated, in one non-limiting example, by a broker that allows an institutional client to trade under its market participant identifier (MPID). One or more of these switches 18-26 is configured to mirror (copy) the packet flow it receives and sends the original packets on to their appropriate destination(s), which if those packets relate to trading means they are sent to one or more of the exchanges 14a . . . 14n. Each switch 18-26 may also be configured to send the mirrored packets to a network capture device 28. The network capture device 28 receives mirrored data packets from one or more of the switches 18-26.


In this example embodiment, the network capture device 28 receives all of the data packets that are transported through the Broker data communications network so that all data packets can be inspected. In example embodiments, the network capture device 28 identifies all data packets that relate to financial transactions and sends them to a normalization data processor 30 which eliminates duplicate packets and converts them to a standard format, if needed, before sending them to a risk analysis/exposure computer system 32. In other example embodiments, the network capture device 28 forwards all packets to another node or to a further entity, e.g., a packet filter, that identifies all of those packets that relate to financial transactions and sends them to a normalization data processor 30 which eliminates duplicate packets and converts them to a standard format, if needed, before sending them to a risk analysis/exposure computer system 32.


The network capture device 28 may be a packet analyzer, also known as a network analyzer, protocol analyzer, or packet sniffer, and is implemented using a programmed computer and/or using computing hardware which intercepts (and can if desired log) data packets passing over the data communications network 10. One example network capture device 28 is Velocimetrics “Tip-off” product.


As data streams flow across the data communications network 10, the network capture device 28 captures each data packet and, in non-limiting example embodiments, decodes the packet's header or other fields in the data packet to determine if it relates to financial network data packets. For example, decoded packets that contain both an = sign and a control A (ASIC 0) in a repeating pattern are likely to be FIX packets. FIX is a known financial data packet communications protocol. As another example, the packet analysis may be performed by decoding and identifying a data packet that is or relates to an OUCH (or other financial data communications protocol) login or other request. Packets that follow for that requested transmission are assumed to include OUCH packets.


One way to monitor all data packets in the Broker data communications network is via each network switch having a monitoring port that mirrors all packets passing through all ports of the switch. Another example approach is to use a network tap. Yet another example embodiment uses a packet analyzer such as tcpdump.


The risk analysis/exposure computer system 32 performs risk analysis (detailed examples are described below) and provides the results to a Broker computer system 16. Based on the results, the Broker computer system 16 may take some appropriate or desired risk awareness action.


This financial data packet routing and monitoring technology addresses and resolves a computer-implemented financial transactions system technical challenge and provides a number of advantages not provided by existing computer-implemented financial transaction systems. First, monitoring all the data packets in the network prevents a rogue algorithm and other unconfigured and/or unauthorized order generators from avoiding detection and analysis by a risk analysis/exposure system. No assumption is made that all computerized trading systems are properly configured to be monitored by a risk analysis/exposure system. As a result, risk protection is enhanced dramatically. Second, the monitoring technology which provides this risk protection enhancement is low cost. Third, no additional latency is introduced over and above that introduced by the network switch. Fourth, the data packet mirroring and analysis is done in parallel to and does not impact normal trade communications and processing. Fifth, by monitoring all financial trade data packets sent over the network, trading algorithms and other order generators which are unexpected and/or unauthorized in the network can be detected and trigger risk awareness actions. In situations where there are multiple, diverse order generation systems, configuration of each system to allow for risk monitoring and shut-down can be prohibitively expensive as each system would need to be individually modified. Sixth, the technology described in this application allows for a single point of set-up and configuration to enable automatic risk monitoring for all trading systems.


In the example case of the rogue algorithm at Knight Capital, which was not configured to run through any risk analysis engine, the technology in this application would nevertheless detect those rogue trades and take risk awareness actions. Even if those risk awareness actions are ignored, the risk analysis computer system may take additional steps and shut down the network port that the rogue algorithm is trading on to break communication between the algorithm and exchange(s) which would have triggered an automatic cancellation of all open orders by the exchange(s). Such actions would have severely limited the losses sustained by Knight Capital had they been taken.



FIG. 2 is a flowchart illustrating example steps in accordance with a non-limiting example embodiment. In step S1, trader terminals transmit packetized messages to a broker's network, and the network routes those packets via one or more packet switches through the network to one or more exit switches (step S2). One or more of the switches mirror (copy) all data packets moving through the network to a network capture device ( (step S3). Meanwhile, the trade data packets continue on their way through the network (without any delay caused by the mirroring) to the appropriate exchange destination (step S4). The network capture device automatically processes the received data packets, e.g., by decoding each packet to extract packet information like packet header information, packet size, particular packet fields or indicators, etc., in order to detect those packets that relate to financial transactions (step S5). As mentioned above, the network capture device may, in example embodiments, pass the packets to another computer node or entity to perform this processing. The network capture device (or other packet processing node or entity) transmits those data packets that the decoding detects relate to financial transactions for risk analysis (step S6), and may optionally save the detected packets in a memory if desired. In example embodiments, those detected packets that relate to financial transactions are normalized into a standard format since the packets may originate from disparate sources that use different data formats. This normalization may be done by a normalization engine, which then sends the packets that relate to financial transactions, now in standard format, to the risk exposure system for financial risk analysis and action if warranted (step S7).



FIG. 3 is a function block diagram of another non-limiting example embodiment with an illustrative financial trading and risk analysis computer system that processes financial articles of trade. One example trading system, described in U.S. Pat. No. 7,778,915 and incorporated herein by reference, performs consolidation and analysis of intraday financial risk related to submitted securities, commodities, options, futures transactions, where securities, commodities, options, and futures are examples of financial articles of trade. The submitted securities, commodities, options, futures, or other financial articles of trade transaction involve at least one of disparate systems, multiple parties, and multiple liquidity destinations. Reference to securities or security transactions below include transactions involving securities, commodities, options, or futures. The term “other financial articles of trade” transaction refers to any other article traded at the liquidity destinations other than securities, commodities, options, and futures. It should be appreciated that different configurations can be used to consolidate and analyze the data to achieve a given result. Although particular combinations are disclosed, variations on those combinations can be used to achieve the same consolidation and analysis in the financial trading and risk analysis computer system.


Hedge Funds 1 and 2 (40 and 42) each buy and/or sell various securities asset classes such as equities and equity derivatives (e.g., futures and options) in Electronic Communication Networks (ECNs) 14a, Alternative Trading Systems (ATSs) 14b, and exchanges 14c, 14d. A correspondent broker 44 is an authorized member of and helps the Hedge Funds 40 and 42 access the Electronic Communication Networks (ECNs) 14a, Alternative Trading Systems (ATSs) 14b, and exchanges 14c, 14d. The Hedge Funds 40 and 42 may use the broker 44 or a standalone electronic trading system to affect trades, e.g., the Hedge Fund 42 uses a proprietary system to trade on the Electronic Communication Network (ECN) 14a as well as the Alternative Trading System (ATS) 14b and is using broker's system to trade on the Exchanges 14c, 14d. The Hedge Funds 40 and 42 and the broker 44 need to know about all the trading activities on a real time basis in order to more effectively manage their risk. Once a trade is executed, the trade must be settled using the clearing broker 46. Advantageously, all of the data packets traffic associated with the hedge funds 40 and 42, the broker, the Electronic Communication Networks (ECNs) 14a, Alternative Trading Systems (ATSs) 14b, and exchanges 14c, 14d are copied to the network capture device 28 for processing as described above.


The financial trading and risk analysis computer system 32 in FIG. 3 receives the financial data packets from the network capture device 28 and performs risk analysis based on those received final data packets. The risk analysis enables parties involved in the purchase and/or sale of securities, commodities and other financial articles to monitor intraday financial risk related to submitted securities transactions regardless of which securities trading system(s) were used by such party or such party's clients to affect such transactions, regardless of which liquidity destination or destinations was/were used to effect such transactions (e.g., the NYSE, NASDAQ or Alternative Trading Systems such as ECNs), and regardless of which third parties ultimately became involved in effecting such transactions (e.g., the initiating client, intermediary broker dealer(s), clearing firms, etc.).


At the same time that post-trade data is collected from the liquidity destinations, other financial information is collected from other sources including for example pre-trade financial transactions such as trader terminal orders identified by the network capture device from one or more networks that carry financial data packets. As financial data is collected from liquidity destinations and networks that carry financial data packets, other criteria, such as parameters of relevant account information may collected and stored so as to enable computer-implemented, real-time comparison of trading activity versus historical activity.


The risk exposure computer system 32 can interact with different network technologies and topologies to aggregate desired information. In some cases, the risk exposure computer system must be able to be configured to identify a particular private data messaging infrastructure to monitor and record appropriate transaction activity. In other cases, the risk exposure computer system may interact with other systems to make requests on a timed or event driven basis. This interaction could involve data message-based inquiries, direct access to databases, or other transaction-based requests. When relevant information related to a given financial situation is detected on one or more monitored networks, the relevant financial information is collected and, if necessary or desired, packaged, or translated into an appropriate normalized format and submitted for risk analysis. For example, the widely known FIX data protocol standard may be used as the standard format. Other data protocol formats could be used, e.g., OUCH or a proprietary format used only by the packet normalizer and risk analysis computer.


The risk exposure computer system 32 processes the received trade related data packets from the network capture device 28 and compares it against criteria, such as parameters or rules with regard to certain risks, trends, outages, uses, or other desired limits. The risk exposure computer system 32 can also leverage the capabilities of external analysis systems which may be commercially available to address particular risk, trend, outage, use scenarios, or other determining events. For example, an external analysis system could include a third party risk system for a particular class of securities or group of clients or other class. These parameters or rules and external analysis systems can be managed via a hierarchy to set overall criteria for a group of users, specialized criteria for individual users at any level within a defined hierarchy, or other criteria. These parameters or rules and external analysis systems can be used to adjust one or more composite ratings that will be used in other processing, or may simply accumulate a value or values for the impacted users and the hierarchy within which they exist.


Once the risk exposure computer system 32 determines that information warrants a responsive action, for example, the information equals, exceeds or falls below specified parameters or rules, notification alerts and/or action responses may be generated and sent. A configurable dashboard user interface may be used to display real-time views of aggregated trading activity across markets, asset classes, and trading systems. Notification alerts can be sent via e-mail, facsimile transmission, text message, voice, third-party message format/protocol or other messaging means to notify one or more user designated recipients, i.e., a human and/or machine, of a particular event. Notification alerts can require confirmation from recipients, if confirmation is not received within a defined timeframe. Also, follow-up notification alerts can be sent in accordance with user defined alert hierarchies until an acknowledgement is received from a designated recipient or recipients. Notification Alerts can be assigned priority to determine if they should be sent out instantaneously or after a specified amount of time, such as once an hour, a business driven window, such as once a day, or accumulate a certain number of messages before being released, or according to some other user criteria.


The risk exposure computer system 32 can also create action responses in an attempt to mitigate or maximize, as appropriate, the impact of identified situations in different scenarios. In this regard, an effective network(s) in which to affect an action response may be a network or networks other than the one in which the initial event occurred. For example, an action response may be to send a signal to the switch where the financial transactions are passing through, ordering that switch to stop all data packets on the port transporting the transactions. This would break the connection to the exchange and prevent further trades from occurring.



FIG. 4 is a function block diagram of an example of a non-limiting example embodiment of a network switch node 100. The network switch 100 is coupled to other network switching devices and/or network nodes using one or more ports 102. Switch 100 also includes a controller 106 that includes one or more processors or CPUs 108, one or more memories 110 (including but not limited to magnetic, flash-based, solid state, or other storage technology), and an optional user interface 112. The controller 106 is coupled to one or more forwarding information tables 104 that may include forwarding and/or routing information used by the switch 100 to forward network data packets via the one or more ports 112. In some examples, the one or more forwarding information tables 104 may include a media access control (MAC) table, a layer 3 (L3) table, and/or other tables and data structures. In particular, the controller using the routing tables to forward a mirror or copy of all of its data packets via one or more ports 102 to the network capture device 28 or 200 as described below.



FIG. 5 is a function block diagram of an example of a non-limiting example embodiment of a network of a network capture device 200 that is programmed according to certain example embodiments. The network capture device 200 includes a central processing unit or CPU 202, a system bus 204 that communicates with RAM 206 and storage 208. The storage 208 can be magnetic, flash-based, solid state, or other storage technology. The system bus 204 communicates with user input adapter 210 (e.g., PS/2, USB interface, or the like) that allows users in input commands to network capture device 200 via a user input device 212 (e.g., a keyboard, mouse, touch panel, or the like). The results of the processing may be displayed to a user on a display 216 via display interface 214 (e.g., a video card or the like).


The network capture device 200 may also include a network interface 218 (e.g., a transceiver) to facilitate wired (e.g., Ethernet—802.3x) and/or wireless communication (WiFi/802.11x protocols, cellular technology, and the like) with external systems 222 such as one or more of the packet switches like the network switch node 100 shown in FIG. 4 and/or one or more databases 220. External systems 222 may also include other processing systems, such as systems that provide third party services, client devices, server systems, or other computing nodes similar to that of computing node 200, e.g., to form a distributed computing system. External systems 222 may also include network attached storage (NAS) to hold large amounts of data. External systems, along with the internal storage and memory, may form a storage system for storing and maintaining information (e.g., graphical models, event log data, etc). Such a system may communicate with users and/or other computing systems to implement the techniques described herein. The database 220 may include relational, object orientated, or other types of databases for storing information (e.g., the makeup of an index, a tracked about of cash that has been generated by index components, etc).


In certain examples, a CPU may include multiple cores (e.g., (core1, core2, core3, and core4) that are all coupled to on-die memory (e.g., L2 or L3 cache memory). It will be appreciated that other architecture types may be used. For example, a multiple processor system may be used and the distinct processors may share fast onboard cache memory. Systems with additional, fewer, or single cores are also contemplated.


The risk exposure computer system 32 may automatically monitor and manage risk in several categories. Non-limiting examples in computerized trading exchanges include buying power/threshold restrictions, restricted and hard to borrow securities risk management, short sell restriction risk management, single order quantity limit management, single order value risk management, realized and unrealized profit and loss. The risk management system can be loaded with clients' overnight buying power and stock positions. During the day, the risk exposure computer system receives copies of all client messages of a financial nature in real-time, performs risk calculations, generates appropriate alerts, and/or takes appropriate action.


The risk exposure computer system 32 can check for the following example risk parameters and raise an alert if any of the defined parameters or rules is violated. Other customized risks checks may be added.


The following detailed examples are non-limiting and refer to a risk exposure computer system labeled RX which stands for RiskXposure to check for, detect, and manage all types of financial trading risks called “risk checks” across exchanges, clients, regions, and asset classes (e.g., equities, options, futures, etc.) to better manage exposure, and prevent unwanted activity like rogue trading algorithms, credit overages, etc. RiskXposure may be integrated with RiskWay, which is a trade control gateway for trading equities, to help users trade across multiple destinations while supporting managed activity with a robust set of trade risk controls.


Pre-Trade Risk Checks


Limits set in RX are sent to order entry gateways. Orders passing through the gateways are reviewed and possibly rejected before delivery to exchanges.


SOV, SOQ, Price Collars


Separate limits are available per asset class for SOQ (single order quantity), SOV (single order value), contract premium, and price collars.


Risk Checks


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







Equity SOQ
A limit on the number of shares in an order. Set as
Order is
Yes
No


Limit
a function of the share price.
rejected.


Equity SOV
Maximum order value (shares * price) per order.
Order is
Yes
No


Limit

rejected.


Tiered
Price of an equity order is checked to ensure it is
Order is
Yes
No


Equity Price
in a range around the Best Bid & Offer. Multiple
rejected.


Collar
price collar ranges are configurable based on



order price. Price collar checks can enforce dollar



ranges or percent value ranges.


% ADV as
Limits orders to within a percentage of the 20 day
Order is
Yes
No


SOQ
average daily volume for the symbol.
rejected.


Options
A limit on the number of contracts in an order. Set
Order is
Yes
No


SOQ
as a function of the option price.
rejected.


Option SOV
The maximum order value (contracts * price) per
Order is
Yes
No


Limit
option.
rejected.


Options
Restriction on the maximum price of an options
Order is
Yes
No


Max
contract
rejected.


Premium


Option
A limit to the total number of option contracts
Order is
Yes
No


Contracts
bought and sold during the trading day.
rejected.


Limit


Tiered
Price of an option order is checked to ensure it is
Order is
Yes
No


Option
in a range around the Best Bid & Offer. Multiple
rejected.


Price Collar
price collar ranges are configurable based on



order price. Price collar checks can enforce dollar



ranges or percent value ranges.


Futures
A per order risk check set on the shares/contracts
Order is
Yes
No


SOQ
requested in individual futures orders.
rejected.


Multi Leg
A limit on the combined value of a multileg order
Order is
Yes
No


SOV
containing equities and options.
rejected.









Kill Switches


RX can disable trading of specific assets, or all trading for the entire enterprise, or for select traders.


















Action On
Visible in
Visible in


Risk Check
Description
Breach
Riskway
RX







Equity Kill
Disables all equity trading for a trader
Order is
Yes
No


Switch
or group of traders.
rejected.


Option Kill
Disables all option trading for a trader
Order is
Yes
No


Switch
or group of traders.
rejected.


Disable All
Disables all trading for a trader or
Order is
Yes
No


Trading
group of traders.
rejected.









Restricted Stocks, ETB


Restricted stock lists, and ETB validation is enforced before orders go to market.


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







Easy To Borrow
Order is checked against broker's
Order is
Yes
No


(ETB) Short Sale
ETB list.
rejected.


Restricted Stock
Order is checked against the broker's
Order is
Yes
No



Restricted Stock list.
rejected.


Restricted Stock by
Order is checked against broker's
Order is
Yes
No


Side
Restricted Stock list based on the
rejected.



side.


Long/Short Sale
Order is checked against long
Order is
Yes
No



portfolio position to ensure sell is
rejected.



long sale.









At-Trade Risk Checks


At-Trade risk checks are updated with execution messages read from trading exchanges. If an execution creates a portfolio condition that exceed the allowed limit for a trader, RX will create


a breach condition that is sent to connected gateways. This breach notification informs the gateway either to reject all further trades from a trader (reject all mode), or to only allow specific order types that will decrease the trader's risk (liquidation mode).


Portfolio Market Value Risk Checks


RX can track and limit growing portfolio value (net, gross, long, and short).



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







Leverage Limit
A limit on the portfolio gross market
RX screen alert,
Yes
Yes



value divided by the current equity.
Email alert,




Portfolio level




“reject all.”


Portfolio GMV
Limitation on the absolute value of
RX screen alert,
Yes
Yes


Limit
the long market value plus the short
Email alert,



market value of a portfolio.
Portfolio level




liquidate mode.


Portfolio
The gross market value limit divided
RX screen alert,
Yes
Yes


GMV/Equity
by the equity limit.
Email alert,


Limit

Portfolio level




liquidate mode.


Portfolio LMV
The limit to the market value of all
RX screen alert,
Yes
Yes


Limit
long positions for the portfolio.
Email alert,




Portfolio level




liquidate mode.


Portfolio NMV
The net market value limit for the
RX screen alert,
Yes
Yes


Limit
portfolio.
Email alert,




Portfolio level




liquidate mode.


Portfolio
The net market value divided by the
RX screen alert,
Yes
Yes


NMV/Equity
equity limit for the portfolio.
Email alert,


Limit

Portfolio level




liquidate mode.


Portfolio SMV
A limit on the short market value of
RX screen alert,
Yes
Yes


Limit
the portfolio.
Email alert,




Portfolio level




liquidate mode.


Neutrality
The absolute value of the net market
RX screen alert,
Yes
Yes


Ratio
value divided by the gross market
Email alert.



value.


Excess or
A constraint on the amount of live
RX screen alert,
Yes
Yes


Deficit Limit
equity a trader must keep in reserve.
Email alert.



One option is to require an equity



amount greater than a percentage



of the GMV of the trader's portfolio.



Another option is to set a fixed



requirement margin.


Stock Shares
Limit on total number of shares held.
RX screen alert,
Yes
Yes


Limit

Email alert.









Portfolio Loss Limits


RX can alert on and limit portfolio losses, both realized by held positions, and unrealized due to the current market value of a portfolio.



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







Realized Loss
Limit on the realized profit and loss
RX screen alert, Email
Yes
Yes


Limit
of the trader portfolio.
alert, Portfolio level




liquidate mode.


Unrealized
Limit on the unrealized profit and
RX screen alert, Email
Yes
Yes


Loss Limit
loss of the portfolio considering
alert, Portfolio level



current market prices.
liquidate mode.


Total Loss
The sum of realized and unrealized
RX screen alert, Email
Yes
Yes


Limit
profit and loss.
alert, Portfolio level




liquidate mode.


Total Loss
A limit to the realized plus
RX screen alert, Email
Yes
Yes


Over Equity
unrealized loss a trader can make
alert, Portfolio level



as a percentage of their current
liquidate mode.



equity.









Portfolio Concentration Limits


RX can track and prevent traders from forming excessively concentrated portfolios with positions in just a few symbols.


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







GMV %
The maximum percentage that the
RX screen alert,
Yes
Yes


Concentration
Gross Market Value of any one
Email alert,


Limit
instrument can be as compared to
Portfolio level



the Gross Market Value of the
liquidate mode.



portfolio.


LMV %
The maximum percentage that the
RX screen alert,
Yes
Yes


Concentration
long market value of any one
Email alert,


Limit
instrument can be as compared to
Portfolio level



the Long Market Value of the
liquidate mode.



portfolio.


SMV %
The maximum percentage that the
RX screen alert,
Yes
Yes


Concentration
Short Market Value of any one
Email alert,


Limit
instrument can be as compared to
Portfolio level



the Short Market Value of the
liquidate mode.



portfolio.


$Delta
The Dollar Delta limit on any
RX screen alert,
Yes
Yes


Concentration
position within a portfolio
Email alert,


Limit
compared to the Dollar Delta of the
Portfolio level



entire portfolio (US only).
liquidate mode.


Consolidated
A limit to the potential loss
RX screen alert,
No
Yes


Requirement
in a single product and its
Email alert


Concentration
derivative instruments versus the



TIMS-based worst case



requirement of the entire trader



portfolio.









Locate Management


Locates can be tracked either in a pre-trade fashion or at-trade.


Risk Checks



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







$Delta
The Dollar Delta limit on any
RX screen alert,
Yes
Yes


Concentration
position within a portfolio
Email alert,


Limit
compared to the Dollar Delta of
Portfolio level



the entire portfolio (US only).
liquidate mode.


Consolidated
A limit to the potential loss
RX screen alert,
No
Yes


Requirement
in a single product and its
Email alert


Concentration
derivative instruments versus the



TIMS-based worst case



requirement of the entire trader



portfolio.


Order Based
Order is checked against remaining
Order is
Yes
No


Locates
locate quantity based on total orders in
rejected.



the market.


Execution
Order is checked against remaining
Order is
No
Yes


Based Locates
locate quantity based on executions.
rejected.









Order Pattern Limits


RX can temporarily suspend traders when certain trading patterns are detected.



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







Option Fill
Limits the number of option
RX screen alert, Email
Yes
Yes


Rate
executions a trader can have per
alert, option trading



second. If the trader breaches this
suspended



limit, they will be unable to place
temporarily.



option orders for a configurable



timeout period.


Duplicate
RX scans for duplicate orders with in
RX screen alert, Email
Yes
Yes


Order
a configurable time window.
alert, similar duplicate


Patterns

orders are rejected for




a time-out period.


Self Cross
RX periodically scans for self cross
RX screen alert, Email
No
Yes


Check
trades, where the same MPID
alert



participates in both sides of a match,



and creates breaches if they are



found.









Portfolio Capital Risk Checks



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







Committed
A limit on intraday portfolio
RX screen alert, Email
Yes
Yes


Capital Limit
value minus offsetting BOD
Alert, Portfolio level



value.
“liquidate only.”


Buy Capital
A limit on the running sum of all
RX screen alert, Email
Yes
Yes


Limit
trader buy executions (Shares *
alert, Portfolio level



Price) for the day.
“reject all.”


Net Capital
Absolute value of buy capital -
RX screen alert, Email
Yes
Yes


Limit
sell capital.
alert, Portfolio level




“reject all.”


Sell Capital
Limitation on the running sum
RX screen alert, Email
Yes
Yes



of all sell executions (Shares *
alert, Portfolio level



Price) for the day.
“reject all.”


Total Capital
The running sum of all
RX screen alert, Email
Yes
Yes



executions (Shares * Price) over
alert, Portfolio level



the trading day.
“reject all.”









Position Level Risk Checks


As RX reads execution messages from exchanges, it tracks and updates the positions of each trader. These risk checks limit the exposure allowed in any single trader position. RX can also be configured to allow separate limits to be set on ETFs.



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







Futures Net
A trader position limit set for
RX screen alert, Email
Yes
Yes


Contracts
individual futures contracts.
alert.


Symbol ADV
A limit to the total number of
RX screen alert, Email
Yes
Yes



shares a trader is allowed to buy
Alert, Symbol level



and sell in any symbol.
liquidation mode.


Symbol NMV
A limit on the Net Market Value
RX screen alert, Email
Yes
Yes


Limit
of any symbol/position.
Alert, Symbol level




liquidation mode.


Symbol NMV
A limit to any symbol's net
RX screen alert, Email
Yes
Yes


Over Equity
market value divided by the
Alert, Symbol level


Limit
trader's current equity.
liquidation mode.


ETF Symbol
A limit to the total number of
RX screen alert, Email
Yes
Yes


ADV
shares a trader is allowed to buy
Alert, Symbol level



and sell in an ETF symbol.
liquidation mode.


ETF Symbol
A limit on the Net Market Value
RX screen alert, Email
Yes
Yes


NMV Limit
of any ETF in the trader portfolio.
Alert, Symbol level




liquidation mode.


ETF Symbol
A limit to any ETF's net market
RX screen alert, Email
Yes
Yes


NMV Over
value divided by the current
Alert, Symbol level


Equity Limit
trader equity.
liquidation mode.









Option Greek Risk Checks


RX supports limits on combined exposure to cross-asset risk. Limits can be placed on the combined risk of positions in equities and their related options (US only).



















Visible in
Visible


Risk Check
Description
Action On Breach
Riskway
in RX







Position $Delta
A maximum Dollar Delta limit
RX screen alert, Email
Yes
Yes



for any of the trader's
Alert, Symbol level



positions.
liquidation mode.


Position
A limit on the Dollar Delta
RX screen alert, Email
Yes
Yes


$Delta/Equity
divided by equity for any of
Alert, Symbol level



the trader's positions.
liquidation mode.


Position $Gamma
A maximum Dollar Gamma
RX screen alert, Email
Yes
Yes



limit for any of the trader's
Alert, Symbol level



positions.
liquidation mode.


Position
A limit on the Dollar Gamma
RX screen alert, Email
Yes
Yes


$Gamma/Equity
divided by equity for any of
Alert, Symbol level



the trader's positions.
liquidation mode.


Portfolio $Delta
A limit on the Dollar Delta for
RX screen alert, Email
Yes
Yes



a trader's portfolio
alert, Portfolio level




liquidate mode.


Portfolio
A trader portfolio limit on
RX screen alert, Email
Yes
Yes


$Delta/Equity
Dollar Delta divided by equity.
alert, Portfolio level




liquidate mode.


Portfolio $Gamma
A limit on the Dollar Gamma
RX screen alert, Email
Yes
Yes



for a trader's portfolio.
alert, Portfolio level




liquidate mode.


Portfolio
A trader portfolio limit on
RX screen alert, Email
Yes
Yes


$Gamma/Equity
Dollar Gamma divided by
alert, Portfolio level



equity.
liquidate mode.


Portfolio $Vega
A limit on the Dollar Vega for
RX screen alert, Email
Yes
Yes



a trader's portfolio.
alert, Portfolio level




liquidate mode.


Portfolio
A trader portfolio limit for
RX screen alert, Email
Yes
Yes


$Vega/Equity
calculated Vega divided by
alert, Portfolio level



equity.
liquidate mode.


GMV Dollar Delta
A trader portfolio limit for the
RX screen alert, Email
Yes
Yes



Dollar Delta adjusted Gross
alert, Portfolio level



Market Value.
liquidate mode.


GMV Dollar
A trader portfolio limit for the
RX screen alert, Email
Yes
Yes


Delta/Current
Dollar Delta adjusted Gross
alert, Portfolio level


Equity
Market Value divided by
liquidate mode.



equity.









Portfolio Margin Risk Checks


RX can track and limit the theoretical losses a trader portfolio will incur under an array of simulated market shifts.


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







Buying Power
A limit on the calculated losses a
RX screen alert,
Yes
Yes


Limit
portfolio can incur assuming a ‘worst
Email alert,



case’ drop in value. The value loss of
Portfolio level



equities and options are determined
liquidate mode.



from TIMS data.


Consolidated
A limit to the TIMS worst-case
RX screen alert,
No
Yes


Requirement
analysis on a portfolio with additional
Email alert.


Limit
security mapping and offsetting



(futures, options on futures, ETFs,



options on ETFs, and options on



indexes).


Consolidated
A limit to the TIMS worst-case
RX screen alert,
No
Yes


Requirement/
analysis on a portfolio versus the
Email alert.


Equity Limit
amount of reserve equity held by the



trader.


Product
A limit on the ratio of the worst case
RX screen alert,
No
Yes


Requirement/
possible loss from any of the
Email alert.


Equity Limit
derivative instruments of any single



product versus the trader's equity.









Custom Stress Risk Checks


Custom stresses allow a client to define the their own shock scenarios that will be used to stress-test trader portfolios for potential losses.


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 1
first price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 2
second price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 3
third price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 4
fourth price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 5/
fifth price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 6
sixth price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 7
seventh price/volatility shock scenario divided
alert,


Over Equity
by trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 8
eighth price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 9
ninth price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Custom
A limit on theoretical portfolio loss from the
RX screen
No
Yes


Scenario 10
tenth price/volatility shock scenario divided by
alert,


Over Equity
trader equity.
Email




alert.


Breakup 1
A portfolio-wide limit on losses using the worst-
RX screen
No
Yes


Over Equity
case result per underlying from two of the
alert,



defined custom scenarios.
Email




alert.


Breakup 2
A portfolio-wide limit on losses using the worst-
RX screen
No
Yes


Over Equity
case result per underlying from two of the
alert,



defined custom scenarios.
Email




alert.


Largest
A limit per underlying (with related instruments
RX screen
No
Yes


Issuer Loss 1
offsetting). Up to ten of the custom scenarios
alert,


Over Equity
are used to analyze the maximum theoretical
Email



loss possible in an underlying versus trader
alert.



equity.


Largest
A limit per underlying (with related instruments
RX screen
No
Yes


Issuer Loss 1
offsetting). Up to ten of the custom scenarios
alert,


Over Equity
are used to analyze the maximum theoretical
Email



loss possible in an underlying versus trader
alert.



equity.









Open Order Risk Checks


RX can also track the risk of a trader's portfolio plus risk from open orders. When an order is submitted to the gateway, it consumes credit from a pool shared across all gateways connected to RX. If there is not enough credit for the order, then it is rejected before being routed to a exchange.


Risk Checks


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







Open Buying
A limit on a trader's executed Buying
RX screen
No
Yes


Power Limit
Power, plus all TIMS valued open orders
alert, Email



times a discount coefficient.
alert.


Open GMV
Limit to the GMV of a portfolio plus a
RX screen
No
Yes


Limit
discounted amount for open orders.
alert, Email




alert.


Open
A limit on the value of all held positions
RX screen
No
Yes


Leverage
plus a discounted amount for open
alert, Email


Limit
orders, divided by trader equity.
alert.









Gateway Configuration Checks


Order entry gateways in the TradeGuard system can be configured to enforce these checks. These are performed pre-trade at the gateway without any interaction with the RX.


















Action On
Visible in
Visible


Risk Check
Description
Breach
Riskway
in RX







Time in Force
Order is checked for restricted times in
Order is
No
No



force.
rejected.


Verify Lending
Verifies that order has an active locate flag
Order is
No
No


Broker
identifying valid lending broker.
rejected.


Order Type
Order is checked for restricted order types
Order is
No
No


Checks
(e.g., Iceberg, ISO).
rejected.


MOC/LOC Rules
Orders are validated against exchange
Order is
No
No



MOC/LOC rules.
rejected.


Tag Script
Orders can be filtered based on the
Order is
No
No



contents of any FIX field.
rejected.


Penny/Sub-
Orders for securities above one dollar must
Order is
No
No


Penny Pricing
be in increments of one penny. Orders for
rejected.


Constraints
securities below one dollar can increment



by a one hundredth of a penny.


Canadian Board
Orders for Canadian securities must
Order is
No
No


Lot Validation
increment in units determined by the
rejected.



securities previous closing price.



maximum theoretical loss possible in an



underlying versus trader equity.









Risk checks, such as one or more of the examples above, enable the risk analysis computer system to monitor capital usage and manage limits across accounts.


The above description sets forth specific details, such as particular embodiments for purposes of explanation and not limitation. It will be appreciated by one skilled in the art that other embodiments may be employed apart from these specific details. In some instances, detailed descriptions of well-known methods, nodes, interfaces, circuits, and devices have been omitted so as not obscure the description with unnecessary detail. Those skilled in the art will appreciate that the functions described may be implemented in one or more nodes using optical components, electronic components, hardware circuitry (e.g., analog and/or discrete logic gates interconnected to perform a specialized function, ASICs, PLAs, etc.), and/or using software programs and data in conjunction with one or more digital microprocessors or general purpose computers. Moreover, certain aspects of the technology may additionally be considered to be embodied entirely within any form of computer-readable memory, such as, for example, solid-state memory, magnetic disk, optical disk, etc. containing an appropriate set of computer instructions that may be executed by a processor to carry out the techniques described herein.


The term “signal” (e.g., a data signal, a data packet signal, etc.) is used herein to encompass any signal that transfers information from one position or region to another in an electrical, electronic, electromagnetic, optical, or magnetic form. Signals may be conducted from one position or region to another by electrical, optical, or magnetic conductors including via waveguides, but the broad scope of signals also includes light and other electromagnetic forms of signals (e.g., infrared, radio, etc.) and other signals transferred through non-conductive regions due to electrical, electronic, electromagnetic, or magnetic effects, e.g., wirelessly. In general, the broad category of electrical signals includes both analog and digital signals and both wired and wireless mediums. An analog signal includes information in the form of a continuously variable physical quantity, such as voltage; a digital signal, in contrast, includes information in the form of discrete values of a physical characteristic, which could also be, for example, voltage.


Unless the context indicates otherwise, the terms “circuitry” and “circuit” refer to structures in which one or more electronic components have sufficient electrical connections to operate together or in a related manner. In some instances, an item of circuitry can include more than one circuit. A “processor” is a collection of electrical circuits that may be termed as a processing circuit or processing circuitry and may sometimes include hardware and software components. In this context, software refers to stored or transmitted data that controls operation of the processor or that is accessed by the processor while operating, and hardware refers to components that store, transmit, and operate on the data. The distinction between software and hardware is not always clear-cut, however, because some components share characteristics of both. A given processor-implemented software component can often be replaced by an equivalent hardware component without significantly changing operation of circuitry, and a given hardware component can similarly be replaced by equivalent processor operations controlled by software.


Hardware implementations of certain aspects of the technology described above may include or encompass, without limitation, digital signal processor (DSP) hardware, a reduced instruction set processor, hardware (e.g., digital or analog) circuitry including but not limited to application specific integrated circuit(s) (ASIC) and/or field programmable gate array(s) (FPGA(s)), and (where appropriate) state machines capable of performing such functions.


Circuitry above is described structurally based on its configured operation or other characteristics. For example, circuitry that is configured to perform control operations may be referred to herein as control circuitry and circuitry that is configured to perform processing operations may be referred to as processing circuitry.


In terms of computer implementation, a computer is generally understood to comprise one or more processors or one or more controllers, and the terms computer, processor, and controller may be employed interchangeably. When provided by a computer, processor, or controller, the functions may be provided by a single dedicated computer or processor or controller, by a single shared computer or processor or controller, or by a plurality of individual computers or processors or controllers, some of which may be shared or distributed.


The term “system” as used herein means a computer system.


The terms “automatic” and “automatically” as used herein mean performed by or under the control of a computer.


Although various embodiments have been shown and described in detail, the claims are not limited to any particular embodiment or example. None of the above description should be read as implying that any particular element, step, range, or function is essential. All structural and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the invention. No embodiment, feature, component, or step in this specification is intended to be dedicated to the public.

Claims
  • 1. A method for processing data packets in a data communications network, the data communications network including one or more packet switches in communication with multiple source computing nodes and multiple destination computing nodes, the method comprising: a network capture device receiving a copy of all the data packets received by the one or more packet switches in the data communications network, where the network capture device is separate from the destination computing nodes;the network capture device processing the copies of all the data packets and detecting financial data packets; andthe network capture device transmitting the financial data packets for analysis by a risk exposure computer system.
  • 2. The method in claim 1, further comprising: the network capture device transmitting the financial data packets to a normalization data processor that eliminates duplicate data packets and converts remaining financial data packets to a standard data packet format, andthe normalization data processor transmitting the financial data packets converted to the standard data packet format for analysis by the risk exposure computer system.
  • 3. The method in claim 1, wherein data packets from the multiple source computing nodes include intraday security issue information involving potential disparate systems, multiple parties, and multiple liquidity destinations.
  • 4. The method in claim 1, wherein the financial data packets include order information or order execution for financial instruments.
  • 5. The method in claim 1, wherein the financial data packets include data packets associated with computer securities trading algorithms and other order generators that are not expected, authorized, or configured for risk monitoring.
  • 6. The method in claim 1, wherein the network capture device is a packet analyzer, a network analyzer, a protocol analyzer, or a packet sniffer that decodes each data packet's header or other fields in the data packet to determine when the data packet is a financial data packet.
  • 7. The method in claim 1, wherein the financial data packets includes pre-trade, at-trade, and post-trade data packets.
  • 8. The method in claim 1, wherein the financial data packets are formatted with a FIX communications protocol or with an OUCH communications protocol.
  • 9. An apparatus for processing data packets in a data communications network, the data communications network including one or more packet switches in communication with multiple source computing nodes and multiple destination computing nodes, the apparatus comprising: a receiver to receive a copy of all the data packets received by the one or more packet switches in the data communications network;one or more processors to process the copies of all the data packets from the receiver and detect financial data packets; anda transmitter to transmit the financial data packets for analysis by a risk exposure computer system.
  • 10. The apparatus in claim 9, wherein the one or more processors includes a normalization processor to eliminate duplicate data packets and convert remaining financial data packets to a standard data packet format.
  • 11. The apparatus in claim 9, wherein the data packets from the multiple source computing nodes include intraday security issue information involving potential disparate systems, multiple parties, and multiple liquidity destinations.
  • 12. The apparatus in claim 9, wherein the financial data packets include order information or order execution for financial instruments.
  • 13. The apparatus in claim 9, wherein the financial data packets include data packets associated with computer securities trading algorithms and other order generators that are not expected, authorized, or configured for risk monitoring.
  • 14. The apparatus in claim 9, wherein the apparatus is a packet analyzer, a network analyzer, a protocol analyzer, or a packet sniffer to decode each data packet's header or other fields in the data packet to determine when the data packet is a financial data packet.
  • 15. The apparatus in claim 9, wherein the financial data packets include pre-trade, at-trade, and post-trade data packets.
  • 16. The apparatus in claim 9, wherein the financial data packets are formatted with a FIX communications protocol or with an OUCH communications protocol.
RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 14/841,938, filed Sep. 1, 2015, which claims the benefit of U.S. provisional patent application 62/044,718, filed Sep. 2, 2014, the entire contents of each of which are incorporated herein by reference.

Provisional Applications (1)
Number Date Country
62044718 Sep 2014 US
Continuations (1)
Number Date Country
Parent 14841938 Sep 2015 US
Child 16427480 US