Trading circles
Trading circles enhance market data communication and reaction time by linking users to share real-time market data and order information, addressing the limitations of incomplete and delayed data in electronic trading systems.
Patent Information
- Application Number
- JP2025101920
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2013-03-15
- Filing Date
- 2025-06-18
- Publication Date
- 2025-09-09
AI Technical Summary
Electronic trading systems often provide incomplete market data and delayed communication of trade order information, limiting the ability of users to react quickly to market changes and potential order fills.
The establishment of trading circles that link users based on common characteristics, facilitating the real-time communication of circle data among members, including market data and order information, to enhance market awareness and reaction time.
Members of the trading circle receive timely and comprehensive market data, enabling quicker reactions to market changes and potential order fills, while non-members are informed only after exchange processing, thus improving market efficiency and completeness.
Smart Images

Figure 2025131860000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to trading circles. [Background technology]
[0002] Electronic trading systems typically include a trading device in communication with an electronic exchange. The electronic exchange transmits market data to the trading device. The market data may include, for example, price data, market depth data, last trade quantity data, and / or other market-related data related to tradeable objects. In some electronic trading systems, the trading device transmits trade orders to the electronic exchange. The trade orders may include, for example, price, quantity, one or more thresholds or limits, and / or other data related to trades involving one or more tradeable objects offered to the electronic exchange. Upon receiving a trade order, the electronic exchange enters the trade order into its order book and attempts to match the quantity of one or more opposing trade orders.
[0003] Embodiments are disclosed with reference to the following drawings. [Brief explanation of the drawings]
[0004] [Figure 1] FIG. 1 is a block diagram of an exemplary electronic trading system in which certain embodiments may be implemented. [Figure 2] 1 is a block diagram of an exemplary computing device that may be used to implement the disclosed embodiments. [Figure 3] 1 is a block diagram of an example of a device that may be used to implement an exemplary trading circle manager; [Figure 4A] Diagram showing multiple trading circle configurations defined in the Trading Circle Manager in Figure 3 [Figure 4B] Diagram showing multiple trading circle configurations defined in the Trading Circle Manager in Figure 3 [Figure 4C] Diagram showing multiple trading circle configurations defined in the Trading Circle Manager in Figure 3 [Figure 5]Screenshots related to the Price Data Monitor in Figure 3 [Figure 6] FIG. 4 is a first flow diagram of machine-readable instructions executed to implement the circle definition portion of FIG. 3; [Figure 7] FIG. 4 is a second flow diagram of machine-readable instructions executed to implement the trading circle manager of FIG. [Figure 8] FIG. 4 is a third flow diagram of machine-readable instructions executed to implement the price data monitor of FIG. DETAILED DESCRIPTION OF THE INVENTION
[0005] Certain embodiments will be better understood when read in conjunction with the drawings, which are given by way of example, but it should be understood that the embodiments are not limited to the arrangements and instrumentality shown in the accompanying drawings.
[0006] Although the following detailed description discloses embodiments that include, among other components, software running on hardware, these embodiments are merely exemplary and should not be construed as limiting. For example, any or all of these hardware and software components may be implemented exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and / or firmware. Accordingly, the disclosed embodiments may be practiced or implemented in other ways.
[0007] Disclosed embodiments provide mechanisms and processes for defining and establishing trading circles, which link or group two or more users. Trading circles (also referred to as "circles") are established using one or more common characteristics or parameters that identify each individual user as a member of the circle. For example, a circle may be defined by aggregating users within a company; linking users who trade common tradeable objects; users who communicate via a common communications network; users who trade one or more related tradeable objects; or users who trade at a particular frequency or volume. Alternatively, a user may choose to join one or more existing circles and / or establish a new circle based, for example, on one or more particular preferences, requirements, and / or characteristics common to the members of the new circle.
[0008] Once a trading circle is established, disclosed embodiments facilitate communication of circle data related to the first member to other members of the circle. For example, when a circle member communicates a trade order to an electronic exchange, embodiments disclosed herein facilitate communication of circle data related to the trade order data to some or all of the trading circle members. Circle data may include trade order data, such as offer price, buy price, quantity data, order thresholds / limits, and / or any data provided to the electronic exchange related to the purchase or sale of a tradeable object. Circle data may further include price data, market depth data, last trade quantity data, and / or other market data related to the tradeable object. In some examples, circle data includes information related to market conditions and / or activity in which trade submissions occur. Circle data may include, for example, latency information based on calculated round-trip times between a trading device and an exchange. Latency information shared within the circle data can be used to evaluate network performance and route orders in an attempt to limit in-flight delays. Similarly, circle data may include information regarding rejection and / or throttling specific to a given exchange. In this manner, Circle Data can be used to share market performance information and / or market characteristics with Circle Members.
[0009] By communicating circle data representing potential market changes to members of a trading circle, the information about potential market changes can be considered and / or reacted to before most non-members receive updated market data from the electronic exchange. In this manner, members of a trading circle can react quickly based on the information contained in the circle data, while non-members of the trading circle can delay action until updated market data is received from the electronic exchange. For example, when a first circle member submits an order for 20 lots of a particular tradeable object, the circle members are notified that the available quantity of that tradeable object is likely to soon be reduced by the submission of an order for at least 20 lots by the first circle member. Furthermore, when the first circle member receives an exchange notification, such as a rejection / fill notification, the circle members are notified of the notification. Additional and alternative examples are described in detail below.
[0010] Communication of circle data may be facilitated by point-to-point connections between members of a trading circle or may be controlled or directed through one or more centralized hubs, such as gateways or other suitable network devices.
[0011] Disclosed embodiments facilitate communication of circle data among members of one or more trading circles. Using the disclosed embodiments, a trading circle can be formed to include members of a trading entity, such as a group of brokers, individual traders, members of a social networking group, or other types of users. When a member of a trading circle engages in trading activity and / or receives a notification from an exchange (e.g., via a trading device or application), disclosed embodiments communicate circle data related to the activity and / or notification to other members of the circle. For example, when a first member of a trading circle submits an order to or otherwise interacts with an exchange, one or more disclosed embodiments transmit circle data including at least one indication related to the order or interaction in conjunction with (e.g., simultaneously with) the submission of the order to an electronic exchange. Other circle members, non-affiliated individuals, and other non-members of the trading circle are not informed of the order submission, interaction with the exchange, or the effect that market activity may have on the exchange until the order is processed by the exchange. As a result, fellow members of a trading circle are provided with circle data related to exchange interactions performed by other members of the trading circle sooner than non-members of the trading circle. Thus, disclosed embodiments enable members of the same trading circle to receive information regarding future market activity by other members without having to wait for processing by the exchange. Improved communication of trade data between circle members according to disclosed embodiments is described in detail herein.
[0012] Additionally, the disclosed embodiments provide mechanisms and processes for disseminating and / or sharing market data not provided or otherwise made available by an exchange. For example, exchanges often limit the number of price levels they disseminate beyond the best bid and best price. In some instances, an exchange disseminates quantity data for four price levels above and below the best bid / price. In such instances, because the exchange does not disseminate price information beyond a limited number of price levels (e.g., eight price levels), users interacting with the exchange are provided with an incomplete market view. The disclosed embodiments facilitate communication between trading circle members regarding price information beyond the limits imposed by the exchange. As described in more detail below, the disclosed embodiments utilize price information associated with executing orders by one or more individual members of a trading circle to provide a more complete market view to other members of the circle. For example, if an exchange distributes quantity information for only the eight price levels closest to the best bid / price, disclosed embodiments may expand and / or distribute quantity information for the 20 price levels closest to the best bid / price or quantity information for all price levels among members of a trading circle. In such an example, disclosed embodiments may provide a more complete market view to members of a trading circle than would be provided by the exchange alone to non-circle members. Additionally or alternatively, disclosed embodiments may use price information associated with one or more individual members of a trading circle in conjunction with price information distributed by the exchange to generate estimated price information for portions of the market for which the exchange does not currently distribute price information. In such an example, disclosed embodiments may provide a near-complete market view to individual members of a trading circle. The expansion of price information provided by disclosed embodiments is described in more detail below.
[0013] Additionally, disclosed embodiments provide members of a trading circle with an indication that an active order, or at least a portion thereof, is likely to be filled based on market activity by other members of the trading circle. As described in more detail below, disclosed embodiments analyze active orders by members of a trading circle to identify whether one or more other members of the same trading circle have active orders for the same tradable object. If the identified active orders are complementary order types (one order is a buy order and the other is a sell order), disclosed embodiments determine whether these orders are likely to result in one or more fills. A likely fill identified by the disclosed embodiments is also referred to as a "theoretical fill." Disclosed embodiments notify members of a trading circle of a theoretical fill without the individual members of the trading circle having to wait for the exchange to process the order. As a result, individual members of a trading circle who receive an indication of a theoretical fill are informed of market conditions or positions likely to result from a theoretical fill earlier than they would have to wait for the exchange to process market data. The indication of likely order fill that the disclosed embodiments provide is described in more detail below.
[0014] One embodiment provides a method for defining a group including a plurality of members, one or more of which interact with an exchange for facilitating market transactions. The method further includes detecting a first interaction with the exchange by a first group member. In response to detecting the first interaction, the method further includes communicating data regarding the first interaction to a second group member before the first group member receives a confirmation communication regarding the first interaction from the exchange.
[0015] One embodiment provides a tangible computer-readable medium having instructions that, when executed by a computing device, cause a computing device to define a group including a plurality of members, one or more of which interact with an exchange to facilitate market transactions. The instructions further cause a computing device to detect a first interaction with the exchange by a first group member. The instructions further cause a computing device to communicate data related to the first interaction to a second group member in response to detecting the first interaction before the first group member receives a confirmation from the exchange regarding the first interaction.
[0016] One embodiment provides an apparatus. The apparatus includes a definition unit that defines a group including a plurality of members. One or more of the plurality of members interact with an exchange to facilitate market transactions. The apparatus further includes a detection unit that detects a first interaction with the exchange by a first group member. The apparatus further includes a communication unit that, in response to the detection of the first interaction by the detection unit, communicates data regarding the first interaction to a second group member before the first group member receives a confirmation communication regarding the first interaction from the exchange.
[0017] One embodiment provides a method. The method includes defining a group including a plurality of members. One or more of the plurality of members interact with an exchange that distributes data regarding a range of price levels. The method further includes collecting data regarding executing orders by a first group member at a first price level outside the distribution range. The method further includes communicating the collected data to a second group member.
[0018] One embodiment provides a tangible computer-readable medium containing instructions that, when executed, cause a computing device to define a group including a plurality of members, one or more of which communicate with an exchange that distributes data regarding a range of price levels. The instructions further cause the computing device to collect data regarding executing orders by a first group member at a first price level outside the distribution range. The instructions further cause the computing device to communicate the collected data to a second group member.
[0019] One embodiment provides an apparatus. The apparatus includes a definition unit that defines a group including a plurality of members. One or more of the plurality of members communicates with an exchange that distributes data regarding a range of price levels. The apparatus further includes an expander that collects data regarding executing orders by a first group member at a first price level outside the distribution range. The apparatus further includes a communication unit that communicates the collected data to a second group member.
[0020] II. Example of an Electronic Trading System 1 illustrates a block diagram of an exemplary electronic trading system 100 in which an embodiment may be employed. The system 100 includes a trading device 110, a gateway 120, and an electronic exchange 130. The trading device 110 communicates with the gateway 120. The gateway 120 communicates with the exchange 130.
[0021] As used herein, the term "communication" includes direct communication and / or indirect communication through one or more intermediary components.
[0022] In operation, the trading device 110 submits orders to buy and sell tradeable objects on the exchange 130. A user, for example, submits an order using the trading device 110. The order is transmitted to the exchange 130 via the gateway 120. Additionally, market data is transmitted from the exchange 130 to the trading device 110 via the gateway 120. The user uses the trading device 110 to monitor the market data and / or make decisions to submit orders to buy or sell tradeable objects based on the market data.
[0023] A tradable object is anything that can be traded at a certain quantity and / or price. A tradable object may be, for example, a financial instrument, including stocks, options, bonds, futures, currencies, warrants, fund derivatives, securities, commodities, swaps, interest rate products, index-based products, trading events, goods, collectibles, and / or combinations thereof. A tradable object may be “real” or “synthetic.” Real tradable objects include instruments listed and / or managed on an exchange. Synthetic tradable objects include instruments defined by a user. For example, a synthetic tradable object may be a combination of real instruments (or other synthetic instruments) (e.g., a synthetic spread created by a user using a trading device 110). There may be real tradable objects that correspond and / or are similar to synthetic trading objects.
[0024] The trading device 110 may include one or more electronic computing platforms, such as a handheld device, a laptop, a desktop computer, a workstation with a single or multi-core processor, a server with multiple processors, and / or a cluster of computers. Although logically depicted as a single device, the trading device 110 may also include, for example, a trading terminal that is in communication with a server and collectively comprises the trading device 110. The trading terminal provides a trading screen to a user and may further communicate commands to the server for further processing of user inputs (e.g., order submissions) through the trading screen.
[0025] A trading device 110 is generally owned, operated, controlled, programmed, configured, or otherwise used by a user. As used herein, the phrase "user" may include, but is not limited to, a human being (e.g., a trader) or an electronic trading device (e.g., an algorithmic trading system or trading application). For example, one or more users may be involved in the ownership, operation, control, programming, configuration, or other use of the foregoing.
[0026] The trading device 110 may include one or more trading applications. A trading application may process market data, for example, by placing and displaying the market data in a trading chart window. The market data may be received, for example, from the exchange 130. As another example, the market data may be received from a simulation environment that provides historical data and / or simulates an exchange but does not perform real-world trading. This processing may be based, for example, on user preferences. The trading application may include, for example, an automated trading tool, such as an automated spread trading tool. One or more trading applications may be distributed across one or more computing devices in the trading device 110. For example, some components of a trading application may execute on a trading workstation, while other components execute on a server that communicates with the workstation.
[0027] The trading device 110 may include, for example, an electronic trading workstation, a portable trading device, an algorithmic trading system such as a "black box" or "gray box" system, an embedded trading system, and / or an automated trading tool. The trading device 110 may be, for example, a computing system running a copy of X_TRADER®, an electronic trading platform offered by Trading Technologies International, Inc. of Chicago, Illinois. As another example, the trading device 110 may be a computing device running an automated trading tool such as AUTOSPREADER® and / or AUTOTRADER™ offered by Trading Technologies International, Inc.
[0028] As another example, the trading device 110 may include a user interface for algorithmically processing market data and manually submitting orders based on the algorithmic processing, or for manipulating automatically placed orders. An algorithmic trading application is a trading application that includes an algorithm that is automatically processed to perform specific actions. That is, the trading application includes an automated set of instructions for performing defined actions. Actions may include processing market data in a specific manner, submitting an order, modifying an existing order, deleting an order, regulating order submission, selecting which tradable object to execute, determining the price at which to submit an order or the price after modifying an order, determining the quantity at which to submit an order or the quantity after modifying an order, determining whether to buy or sell an order, or delaying an action for a predetermined period of time.
[0029] As used herein, an algorithm (also referred to as a trading algorithm) is identified by definition as including a logical equation and parameters that describe the algorithm for use in trading. The logical equation specifies the relationship between the parameters and may generate multiple parameters. The parameters may include, for example, inputs to the logical equation of the algorithm. The definition of the algorithm may be specified, at least in part, by the algorithmic trading application. For example, the algorithmic trading application may allow a user to specify only the parameters to be used in a pre-defined logical equation. As another example, the algorithmic trading application may allow a user to specify some or all of the logical equation and some or all of the parameters. A trading algorithm whose logical equation is specified by a user is a user-defined trading algorithm.
[0030] The trading application may be stored on a computer-readable medium of the trading device 110. In some embodiments, one or more components of the trading application may be stored on a trading workstation, with other components stored on a server in communication with the workstation. In some embodiments, one or more components of the trading application are loaded onto the computer-readable medium of the trading device 110 from another computer-readable medium. For example, the trading application (or updates to the trading application) may be stored on one or more CDs or DVDs by a manufacturer, developer, or publisher and then provided to a party responsible for loading the application onto the trading device 110 or to a server from which the trading device 110 obtains the trading application. As another example, the trading device 110 may receive the trading application (or updates to the trading application) from a server, e.g., via the Internet or an internal network. The trading device 110 may receive the trading application and / or updates either when requested by the trading device 110 ("pull" or "push") or unrequested by the trading device 110.
[0031] The trading device 110 is configured to send orders related to tradeable objects. The orders may be sent, for example, as one or more messages or data packets, or via a shared memory system. The trading device 110 is configured, for example, to cancel orders, modify orders, and / or query an exchange. As another example, the trading device 110 may be configured to send instructions to a simulated exchange in a simulated environment that does not affect real-world transactions.
[0032] Orders transmitted by the trading device 110 may be transmitted, for example, at the request of a user or automatically. A trader may, for example, utilize an electronic trading workstation to manually provide one or more parameters, such as an order price and / or an order quantity, to order a particular tradable object. As another example, an automated trading tool calculates one or more parameters for an order and automatically transmits the order. In some examples, an automated trading tool prepares an order to be transmitted at a later time without actually transmitting it without confirmation from a user.
[0033] In some embodiments, the trading device 110 includes a user interface. The user interface may include, for example, one or more display devices for presenting a text-based and / or graphical trading application interface to a user. Display devices may include, for example, a computer monitor, a handheld device display, a projector, and / or a television. The user interface enables a user to specify or review parameters for an order using the trading application. The user interface may include, for example, one or more input devices for receiving input. The input devices may include, for example, a keyboard, a trackball, a two-button or three-button mouse, and / or a touchscreen. The user interface may also include other devices for interacting with the user. Information may be provided to the user via a speaker and / or received via a microphone, for example.
[0034] In some embodiments, the trading application includes one or more trading screens that enable a user to interact with one or more markets. The trading screens, for example, allow a user to obtain and view market information, set order entry parameters, enter and cancel orders, and / or review positions while implementing various trading strategies. The trading application, for example, receives information from the exchange 130 (such as bid prices, bid quantities, ask prices, ask quantities, prices and quantities of past transactions, and / or other market-related information), some or all of which may be displayed by the user interface of the trading device 110. Based on the received information, the trading screens may display a range of price levels and corresponding bid and ask quantities for the tradeable object. To provide relevant trading information to the user, the trading screens may display a price range (and corresponding bid and ask quantities) centered around the inside market. Information may be provided to the trading application continuously or periodically, allowing the trading application to update the trading screens to reflect current market information. A user may use the trading screens to, for example, submit orders to buy or sell the tradeable object or otherwise trade the tradeable object based on the displayed information.
[0035] A trading screen may display one or more trading tools. A trading tool is an electronic tool that enables, supports, and / or facilitates electronic trading. Exemplary trading tools may include, but are not limited to, charts, trading ladders, order entry tools, automated trading tools, automated spread tools, risk management tools, order parameter tools, order entry systems, market grids, execution windows, market order windows, combinations thereof, or other electronic tools used to trade, prepare for trades, manage trades, or analyze the market.
[0036] In one embodiment, orders from trading devices 110 are sent to the exchange 130 through a gateway 120. The trading devices 110 communicate with the gateway 120 using, for example, a local area network, a wide area network, a wireless network, a virtual private network, a T1 line, a T3 line, an integrated services digital network ("ISDN") line, a point of presence, the Internet, and / or a shared memory system.
[0037] The gateway 120 communicates with the trading device 110 and the exchange 130. The gateway 120 is configured to facilitate communication between the trading device 110 and the exchange 130. For example, the gateway 120 receives orders from the trading device 110 and transmits the orders to the exchange 130. As another example, the gateway 120 receives market data from the exchange 130 and transmits the market data to the trading device 110.
[0038] In one embodiment, the gateway 120 performs processing on data communicated between the trading device 110 and the exchange 130. For example, the gateway 120 processes orders received from the trading device 110 into a data format understandable by the exchange 130. Similarly, the gateway 120 can convert market data received from the exchange 130 in an exchange-specific format into a format understandable by the trading device 110. Processing by the gateway 120 can include, for example, tracking orders from the trading device 110 and updating order status based on execution confirmations received from the exchange 130. As another example, the gateway 120 aggregates market data from the exchange 130 and provides it to the trading device 110.
[0039] In some embodiments, the gateway 120 provides services other than processing data communicated between the trading device 110 and the exchange 130. The gateway 120 may, for example, provide risk processing.
[0040] Gateway 120 may include one or more electronic computing platforms, such as, for example, a handheld device, a laptop, a desktop computer, a workstation with a single or multi-core processor, a server with multiple processors, and / or a cluster of computers.
[0041] Gateway 120 may include one or more gateway applications, which may handle, for example, order processing and market data processing, which may be based on user preferences, for example.
[0042] In one embodiment, gateway 120 communicates with exchange 130 using, for example, a local area network, a wide area network, a virtual private network, a T1 line, a T3 line, an ISDN line, a point of presence, the Internet, and / or a shared memory system.
[0043] Generally, exchange 130 is owned, operated, controlled, or used by an exchange organization. Examples of exchange organizations include CME Group, New York Stock Exchange / London International Financial Futures and Options Exchange ("NYSE LIFFE"), Intercontinental Exchange ("ICE"), and Eurex. Exchange 130 has an electronic matching system, such as a computer, server, or other computing device configured to enable the buying and selling of tradable objects (e.g., offered by the exchange). An electronic matching system includes, for example, a matching engine. Exchange 130 may include separate entities, some of which list and / or manage tradable objects and others of which receive and match orders. Exchange 130 may include, for example, an electronic communications network ("ECN").
[0044] The exchange 130 is configured to match orders to buy and sell tradeable objects. The tradeable objects may be listed for trading by the exchange 130. The orders may include, for example, orders received from the trading device 110. The orders may be received from the trading device 110 via the gateway 120. Additionally, the orders may be received from other devices in communication with the exchange 130. That is, the exchange 130 is generally in communication with various other trading devices (which may be similar to the trading device 110) that provide orders to be matched.
[0045] The exchange 130 is configured to provide market data. The market data may be provided, for example, via one or more messages or data packets or via a shared memory system. The market data may be provided, for example, to the trading device 110. The market data may be provided, for example, to the trading device 110 via the gateway 120. The market data may include, for example, data representing the inside market. The inside market refers to the lowest asking price (also known as the "best ask") and the highest buying price (also known as the "best bid") at a particular point in time (as these may change over time). The market data may also include market depth. Market depth refers to the quantity available in the inside market or at other prices away from the inside market. Thus, the inside market may be considered a first level of market depth. One tick relative to the inside market, for example, may be considered a second level of market depth. In some embodiments, market depth is provided at all price levels. In some embodiments, market depth is provided at fewer than all price levels. For example, market depth may be provided at the first five price levels in both directions relative to the inside market. As another example, market depth may be provided at the first ten price levels with available quantity in the market. Market data may also include information such as last traded price (LTP), last traded quantity (LTQ), and order fill information.
[0046] In one embodiment, the system 100 includes multiple trading devices 110. For example, multiple trading devices similar to the trading devices 110 described above communicate with the gateway 120 to transmit orders to the exchange 130.
[0047] In one embodiment, the system 100 includes multiple gateways 120. For example, multiple gateways similar to the gateway 120 described above communicate with the trading device 110 and the exchange 130. This configuration may provide redundancy in case one gateway 120 fails.
[0048] In one embodiment, the system 100 includes multiple exchanges 130. The gateway 120 communicates with multiple exchanges, for example, similar to the exchanges 130 described above. In this configuration, for example, the trading device 110 can trade with multiple exchanges via the gateway 120.
[0049] In one embodiment, the system 100 includes multiple exchanges 130 and multiple gateways 120. For example, multiple gateways similar to the gateway 120 described above communicate with multiple exchanges similar to the exchange 130 described above. Each gateway, for example, communicates with one or more different exchanges. In this configuration, for example, one or more trading devices 110 may trade with (and / or provide redundant connections to) multiple exchanges.
[0050] In some embodiments, trading device 110 includes one or more computing devices or processing components. In other words, the functions of trading device 110 may be performed by multiple computing devices. For example, one computing device may generate instructions to send to exchange 130, while another computing device may provide a graphical user interface to a user. In some embodiments, gateway 120 includes one or more computing devices or processing components. In other words, the functions of gateway 120 may be performed by multiple computing devices. In some embodiments, exchange 130 includes one or more computing devices or processing components. In other words, the functions of exchange 130 may be performed by multiple computing devices.
[0051] In some embodiments, the gateway 120 is part of the trading device 110. For example, components of the gateway 120 may be part of the same computing platform as the trading device 110. As another example, the functionality of the gateway 120 may be performed by components of the trading device 110. In some embodiments, the gateway 120 is not present. Such a configuration may be employed, for example, when the trading device 110 does not need to utilize the gateway 120 to communicate with the exchange 130. The trading device 110 may be configured to communicate directly with the exchange 130, for example.
[0052] In some embodiments, the gateway 120 is physically co-located with the trading device 110. In some embodiments, the gateway 120 is physically co-located with the exchange 130. In some embodiments, the trading device 110 is co-located with the exchange 130. In some embodiments, the gateway 120 is physically separate from both the trading device 110 and the exchange 130.
[0053] In some embodiments, the system 100 includes other devices specific to the communications architecture, such as middleware, firewalls, hubs, switches, routers, exchange-specific communications equipment, modems, security managers, and / or encryption / decryption devices.
[0054] II. Examples of Computing Devices Figure 2 illustrates a block diagram of an example computing device 200 that can be used to implement the disclosed embodiments. The trading device 110 of Figure 1, for example, includes one or more computing devices 200. The gateway 120 of Figure 1, for example, includes one or more computing devices 200. The exchange 130 of Figure 1, for example, includes one or more computing devices 200.
[0055] Computing device 200 includes a processor 202, an interconnect bus 204, a chipset 206, a memory controller 208, an input / output (I / O) controller 210, a system memory 212, a mass storage memory 214, an I / O bus 216, a network interface 218, a display 220, input devices 222, and output devices 224. Computing device 200 may include additional, different, or fewer components. For example, multiple buses, multiple processors, multiple memory devices, multiple network interfaces, multiple display devices, multiple input devices, multiple output devices, or any combination thereof may be provided. As another example, computing device 200 does not include an output device 224 that is separate from display device 220. As another example, computing device 200 does not include display device 220. As another example, computing device 200 may not include input device 222. Instead, for example, computing device 200 is controlled by external or remote input devices via network interface 218 .
[0056] The computing device 200 includes a processor 202 connected to an interconnection bus 204. The interconnection bus 204 may include a communications bus, channel, network, circuit, switch, fabric, or other mechanism for communicating data between components within the computing device 200. The interconnection bus 204 may be communicatively coupled to transfer data between the components of the computing device 200. For example, during an installation process of a trading application, one or more computer-readable instructions executable by the processor 202 may be transferred from the input device 222 and / or the network interface 218 to the system memory 212 and / or the mass storage memory 214. When the computing device 200 is executing or preparing to execute a trading application stored in the system memory 212 and / or the mass storage memory 214, the processor 202 may retrieve instructions from the system memory 212 and / or the mass storage memory 214 via the interconnection bus 204.
[0057] Processor 202 may be, for example, a processor, processing unit, or microprocessor. Processor 202 may include, for example, one or more general-purpose processors, digital signal processors, application-specific integrated circuits, field-programmable gate arrays, analog circuits, digital circuits, programmed processors, and / or combinations thereof. Processor 202 may be a single device or a combination of devices, such as one or more devices associated with a network or distributed processing. Any processing strategy may be used, such as multiprocessing, multitasking, parallel processing, and / or remote processing. Processing may be local or remote and may move from one processor to another. Computing device 200 may be a multiprocessor system, in which case it may include one or more additional processors communicatively connected to interconnect bus 204.
[0058] Processor 202 may be operable to execute logic encoded in one or more tangible media, such as system memory 212 or mass storage memory 214, and / or to execute logic via network interface 218. As used herein, logic encoded in one or more tangible media includes instructions executable by processor 202 or a different processor. Logic may be stored, for example, as part of software, hardware, an integrated circuit, firmware, and / or microcode. Logic may be received from an external communication device, for example, via a communication network connected to the Internet. Processor 202 may execute logic to perform the functions, acts, or tasks described in the figures or herein.
[0059] 2 is connected to a chipset 206. The chipset 206 includes a memory controller 208 and an I / O controller 210. The chipset typically provides I / O and memory management functions, as well as a number of general-purpose and / or special-purpose registers and timers that can be accessed and used by one or more processors connected to the chipset 206. The memory controller 208 performs functions that allow the processor(s) 202 to access the system memory 212 and mass storage memory 214.
[0060] System memory 212 and mass storage memory 214 may be one or more tangible media, such as, for example, a computer-readable storage medium. System memory 212 includes various volatile and non-volatile storage media, such as, for example, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), electrically programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), flash memory, other tangible data storage devices, and any combination thereof. Mass storage memory 214 includes various types of mass storage devices, including, for example, hard disk drives, optical media, magnetic tape, any other tangible data storage device, or any combination thereof. In some embodiments, system memory 212 and mass storage memory 214 are non-transitory.
[0061] The system memory 212 and the mass storage memory 214 may be, for example, a single memory module. The system memory 212 and the mass storage memory 214 may be adjacent to, part of, programmed by, networked with, and / or remote from the processor 202, such that data stored in the system memory 212 and the mass storage memory 214 can be read by the processor 202. The system memory 212 and the mass storage memory 214 may store instructions executable by the processor 202. When the instructions are executed, one or more actions or functions described herein or illustrated in the figures are performed.
[0062] I / O controller 210 performs functions that allow processor 202 to communicate with network interface 218, display 220, input devices 222, and output devices 224 via I / O bus 216. Although memory controller 208 and I / O controller 210 are shown as separate blocks within chipset 206 in FIG. 2, the functions performed by these blocks may be integrated within a single semiconductor circuit or may be realized using two or more separate integrated circuits. One or more components in computing device 200 may be implemented as a system on a chip (e.g., a system-on-chip in an IPHONE®).
[0063] Network interface 218 may be a one-way or two-way communication connection. Thus, network interface 218 may communicatively couple one, two, or more communication networks or devices. For example, interconnection bus 204 may be connected to a gateway similar to gateway 120 of FIG. 1 described above, thereby enabling one, some, or all of the components of computing device 200 to access or communicate with the gateway. As another example, network interface 218 connects interconnection bus 204 to other communication networks. Network interface 218 may be, for example, an Integrated Services Digital Network (ISDN) card or modem providing a data communication connection. As another example, network interface 218 may be a Local Area Network (LAN) card providing a data communication connection to a compatible LAN, for example, connected to the Internet. Wireless links may also be implemented. Network interface 218 sends and receives, for example, electrical, electromagnetic, or optical signals that carry analog or digital data streams corresponding to various types of information.
[0064] Display device 220 may include, for example, a visual output device, a cathode ray tube (CRT) display, an electronic display, electronic paper, a flat panel display, a light emitting diode (LED) display, an electroluminescent display (ELD), a plasma display panel (PDP), a liquid crystal display (LCD), a thin film transistor display (TFT), an organic light emitting diode display (OLED), a surface conduction electron emission display (SED), a laser television, a carbon nanotube, a nanocrystal display, a head mounted display, a projector, a three dimensional display, and / or a transparent display device.
[0065] The display device 220 is configured to display a trading screen. The trading screen may, for example, be similar to the trading screens described above. The trading screen may be interactive. The interactive trading screen may, for example, be used to perform one or more trading actions. The trading screen may, for example, be used to set and / or submit one or more order entry parameters using one or more order entry actions. The display device 220 and / or the input device 222 may, for example, be used to interact with the trading screen.
[0066] The input device 222 may include, for example, a keyboard, a mouse, a microphone, a touchscreen, a trackball, a keypad, a joystick, and / or other devices for input. The input device 222 may be used, for example, to provide command selections to the processor 202. The input device 222 may be, for example, a mouse used to control a cursor displayed on a trading screen. The mouse may include, for example, one or more buttons for selection and control.
[0067] The output device(s) 224 may include, for example, a keyboard, a mouse, speakers, a touchscreen, a trackball, a keypad, a tactile device or system, a joystick, and / or other devices for providing output. The output device(s) 224 may be used to output one or more signals, such as tactile or audio signals, to a user. Although the input device(s) 222 and the output device(s) 224 are shown as separate blocks in Figure 2, the functions performed by these blocks may be integrated into a single I / O device.
[0068] III. Communication of Transaction Data to Trading Circle Members Figure 3 illustrates an example trading circle manager 300 that can be used to implement embodiments disclosed herein. In some embodiments, the trading circle manager 300 of Figure 3 is implemented on or in association with the trading device 110 of Figure 1. In some embodiments, the trading circle manager 300 comprises, for example, a separate computing device configured to cooperate with the trading device 110 of Figure 1. In other embodiments, the trading circle manager 300 includes instructions or code that are implemented or otherwise executed by the trading device 110 of Figure 1.
[0069] In one embodiment, each trading circle manager 300 of Figure 3 may have an instance for each circle (also referred to as a group), with each trading circle manager 300 dedicated to a corresponding trading circle. A trading circle manager 300 may manage multiple circles for one or more unrelated individuals or entities.
[0070] The trading circle manager 300 enables, for example, a user of a trading device 110 or other trading device to establish one or more trading circles with other users for the purpose of communicating trading data between the circle members. Communication of trading data between trading circle members is facilitated by the trading circle manager 300, thereby providing trading data to circle members without waiting for the exchange to process the received information related to the trading data and generate an appropriate response. As a result, trading circle members receive trading data associated with other members more quickly than in current systems, in which a user interacting with an exchange waits until the exchange processes orders and / or other transactions before acknowledging the submission of an order or initiation of a trade by another user or entity. In contrast to current systems, the trading circle manager 300 provides circle members with data regarding, for example, orders submitted by fellow circle members at the exchange, without the receiving member having to wait for the exchange to process and distribute the data regarding the order.
[0071] For example, when a first member of a circle established and managed by the trading circle manager 300 of FIG. 3 has a first order pending at an exchange that includes a first tradeable object, a second member of the same trading circle may submit a second order to the exchange that includes the same first tradeable object. In current systems, to become aware of the second order, the first circle member must wait for the exchange to process the order submitted by the second circle member and deliver information related to the market changes that the order brings about. Conversely, the trading circle manager 300 transmits data related to the second order to the first circle member as soon as the second circle member (or a trading device associated with and / or used by the second circle member) transmits the second order to the exchange. In other words, the trading circle manager 300 transmits an indication of the second order together with (e.g., simultaneously or substantially simultaneously with) the transmission of the second order to the exchange. As a result, the trading circle manager 300 allows a first circle member to receive data regarding the first tradeable object and estimates and forecasts of the first tradeable object's impact on the exchange without the first circle member having to wait for the exchange to process the second order of the second circle member.
[0072] Circle members who receive transaction data from fellow circle members via the trading circle manager 300 of FIG. 3 have a distinct advantage over non-circle members with respect to market activity by other circle members. In particular, individuals and / or entities organized into trading circles and using the trading circle manager 300 are likely to receive transaction data before non-members. Continuing the example above, if a first circle member uses the trading circle manager 300 to receive data related to a second order submitted by a second circle member (e.g., price and quantity information contained in the second order and / or an indication that an additional order has been submitted related to the first tradable object) at a first time, non-members are likely to receive data related to the second order at a second time, which is later than the first time. In such a case, the first time corresponds to the time the second order is transmitted to the exchange, and the second time corresponds to the time after the exchange receives and processes the second order and distributes data related to such processing. The first circle member may utilize the period between the first and second times provided by the trading circle manager 300 to perform one or more actions regarding the first tradeable object, for example, before non-members become aware of the second order.
[0073] The trading circle manager 300 of FIG. 3 includes a circle definition module 302 that communicates with a circle definition database 304 via a communication interface 322. The trading circle manager 300 further includes a communications module 306 configured to provide connectivity to one or more managed and controlled trading circle members. The communications module 306 provides connectivity, for example, in the form of received or detected trade orders and / or updates thereto, to an order status monitor 308. The order status monitor 308 may be configured to identify trade orders and updates or modifications thereto communicated between individual circle members or between circle members and the exchange 130 of FIG. 1. In one example, an exchange analysis module 310 is arranged to communicate with the order status module 308 and other modules and components of the manager 300 and is configured to determine the impact of the identified trade order communications on the exchange. The trading circle manager 300 further includes a circle data manager 312 that correlates individual location data of each circle member operable within one or more managed and controlled trading circles. The trading circle manager 300 includes a price data monitor 314 that comprehensively monitors, augments, and / or estimates trade order data available to the individual circle members that comprise each trading circle. The trading circle manager 300 may further include a theoretical execution module 320 that synchronizes trade order data among the individual circle members that have been identified as potential trading counterparties for a particular tradeable object.
[0074] The trading circle manager 300 of FIG. 3 includes a circle definition module 302. The circle definition module 302 communicates with a circle definition database 304 and establishes a circle upon receiving a request, for example, from a user registered with the trading circle manager 300. During operation, the circle definition module 302 prompts the requesting user for information necessary to define the trading circle. The circle definition module 302 requests information such as a trading circle name, an administrator name, one or more administrative passwords, a circle password or user password, membership restrictions, a selection of predefined terms and / or restrictions, contact information, an invitation list of desired members, and market information. Membership restrictions may include, for example, restrictions by firm, by division within a firm, by asset class traded, by user title or class (e.g., manager, market maker), risk limits, or other user-definable circle criteria. Depending on the requirements established by the user, additional, different, and / or fewer pieces of information may be required and utilized to define the trading circle. The circle definition module 302 uses the provided information to create the requested trading circle definition. Creating a definition may include, for example, generating a unique identifier that is assigned to the trading circle and used to communicate data within the trading circle (e.g., by tagging packets of data with the unique identifier). The circle definition module 302 adds an entry to the circle definition database 304, the entry including the generated unique identifier, information provided by the requesting user, and / or any other suitable information related to the entry.
[0075] If the information provided by the requesting user includes a list of people and / or entities to invite to the trading circle, the circle definition module 302 of FIG. 3 sends an invitation to each of the invitees. To send the invitation, the circle definition module 302 uses contact information, such as an email address or a social network account identifier (e.g., a Facebook account name), provided in association with the list. The circle definition module 302 can include information in the invitation to enable the invitee to access and join the established trading circle. The invitation can include, for example, a web address, a trading circle name, and a password. The invitation sent by the circle definition module 302 can include instructions to visit the web address and enter the trading circle name and password into corresponding input fields on the web page of the web address. If the invitee complies with the instructions in the invitation, the circle definition module 302 receives an indication associated with the invitee and uses the indication to add the corresponding invitee to the established trading circle. Adding an invitee to an established trading circle may include, for example, including an identity associated with the invitee in a corresponding entry in definitions database 304 .
[0076] The trading circle manager 300 can facilitate additional and alternative methods for informing people about trading circles. That is, people can learn about one or more trading circles through communication means other than the initial invitation process described above. In some examples, trading circle members, administrators, and non-administrators alike can invite people to a trading circle after the trading circle is established and / or operational. Alternatively, people can learn about a trading circle without receiving an invitation. For people to opt in or otherwise request admittance to a trading circle, the circle definition module 302 may provide a web link or other mechanism to trigger submission of a request to the trading circle manager 300. The information requested in connection with the submission options provided by the circle definition module 302 can be customized based on the requirements established by the administrator for each trading circle. The circle definition module 302 receives the opt-in request and communicates information about the request, for example, to the founder or administrator of the corresponding trading circle. The circle definition module 302 awaits a response indicating whether the individual or entity requesting trading circle membership has been approved. If approved, the circle definition module 302 adds the requesting individual or entity to the appropriate entry in the definitions database 304. If not approved, the circle definition module 302 notifies the requesting user that membership has been denied (rejected).
[0077] Figures 4A-4C and 5 illustrate example circle configurations and communication architectures that may be implemented by the trading circle manager 300. Figure 4A illustrates an example circle configuration that may be implemented by the trading circle manager 300 in accordance with the disclosure herein. Features, elements, and functionality associated with the circle configuration illustrated in Figure 4A are further described in connection with the trading circle manager 300 illustrated in Figure 3. Figure 4B illustrates an example distributed communication architecture that may be implemented by the trading circle manager 300 in accordance with the disclosure herein. Figure 4C illustrates an example centralized communication architecture that may be implemented by the trading circle manager 300 in accordance with the disclosure herein.
[0078] The circle definition module 302 establishes trading circles, which may include any individual, user, and / or trading application or component with one or more predefined characteristics associated with each circle. FIG. 4A illustrates exemplary trading circles that may be established and managed by the trading circle manager 300. FIG. 4A includes a first trading organization 400 and a second trading organization 402. The first trading organization 400 employs and / or otherwise represents individual traders and their associated trading devices 400a-400m, and the second trading organization 402 employs and / or otherwise represents individual traders and their associated trading devices 402a-402n. The individual trading devices 400a-400m, 402a-402n are configured to interact with, for example, the exchange 130 of FIG. 1. Trading devices 400a-400m, 402a-402n, and the remaining trading devices shown in Figures 4A-4C may be implemented as described in connection with trading device 110 of Figure 1. Trading devices 404, 406, 408 represent individual traders and / or groups of traders unrelated to trading organizations 400, 402. In some embodiments, the trading devices shown in Figures 4A-4C may represent different trading programs operating on the same or different trading devices. In some embodiments, the trading devices shown in Figures 4A-4C represent instances of AUTOSPREADER® and / or AUTOTRADER™ operating on the same or different trading devices.
[0079] The example configuration shown in FIG. 4A includes a social network 410, such as FACEBOOK® or LINKEDIN®, that includes multiple users and contributors of the same social network service. A social network may be a private network established for a distinct group, such as a business or community organization. Individual users of the social network 410 may use the social network's services to self-organize into small groups and communities based on shared college attendance, a common geographic area, or shared or common interests. Members of a community may send or post messages accessible to other members of the same community. In the example of FIG. 4A, users of the social network 410 include individuals or groups of individuals represented by trading devices 412-418, 420-426.
[0080] FIG. 4A further illustrates an example of trading circles that can be established among the individual trading devices, trading organizations, and social networks described above. A first trading circle 450 includes individuals and trading devices comprising the first trading organization 400. A second trading circle 452 includes individuals and trading devices comprising the second trading organization 402. A third trading circle 454 includes trading devices 412-418 representing a subset of the members of the social network 410. A fourth trading circle 456 includes the second trading organization 402 (and the second trading circle 452) and the individual trading devices 404 and 406. A fifth trading circle 458 is defined as including the individual trading device 408 and the trading device 406 of the fourth trading circle 456. The trading device 406 illustrates that an individual and its associated trading device may simultaneously belong to multiple trading circles (e.g., belong to both the fourth trading circle 456 and the fifth trading circle 458). Additional or alternative trading circles may be created and managed by the trading circle manager 300 of Figure 3. For purposes of discussion, the first trading circle 450 and its trading devices 400a-400m will be used in the following description. However, the following description and examples disclosed herein may also be applied to and / or utilized with the trading circles of Figures 4A-4C and / or other groups of users.
[0081] Returning to the illustrative trading circle manager 300 shown in FIG. 3 , the communications module 306 facilitates communication of trade data between trading circle members, such as the trading circle 450 shown in FIG. 4A . In one embodiment, the trading circle 450 includes members or users of TTNET™, provided by Trading Technologies International, Inc. The communications module 306 may be configured to organize, prioritize, and communicate any type of trade data that individual circle members agree to share with fellow circle members. In some examples, each circle member has access to and / or receives the same information of other circle members. In one embodiment, the communications module 306 communicates circle data regarding fellow circle members via a feed or other multicast communication configured to transmit data to each subscriber of the feed. In another embodiment, the communications module 306 may be configured to broadcast individual messages and / or communication packets directly to individual circle members. In yet another embodiment, the communications module 306 communicates trade data in response to information queries received from one or more circle members. The communications module 306 also generates feeds based in part on the feed information of circle definitions stored in the definitions database 304. Additionally, the circle definition module 302 subscribes circle members to the feed executed by the communication module 306. For example, a trading device 400a associated with a first member of the trading circle 450 is configured to receive data via the feed executed and provided by the communication module 306. The communication module 306 may utilize additional or alternative communication technologies for transmitting transaction data to the trading devices 400a-400m comprising the trading circle 450.
[0082] In the depicted example, the order status monitor 308 of FIG. 3 detects orders and / or order modifications communicated by one or more of the trading devices 400 a-400 m to the exchange 130. In operation, the order status monitor 308 detects one or more messages transmitted to or from the trading devices 400 a-400 m to the exchange 130 via the gateway 120 and the Internet or other wide area network 470. The order status monitor 308 determines the type of the detected message (e.g., whether the detected message is an order, a request to change an order, or any other type transmitted to the exchange). The trading circle manager 300 may include additional or alternative analysis modules for identifying additional or alternative interactions by circle members with the exchange.
[0083] In some examples, the order status monitor 308 immediately causes the communications module 306 to transmit data regarding the detected message to the exchange analysis module 310 and / or trading devices 400a-400m, including the trading circle 450. In the illustrated example, the exchange analysis module 310 determines the impact, if any, of the detected order and / or order change on, for example, the order book of the corresponding exchange. The detected message may correspond, for example, to a hedge order for the lean leg of a spread trade being submitted to the exchange by a trading device 400a of the trading circle 450 in response to the quote leg being filled. In such a case, the analysis module 310 determines that the hedge order will result in some reduction in the quantity available at the corresponding price level (depending on the quantity of the hedge order and the current available quantity of the tradable object at the price level of the hedge order). Other members of the trading circle 450 may be leaning on tradable objects at the same or similar prices. If Lean-On, knowledge of the detected hedge order and the resulting decrease in the quantity of the tradable object is valuable information to fellow Circle Members who are Lean-On to that tradable object. By receiving data about the detected hedge order before non-Circle Members receive it, the Circle Member can react to the decrease in quantity before non-Circle Members.
[0084] As another example, if a detected message is a buy order for quantity 100 at price 90, and the exchange indicates that the available quantity of the tradeable object at price 90 is 75 (less than the ordered quantity), the exchange analysis module 310 will determine that the tradeable object is not available at price 90, or at least not likely to be available at price 90 for a predetermined period of time (e.g., a buy quantity of the tradeable object may be added at price 90 after the initial buy order is detected). Again, knowledge of expected changes at the exchange is valuable information to fellow Circle members, and trading circle manager 300 provides that knowledge to Circle members before it is available to non-Circle members.
[0085] As another example, if a detected message is a buy order for a quantity of 100 and a price of 90, and the exchange indicates that the available quantity of the tradeable object at price 90 is 500 (more than the ordered quantity), the exchange analysis module 310 will determine that the quantity of the tradeable object at price 90 will soon decrease by 100, or that there is at least a high probability that the quantity will decrease by 100 (e.g., the quantity of the tradeable object may increase or decrease after the initial buy order is detected). Again, knowledge of expected changes at the exchange is valuable information to fellow Circle members, and trading circle manager 300 provides that knowledge to Circle members before it is available to non-Circle members.
[0086] The trading devices 400a-400m and other trading devices in the depicted example can generate and communicate a wide variety of orders, trading strategies, configurations, and the like. Different types of messages detected by the order status monitor 308 and analyzed by the exchange analysis module 310 can affect the corresponding different types of orders and / or trading strategies in different ways. The analysis module 310 of FIG. 3 is configured to determine these effects and prepare them for communication with the trading devices 400a-400m of the trading circle 450. Members of the trading circle 450 can utilize the information provided by the order status monitor 308 and / or the exchange analysis module 310 in any suitable manner (e.g., by configuring individual trading devices 400a-400m to automatically adjust or reconfigure their trading strategies in response to suggested changes in price and / or quantity).
[0087] The trading circle manager 300 includes a circle data manager 312. The circle data manager 312 maintains comprehensive access to the location data (e.g., executing orders) of the individual circle members comprising the trading circle 450. The circle data manager 312 uses this data to comprehensively monitor and track data feeds containing specific market aspects (e.g., tradable objects, one or more market events, and predefined, identifiable metrics included in the circle definition) in which the individual circle members comprising the trading circle 450 have an interest and subscribe. In other words, the circle data manager 312 of FIG. 3 tracks which individual circle members will be affected by different types of changes associated with one or more exchanges. The circle data manager 312 works in conjunction with the analytics module 310 to filter or otherwise restrict communication of trade data to relevant or interested members in the trading circle 450. Among other things, the circle data manager 312 receives information from the exchange analytics module 310 regarding which aspects of the exchange are affected by detected orders / modifications associated with the circle members. For example, the order status monitor 308 detects a message sent by a trading device 400a operable within a trading circle 450 to the exchange 130 (see FIG. 1 ) that includes a tradable object "X." Further, the exchange analysis module 310 determines that the detected message will result in or is likely to result in a decrease in quantity of the tradable object "X" at one or more price levels. Furthermore, the circle data manager 312 recognizes that a second trading device 400b has at least one order executing on the exchange 130 that includes quantity X, while a third trading device 400c does not have any subscriptions, orders, or trading strategies that include the tradable object "X."In such an example, the circle data manager 312 instructs the communications module 306 to transmit information related to the detected message (e.g., data related to the trading device 400a that is provided to the trading device 400b) and / or the analysis performed by the exchange analysis module 310 to the second trading device 400b, and filters and foregoes communication of the information to the third trading device 400c (not shown).
[0088] Selective communications made by the circle data manager 312 can be partially or fully disabled to members of the trading circle 450. Instead of filtering the information transmitted by the communications module 306, the circle data manager 312 can be disabled, and the analytics module 310 and / or order status monitor 308 can instruct the communications module 306 to transmit data to all circle members in the same way.
[0089] The trading circle manager 300 of FIG. 3 includes a price data monitor 314 for increasing and / or estimating the amount of price information available to members of the trading circle 450. As mentioned above, many exchanges limit the number of price levels for which they distribute quantity data. FIG. 5 depicts a screenshot of a trading window 500 reflecting price level and market depth information associated with tradeable objects available on the exchange 130 of FIG. 1. Different price levels are shown in price column 502 and include increments or ticks of 25 (e.g., $0.25). A bid quantity column 504 is aligned adjacent to a first edge of the price column 502, and an ask quantity column 506 is aligned adjacent to a second edge of the price column 502. As shown in FIG. 5, the exchange 130 indicates that the bid quantity at price level 525 is 54, the bid quantity at price level 500 is 97, and so on. Exchange 130 further indicates that the ask quantity at price level 550 is 61 and the ask quantity at price level 575 is 47. However, the exchange does not publish data at prices above price level 425 in bid column 504, nor does it publish data at prices above price level 675 in ask column 506. As a result, exchange 130 provides a limited view of the market.
[0090] To provide a more complete view of the market, price data monitor 314 collects information from trading devices 400a-400m in trading circle 450 and uses that information to provide circle members with information related to price levels for which exchange 130 does not distribute information. Referring to the example of FIG. 5 , price data monitor 314 provides members of trading circle 450 with information regarding bid-side price levels at price levels 400, 375, 350, and below. Additionally, price data monitor 314 provides members of trading circle 450 with information regarding ask-side price levels at price levels 700, 725, 750, and above. In the example of FIG. 5 , price data monitor 314 displays the additional information provided in first and second expansion columns 508, 510. However, price data monitor 314 may communicate the additional information provided about price levels via additional or alternative techniques.
[0091] To gather information, the price data monitor 314 may, for example, access the executing orders of the trading devices 400a-400m that have price levels outside the range of price levels distributed by the exchange 130. The price data monitor 314 may determine the range of price levels for which the exchange is currently distributing information and then query the trading devices 400a-400m to determine whether any of the trading devices 400a-400m have executing orders outside the determined range. Alternatively, the price data monitor 314 may collect data on all executing orders of the trading devices 400a-400m and determine which orders are outside the range of price levels for which the exchange is currently distributing information.
[0092] To utilize the collected information, the price data monitor 314 of FIG. 3 includes an aggregator 316 and an extrapolator 318. In the example of FIG. 3, the aggregator 316 and the extrapolator 318 perform separate but related functions. The aggregator 316 combines data collected from trading devices 400a-400m for price levels for which the exchange 130 does not publish information to form quantities for those price levels. For example, if a first trading device 400a of a trading circle 450 has an active order with a bid quantity of 20 at price level 400 that includes the tradeable object shown in FIG. 5, and a second trading device 400b has an active order with a bid quantity of 14 at price level 400 that includes the tradeable object shown in FIG. 5, the aggregator 316 combines these quantities to indicate that there is a quantity of at least 34 at price level 400. This information is reflected in the first expansion column 508 of FIG. 5. If an additional one of the trading devices 400a-400m in the trading circle 450 has an active order at price level 400, the aggregator 316 adds the corresponding quantity to the total shown in FIG.
[0093] If the additional price level data provided by the aggregator 316 is accurate, the aggregator 316 is limited by the proportion of active orders attributable to trading circle 450 on exchange 130. In some instances, the active orders in trading circle 450 correspond to a very small portion of the total active orders on exchange 130. Thus, the value of 34 described above corresponds to a small fraction of the actual quantity available at price level 400. Nevertheless, the aggregator 316 provides circle members with valuable additional price level information that is unavailable to non-circle members.
[0094] To provide a broader view of the market than the aggregator 316, the extrapolator 318 of FIG. 3 generates estimates of available quantity at different price levels for which the exchange 130 does not publish information. The extrapolator 318 uses known price information associated with the trading circle 450 and the exchange 130 to generate estimates of unknown price information associated with the exchange 130. To do this, the extrapolator 318 determines the portion of the overall market for the tradable object resulting from the trading circle 450 that is within a range of price levels for which the exchange 130 publishes price information. In some embodiments, the extrapolator 318 can operate using various techniques, such as historical estimation, linear estimation, polynomial estimation, percentage estimation, and any other known or developed techniques.
[0095] For example, referring to FIG. 5 , the extrapolator 318 determines that there are a total of 118 active orders for trading devices 400a-400m in the trading circle 450 at price levels for which the exchange 130 is distributing. At the same time, the extrapolator 318 determines that the total quantity for which the exchange 130 is distributing is 590 (which is the sum of the bid-ask quantity columns 504, 506). Therefore, the extrapolator 318 determines that the active orders for trading devices 400a-400m at price levels for which the exchange 130 is distributing represent 20% of the market. The extrapolator 318 uses the calculated percentage to generate one or more extrapolations or estimations for price levels outside the range for which the exchange 130 is distributing price information. Specifically, the extrapolator 318 determines the total quantity of active orders for trading devices 400a-400m at price levels for which the exchange 130 is not distributing. The extrapolator 318 applies the calculated percentage of the total quantity to generate an estimated quantity on the exchange 130 at each price level outside the range of distributed price levels. Continuing with the example above, if the extrapolator 318 determines that the quantity at price level 375 across trading devices 400a-400m as a whole is 15, the extrapolator 318 would multiply 15 by 5 (using the 20% mentioned above) to arrive at an estimated quantity of 75 at price level 375 across the market. The extrapolator 318 would perform similar calculations for any suitable number of price levels outside the range of price levels for which the exchange 130 is distributing price information. The price data monitor 314 facilitates communication of such estimates via one or more columns added to window 500 of FIG. 5 and / or any other suitable user interface.
[0096] 3 uses data associated with members of trading circle 450 to develop price information for price levels for which exchange 130 does not distribute price information. Whether aggregator 316 or extrapolator 318 provides additional price information, members of trading circle 450 are privy to the information, while non-members are not. Thus, price data monitor 314 provides members of trading circle 450 with a distinct advantage over non-circle members in interacting with exchange 130.
[0097] The trading circle manager 300 of FIG. 3 includes a theoretical execution module 320. The theoretical execution module 320 notifies a first member of a trading circle 450 that one or more orders associated with the first member are likely to be executed based on trading data associated with one or more fellow members of the trading circle 450. The theoretical execution module 320 tracks active orders by circle members and details of those orders. For example, the theoretical execution module 320 tracks the identity of the tradable object associated with the active order, its bid / price, and its quantity. That is, for a particular active order that it tracks, the theoretical execution module 320 tracks and stores (or otherwise accesses) information indicating what market conditions are necessary for the order to be executed.
[0098] Additionally, the theoretical execution module 320 receives an indication from the order status monitor 308 that one or more orders have been submitted by someone in the trading circle 450. Alternatively, the theoretical execution module 320 can detect one or more orders being submitted by a fellow circle member. The theoretical execution module 320 determines whether the orders submitted by the fellow circle members create the necessary market conditions for the execution of the executing orders it is tracking. In other words, the theoretical execution module 320 determines that an action, such as submitting an order, by one member of the trading circle 450 will result in or is likely to result in an executing order by another member of the trading circle 450 being executed or at least partially executed. The theoretical execution module 320 makes these determinations based on information shared among the circle members, either simultaneously with or before the information is sent to the exchange 130. This allows the theoretical execution module 320 to notify the circle members that their orders will be executed or are likely to be executed before the execution is notified by the exchange 130.
[0099] For example, a first member of trading circle 450 may have an order executing on exchange 130 to buy 100 units of a tradable object with symbol GEH1 at $9968.00. While the first circle member's order is executing, a second member of trading circle 450 may submit an order to sell "n" units of symbol GEH1 at $9968.00, where n<100. In the illustrated example, theoretical execution detection unit 320 detects the order submitted by the second circle member and determines that the order is likely to be executed based on the first circle member's position. In particular, because there is more than "N" quantity at the $9968.00 price level, the second circle member's order is likely to be executed. In response to this detection, the theoretical fill module 320 causes the communications module 306 to send an indication of the theoretical fill to the second circle member along with details of the calculations performed by the theoretical fill module 320 (e.g., that quantity "n" is likely to be filled). Additionally, the communications module 306 may include a flag or other type of indicator that identifies the theoretical fill as a likely fill, as opposed to a certainty that the order will be filled. In connection with the operation of the theoretical fill module 320, additional or alternative information (e.g., details regarding the executing order by the first circle member or the identity of the first circle member) may be communicated to the second circle member.
[0100] The theoretical execution module 320 further tracks and analyzes the priority and / or queue position of the circle members at the exchange 130 shown in FIG. 1 . The exchange 130 may employ different types of priority / queue policies, such as a FIFO (first-in, first-out) priority policy. The theoretical execution module 320 may use the queue position information to calculate the likelihood that a circle member's executing order will be filled based on the activity of fellow circle members. Continuing with the example scenario above, if the theoretical execution module 320 determines that a first member of the trading circle 450 has a high priority or favorable queue position at the exchange 130, the theoretical execution module 320 may notify the first member of the trading circle that a quantity n of the executing order is about to be filled by an order submitted by a second member of the trading circle 450. If the quantity of the order of the second member of the trading circle 450 is greater than n, the theoretical execution module 320 may notify the first member of the trading circle 450 that the entire quantity 100 of the executing order is about to be filled. Additionally, if the first member of the trading circle 450 has a low priority or unfavorable queue position, the theoretical execution module 320 reduces the expectation that the first circle member's executing order will be executed. The message sent to the first member of the trading circle 450 via the communications module 306 may include likelihood data (e.g., a percentage) calculated by the theoretical execution module 320. In determining the likelihood (e.g., a percentage) that the first member of the trading circle 450's executing order will be executed (e.g., due to an order submission by a second member of the trading circle 450 and / or other information from the exchange 130 or a fellow member of the trading circle 450), the theoretical execution module 320's calculation may additionally or alternatively consider quantities that are ahead of the first member of the trading circle 450 in terms of priority on the exchange. In this way, the theoretical execution module 320 provides an indication and / or likelihood that the position will be executed on the exchange 130 based on the activity of fellow members of the trading circle 450.The theoretical execution module 320 benefits circle members collectively by providing indications and / or probabilities before the exchange processes the information.
[0101] FIG. 4B illustrates a distributed communication configuration, such as a point-to-point or mesh configuration, that may be implemented and managed by a trading circle manager 300. In particular, an instance and / or version of the trading circle manager 300 may be operational on each of the trading devices 400a-400m, 402a-402n, 404, 406, 408, 412-418 shown in FIG. 4B and configured to share trading circle data with other circle members. Each instance of the trading circle manager 300 enables the associated trading device to communicate trading orders to the exchange 130 directly or through a gateway. The trading circle manager 300 may be a distributed instance of the trading circle manager 300.
[0102] In the example shown in FIG. 4B , trading devices 400 a - 400 m of trading organization 400 comprise trading circle 450, each having an instance of trading circle manager 300. In operation, trading device 400 a may be configured to communicate trading orders to network 440 (arrow 460). In this example, network 440 may be a public network, such as the Internet, and / or a private network, such as a corporate wide area network. The communicated trading order 460 is routed and distributed to exchange 130 via network 440. Communication of trading order 460 to exchange 130 causes trading circle manager 300 to initiate providing updates to one or more circle members. For example, if trading order 460 is an order to buy 10 units of a tradeable object at price level 450 as shown in FIG. 5 , order status monitor 308 of trading circle manager 300 detects and obtains information related to the order. The order status monitor 308, in cooperation with the communications module 306 and the exchange analytics module 310, determines the impact of the trade order 460 on the order book for tradable objects maintained at the exchange 130. The circle data generated by the exchange analytics module 310, including the expected and predicted effects of the trade order 460, can be communicated by the trading circle manager 300 and the communications module 306 to the remaining trading devices 400b, 400m, as indicated by reference arrows 462a, 462b. In this manner, individual members of the trading circle 450 can react to the information contained in the trade order 460 (based on the effect or estimated effect contained in one or more of the received updates 462a, 462b) before a response 461 is generated by the exchange 130 and delivered to the originating trading device 400a.
[0103] Members of the circle 450 may share and communicate latency information based, for example, on the calculated round-trip time associated with sending a trade order 460 and receiving a response 461 from an exchange 130. In particular, a timestamp may be tracked and stored for each communication sent and received by each member of the trading circle 450. The stored timestamp values may be used to calculate a time representing the message latency experienced by a user when interacting with the exchange 130. Because this information changes over time due to trading activity (e.g., network resource availability), the cumulative latency information may be used to build an individual latency profile for each exchange 130. Traders, trading algorithms, or other information consumers may use the individual latency information and latency profiles to direct market communications to exchanges and / or markets with the lowest latency.
[0104] Members of the circle 450 may share and communicate market condition information based, for example, on fills, rejections, and / or limits created or experienced, in response to trading orders 460 being communicated to the exchange 130. For example, if one or more circle members receive rejections within a predetermined period of time, this indicates the presence of a throttle limit at the target exchange 130. By measuring and tracking rejections from a given exchange 130 as a function of time, the trading circle manager 300 may estimate the throttle limit. Similarly, by measuring and tracking rejections from a given exchange 130 as a function of price level, the trading circle manager 300 may estimate the requirements of the active price range in effect at the exchange. The aggregated market condition information may be used by traders, trading algorithms, or other information consumers to direct market communications to preferred exchanges and / or markets.
[0105] In one or more exemplary embodiments, the circle data manager 312 of the trading circle manager 300 determines that one or more trading devices 400b-400m do not have an open position related to the tradeable object of the trading order 460. In this example, trading devices that do not have an open position with respect to the tradeable object may be identified by the circle data manager 312 as not needing the results of the determinations and / or predictions. In this manner, trading devices that do not have an open position with respect to the tradeable object may be spared from receiving unnecessary communications and updates from the trading circle manager 300. Alternatively, trading devices that do not have an open position with respect to the tradeable object may choose to subscribe to a data feed containing circle data in order to monitor (and possibly react to) activity in the market.
[0106] 4B further illustrates that the individual trading devices 404 of the trading circle 456 are configured to communicate trade orders 463 to the network 440 and the exchange 130 via the gateway 120. In this example, the trade orders 463 generated by the trading devices 404 are associated with one or more tradeable objects identified in the circle definition module 302 and the circle definition database 304 and are utilized to establish the trading circle 456. The communication of the trade orders 463 to the gateway 120 and the exchange 130 initiates the simultaneous communication of circle data to the remaining circle members. The trading devices 404, among other things, communicate circle data updates 464a to the trading organization 402 and circle data updates 464b to the individual trading devices 406. Thus, the trading organization 402, including trading devices 402a-402n, and the individual trading devices 406, can react to the information contained in the updates 464a, 464b before the order acknowledgment / execution 465 is available for the trading devices 404 or any other non-circle members to react to. In this manner, members of the trading circle 456 have a time and / or speed advantage over non-circle members, such as members of the social network 410 and the individual trading devices 408.
[0107] 4C illustrates a centralized communication configuration that may be implemented and managed by the trading circle manager 300. In particular, each of the trading devices 400a-400m, 402a-402n, 404, 406, 408, 412-418 shown in FIG. 4C communicates and provides updates to the standalone version of the trading circle manager 300. In this configuration, trading circle data may be collected and / or compiled by the standalone trading circle manager 300 regarding one or more trading circles or their associated circle members. The standalone trading circle manager 300 may further be configured to aggregate and distribute latency and / or execution information associated with individual circle members.
[0108] In the example shown in FIG. 4C , trading devices 402a-402n, individual trading devices 404, 406, and the remaining trading devices 400a-400m, 408, 412-416 of trading organization 402 are configured to communicate with a centralized, standalone trading circle manager 300. In operation, trading device 402a may be configured to communicate a trade order to the centralized trading circle manager 300 (reference arrow 480). In this example, the standalone, centralized trading circle manager 300 is communicatively coupled to the exchange 130 via network 440. Upon receiving the trade order 480, the trading circle manager 300 may analyze the details contained in the order and communicate updates containing circle data to the remaining members of the trading circle 456, as described above. In this manner, communication of the trade order 480 to the centralized trading circle manager 300 initiates communication of trade data updates 482a-482c and associated circle data to trading devices 402n, 404, 406, respectively. The circle data contained in the trade data updates 482a-482c allows the trading devices 402n, 404, 406 in the trading circle 456 to react to the information without waiting for a confirmation or update from the exchange 130. Conversely, the original trade order 480 continues to travel through the exchange 130 and network 440.
[0109] As shown in FIG. 4C , in response to receiving the trading order 480, the exchange 130 generates a response, execution, or other communication 484. The communication 484 generated by the exchange 130 is provided to the gateway 120 for transmission to one or more trading devices subscribed to the feed. The communication 484 is provided to the trading organization 400 via subscription feed 484b and to one or more trading devices, such as the social network 410, via subscription feed 484c, among others. Similarly, an acknowledgment and / or execution included in the communication 484 may be provided to the trading device 402a via subscription feed 484a. In this manner, members of the trading circle 456 can cooperate with the centralized trading circle manager 300 to share and react to information included in the trading order 480 before the communication 484 is generated and received by non-circle members.
[0110] FIG. 6 is a block diagram illustrating an example of a method for implementing the circle definition module 302 of FIG. 3. As described above, the circle definition module 302 receives requests from users to start a trading circle, as well as requests to join an existing trading circle. In the example of FIG. 6, the circle definition module 302 receives a request to join an existing trading circle from a first user of the trading circle manager 300 (block 600). In response to the request, the circle definition module 302 sends a message to a person or device associated with the corresponding trading circle, such as a trading circle administrator. The message includes user-related information, such as the requesting user's identity and / or credentials. Upon receiving approval for the requesting user from the administrator, the circle definition module 302 approves the requesting user's inclusion in the trading circle (block 604). In the illustrated example, inclusion of the user in the trading circle includes adding an identifier corresponding to the requesting user to the trading circle definition. The circle definition module 302 stores the updated circle definition in a corresponding entry in the circle definition database 304 (block 606). Returning to the approval process (block 602), if the circle definition module 302 does not receive approval for the requesting user from the administrator or does not receive a response (e.g., within a certain time period), the circle definition module 302 communicates a denial to the requesting user (block 608), after which the example of FIG. 6 ends (block 610).
[0111] FIG. 7 is another block diagram illustrating an exemplary method for implementing the trading circle manager 300 of FIG. 3. The example of FIG. 7 begins with the order status monitor 308 detecting a modification to an order by one of multiple circle members in a trading circle defined in the database 304 (block 700). The order status monitor 308, for example, detects an order sent to the exchange 130 from a trading device 400a associated with a first member of the trading circle 450 (see FIG. 4A). The exchange analysis module 310 determines the effect of the detected order / modification by analyzing information related to the detected order / modification and the current state of the exchange 130 (block 702). The exchange analysis module 310, for example, determines whether and how the detected order / modification will affect the order book of the exchange 130.
[0112] If the circle data manager 308 is active (block 704), the circle data manager 308 identifies which circle members have an interest in data regarding the detected order / amendment or its effect on the exchange 130 (block 706). For example, if the detected order / amendment includes first and second tradable objects (e.g., if the first and second tradable objects respectively constitute the bid leg and the lean leg of a spread transaction), the circle data manager 308 identifies circle members with active orders that include one (or both) of the first and second tradable objects as circle members interested in receiving the relevant information. In this way, when active, the circle data manager 308 can prevent members of the trading circle from being inundated with information that is not necessarily relevant to them. In such cases, the communication module 306 communicates the information to circle members identified as having an interest in the information. The information may include, for example, the detected order / modification, data associated therewith (e.g., the identity of the corresponding Circle Member), and its impact on the exchange 130 and / or any other market entity (block 708). Additionally, the information communicated by the communications module 306 may include theoretical fills identified by the theoretical fill detector 320.
[0113] In the illustrated example, if the circle data manager 308 is not active (block 704), the communication module 306 communicates the information to each of the circle members (block 710), after which the example of Figure 7 ends (block 712).
[0114] FIG. 8 is another block diagram illustrating an exemplary method for implementing the price data monitor 314 of FIG. 3. The example of FIG. 8 begins with the price data monitor 314 being triggered, for example, in response to a scheduled event or other type of instruction (block 800). The price data monitor 314 collects price information from the exchange 130 (block 802). As previously discussed, the exchange 130 provides price information only for a limited number of price levels. The price data monitor 314 also collects price information related to active orders by members of the trading circle 450 (block 804). In the illustrated example, the collecting step includes querying the trading devices 400a-400m of the trading circle 450 to identify active orders by members of the trading circle 450 that are outside the range of price levels distributed by the exchange 130. The collector 316 of the price data monitor 314 combines the data collected from the trading devices 400a-400m with the information collected from the exchange 130 (block 806). The combined information forms an aggregated view of market depth for members of trading circle 450. In the illustrated example, the aggregated view of the market provided by aggregator 316 is presented to members of the trading circle via, for example, window 500 of FIG.
[0115] As described above, the price data monitor 314 includes an extrapolator 318 for providing a more complete (albeit perhaps less accurate) view of the market than the collector 316. In the example of FIG. 8 , the extrapolator 318 determines price information associated with circle members within the range of price levels for which the exchange 130 distributes quantity data (block 808). The extrapolator 318 also determines price information associated with members of a trading circle 450 outside the range of price levels for which the exchange 130 distributes quantity data (block 810). The extrapolator 318 uses price information associated with members of the trading circle 450 within the range of distributed price levels to calculate the portion of the market corresponding to the trading circle 450 (block 812). The extrapolator 318, for example, determines the total proportion of volume on the exchange 130 that is attributable to the trading circle 450. The extrapolator 318 uses the calculated proportion or percentage to extrapolate the price information collected from the trading circle 450 to price levels outside the distribution range (block 814). That is, the extrapolator 318 applies the proportion of volume by the trading circle 450 in the market for price levels within the distribution range to the price information collected from the trading circle 450 for price levels outside the distribution range. As a result, the extrapolator 318 generates an expanded market view for the members of the trading circle 450. The data generated by the collector 316 and / or the extrapolator 318 is communicated to the circle members (block 816). The example of FIG. 8 then ends (block 818).
[0116] Some of the drawings depict example block diagrams, systems, and / or flow diagrams that can be used to implement all or a portion of an embodiment. One or more components, elements, blocks, and / or functions in the example block diagrams, systems, and / or flow diagrams may be implemented, for example, in hardware, firmware, discrete logic (as a set of computer-readable instructions stored on a tangible computer-readable medium), and / or any combination thereof, alone or in combination.
[0117] The example block diagrams, systems and / or flow diagrams may be implemented using, for example, application specific integrated circuits (ASICs), programmable logic devices (PLDs), field programmable logic devices (FPLDs), discrete logic, any combination of hardware and / or firmware. Also, some or all of the example methods may be performed, for example, manually or in combination with the techniques described above.
[0118] The exemplary block diagrams, systems, and / or flow diagrams may be implemented, for example, using one or more processors, controllers, and / or other processing devices. For example, they may be implemented using coded instructions, such as computer-readable instructions, stored on a tangible computer-readable medium. The tangible computer-readable medium may include various types of volatile and non-volatile storage media, such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), electrically programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), flash memory, hard disk drives, optical media, magnetic tape, file servers, any other tangible data storage device, or any combination thereof. The tangible computer-readable medium is non-volatile.
[0119] Furthermore, although example block diagrams, systems, and / or flow diagrams have been described with reference to the figures, other implementations are possible. For example, the order of execution of the components, elements, blocks, and / or functions can be changed, and / or some of the described components, elements, blocks, and / or functions can be changed, eliminated, subdivided, or combined. Furthermore, any or all of the components, elements, blocks, and / or functions may be implemented serially and / or in parallel, e.g., by separate processing threads, processors, devices, discrete logic, and / or circuits.
[0120] While multiple embodiments have been disclosed, various modifications may be made and equivalents may be substituted. In addition, many modifications may be made to adapt a particular situation or material. Thus, it is not intended that the disclosed technology be limited to the specific embodiments disclosed, but rather that the disclosure will include all embodiments falling within the scope of the appended claims.
Claims
1. 1. A computer-implemented method comprising: defining, in a computing device, a group including a plurality of members, wherein one or more of the plurality of members interacts with an exchange for facilitating market transactions; detecting, by a computing device, a first interaction with the exchange by a first group member; In response to detecting the first contact, communicating data regarding the first contact from the computing device to another computing device associated with a second group member before the computing device associated with the first group member receives a confirmation communication regarding the first contact from the exchange; A method comprising:
2. calculating, at the computing device, an impact on the exchange of the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; The method of claim 1 further comprising:
3. communicating the calculated impact data to another computing device associated with the second group member; The method of claim 2 further comprising:
4. 4. The method of claim 3, wherein communicating data regarding the calculated impact to another computing device associated with the second group member comprises transmitting the data to the second group member without waiting for processing of the first interaction by the exchange.
5. determining, at the computing device, which members of the plurality of members in the group have an interest in the first interaction; filtering, at the computing device, communication of data relating to the first interaction to exclude group members not interested in the first interaction; The method of claim 1 further comprising:
6. determining, at the computing device, whether a first executing order of a third group member is executed by the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; communicating data regarding the determination to a third group member; The method of claim 1 further comprising:
7. determining, at the computing device, a likelihood that the first executing order of the third group member will be executed by the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; communicating the possibility to a third group member; The method of claim 1 further comprising:
8. A tangible computer-readable medium having instructions that, when executed by a computing device, at least: defining a group including a plurality of members, wherein one or more of the plurality of members interacts with an exchange for facilitating market transactions; detecting a first interaction with the exchange by a first group member; In response to detecting the first contact, communicating data regarding the first contact to a second group member before the first group member receives a confirmation communication regarding the first contact from the exchange; A method for causing a computing device to execute the
9. The command is, calculating an impact on the exchange of the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; The computer-readable medium of claim 8 , further comprising:
10. The command is, communicating data regarding the calculated impact to a second group member; The computer-readable medium of claim 9 , further comprising:
11. 11. The computer-readable medium of claim 10, wherein communicating data regarding the calculated impact to the second group member comprises transmitting the data to the second group member without waiting for processing of the first exchange by the exchange.
12. The command is, determining which members of the group have an interest in the first communication; filtering the communication of data relating to the first interaction to exclude members of the group who are not interested in the first interaction; The computer-readable medium of claim 8 , further comprising:
13. The command is, determining whether a first executing order of a third group member is executed by the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; communicating data regarding the determination to a third group member; The computer-readable medium of claim 8 , further comprising:
14. The command is, determining a likelihood that a first executing order of a third group member will be executed by the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; communicating the possibility to a third group member; The computer-readable medium of claim 8 , further comprising:
15. a definition unit defining a group including a plurality of members, wherein one or more of the plurality of members communicate with an exchange for facilitating market transactions; a detector for detecting a first communication with the exchange by a first group member; a communication unit that, in response to detection of the first contact by the detection unit, communicates data regarding the first contact to a second group member before the first group member receives a confirmation communication regarding the first contact from the exchange; An apparatus comprising:
16. an analysis module that calculates an impact of the first interaction on the exchange before the first group member receives a confirmation communication from the exchange regarding the first interaction; 16. The apparatus of claim 15, further comprising:
17. The apparatus of claim 16 , wherein the communication unit communicates data regarding the calculated impact to a second group member.
18. 20. The apparatus of claim 17, wherein the communication unit's communicating the data regarding the calculated impact to the second group member includes transmitting the data to the second group member without waiting for processing of the first communication by the exchange.
19. The filter unit further includes: determining which members of the group have an interest in the first communication; filtering the communication of data relating to the first interaction to exclude members of the group who are not interested in the first interaction; 16. The apparatus of claim 15, wherein the apparatus executes:
20. further comprising an execution detection unit that determines whether a first executing order of a third group member is executed by the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; The apparatus of claim 15 , wherein data regarding the decision is communicated to a third group member.
21. further comprising an execution detection unit that determines a likelihood that the first executing order of the third group member will be executed by the first interaction before the first group member receives a confirmation communication from the exchange regarding the first interaction; The apparatus of claim 15 , wherein the likelihood is communicated to a third group member.