Certain embodiments provide systems, methods, and apparatus for trading in a distributed server architecture. An example method includes receiving, by a computing device, a definition for a trading strategy, wherein the trading strategy includes a first tradeable object and a second tradeable object. The example method includes selecting, by the computing device, a first server to process one or more trade orders for the first tradeable object and a second server to process one or more trade orders for the second tradeable object. The example method includes sending, by the computing device, the definition for the trading strategy to the first server and the second server.
Various systems and methods are provided for prioritized sending of transaction messages to an electronic exchange. According to one embodiment, a system determines a priority level for each transaction message based on a potential monetary reward or risk associated with sending or delaying the message. Once the priority levels are determined, the messages may be sent based on the priority levels. Additionally, each priority level may be associated with a predetermined threshold level. If a message threshold is reached, a new message corresponding to that priority level is queued until the message may be transmitted without exceeding the threshold limit.
Systems and methods for implementing a confirmation period are disclosed. An example method includes identifying a market condition associated with a quantity of a tradeable object of a trading strategy, wherein the market condition triggers an adjustment to the trading strategy; initiating a confirmation period in response to the market condition; when a reevaluation of the market condition during the confirmation period indicates that the market condition has ceased, preventing the adjustment to the trading strategy; and when the market condition persists throughout the confirmation period, proceeding with the adjustment to the trading strategy.
Example methods, apparatus, and computer readable storage media are described and disclosed. An example method includes depicting a strategy node in a graphical user interface presented by a computing device. The strategy node represents a trading strategy associated with two or more tradeable objects. The example method includes generating a graphical connector between the strategy node and one of a plurality of contract nodes including at least a first contract node and a second contract node. Each contract node represents a contract associated with one of the tradeable objects. The example method includes repositioning, in response to an input received via the graphical interface, an endpoint of the graphical connector from the first contract node specified by the trading strategy to the second contract node. The example method also includes generating an updated trading strategy based on the trading strategy and the second contract node.
A data center, DC includes applications that are controllable by one or more computing entities external to the DC. However, when the DC becomes unavailable to the computing entities, the applications are no longer controllable by the computing entities, which is undesirable. Disclosed techniques include the DC determining, based on an indication that the apps are no longer controllable by the computing entities, that the applications are to operate in a disaster recovery mode. Disclosed techniques include causing an indication that the applications at the DC are to operate in the disaster recovery mode to be communicated to applications that are already executing at the DC when the determination is made and to applications that start to execute at the DC after the determination is made. Disclosed techniques also include a further DC providing a failover for the DC.
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
Various systems and methods are described herein for a risk check. The risk check bases a decision to allow a trading strategy to proceed on whether the order quantity for each leg of the trading strategy satisfies a certain condition. Particularly, when a trading strategy is initiated, the quantity for each of the orders to be submitted on behalf of the trading strategy, including the quantity of the initial order and any subsequent orders, is then compared to a corresponding risk value. If the order quantity for each of the orders is less than the corresponding risk value, then the trading strategy can proceed and the initial order can be sent on to the exchange. However, if the order quantity for any of the orders exceeds the risk value, then the initial order is not sent to the electronic exchange. Additionally, as described herein, quantity associated with the trading strategy is held or reserved for execution of the trading strategy regardless of the activity taken by the trader since the trading strategy was initiated. The reserved quantity can be drawn from the trading strategy until the quantity is depleted, the trading strategy has ended, or both, for example.
Certain embodiments provide systems, apparatus, and methods to analyze incoming data messages and create market information constructs. An example method includes receiving a data message including an instruction to initiate a market event. The example method includes evaluating the instruction to determine whether it is associated with two or more causally linked market events. The example method also includes classifying the instruction based on the evaluating as part of a sequence of causally linked market events or as a single market event. The example method includes queuing the sequence of causally linked market events. The example method further includes detecting an end of the sequence of causally linked market events. The example method includes constructing a logically reduced market data message construct descriptive of the one or more market events represented by the queued sequence of causally linked events.
Techniques for determining an availability of a data center, DC, to one or more computing entities external to the DC are described. A DC may, for example, operate one or more applications which are controllable by one or more external computing entities. Disclosed techniques include determining a first status of a first set of one or more communications connections between the DC and a second DC, and a second status of a second set of one or more communications connections between the DC and a third DC. Disclosed techniques include determining an indication of the availability of the DC based on the first status and the second status. Disclosed techniques may involve taking an action responsive to determining that the DC is unavailable, for example, causing applications running at the DC to operate in a disaster recovery mode, and/or failing over functionality of the DC to a failover DC.
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
G06F 11/00 - Détection d'erreursCorrection d'erreursContrôle de fonctionnement
9.
Dynamically Activating and Deactivating One or More Elements of a Trading Tool
Various embodiments relate to intelligently activating and deactivating a trading tool element of a trading tool to improve a user's confidence in the trading tool. By dynamically activating and deactivating elements on the trading screen, the trading tool effectively increases a user's confidence in placing a trading order, canceling a trade order, or both, for example, by eliminating or reducing undesirable options. Undesirable options might include those that are risky, contrary to a particular trading strategy, would result in a loss of money, and so on. Such an embodiment can improve the overall speed at which a user places or cancels a trade order by, among other things, effectively increasing the user's overall confidence in the trading tool.
Certain embodiments provide a block placing tool for building a user-defined algorithm for electronic trading. Certain embodiments provide for receiving by a block placing tool a selection of one or more blocks. Certain embodiments provide for receiving by a block placing tool a mapping definition including a mapping between block types and/or attributes. Certain embodiments provide for placing blocks based on a selection of blocks and a mapping definition.
Certain embodiments reduce the risks of traditionally programmed algorithms such as syntax errors, unclear logic, and the need for a non-trader programmer to develop the algorithm as specified by a trader by reducing or eliminating the writing of programming code by a user. Certain embodiments provide a design canvas area and blocks for designing an algorithm. Certain embodiments provide for grouping blocks placed in the design canvas area. Certain embodiments provide for virtualized group blocks enabling dynamic instantiation of portions of an algorithm to handle particular discrete events. Certain embodiments provide for operation of some or all portions of an algorithm when a connection between a client device and an algorithm server is broken.
Contextual searches may be performed to identify subsets of search results from an organized dataset. Contextual searching may return search results based on a relevance of the results to a query or search terms. Characters may be input by users at a search field that may be used to define context filters for limiting the search results of the organized dataset. Triggering events may be received that may trigger the definition of context filters that may be used to obtain the subsets of search results from the organized dataset. The triggering event may be a delimiter in the character string, for example. The subset of search results may include a subset of tradeable objects that may be traded at an electronic exchange. The subset of search results may continue to be limited based on additional context filters defined from the search input at the search field.
Methods and systems for user definable prioritization of market information are disclosed. An example method to prioritize market information displayed in a window within a trading interface includes updating the market information displayed in the window at a first frequency, wherein the first frequency is to correspond to a first window priority. The example method also includes, based on a trigger activation, assigning a second window priority to the window, wherein the second window priority is to cause the market information displayed in the window to update at a second frequency, the second frequency different from the first frequency.
Methods and systems to prevent adverse exchange limit effects are disclosed. An example method of message management includes tracking, at a gateway, a transaction count of trade messages communicated to an exchange via an exchange link. The example method includes defining a first transaction limit based on the transaction count, and calculating a second transaction limit as a function of the first transaction limit, wherein the second transaction limit is to correspond to a reserve capacity associated with the exchange link. The example method includes assigning a message priority to each of a plurality of trade messages to communicate to the exchange. The example method includes communicating trade messages of the plurality of trade messages having a first message priority to the exchange when the transaction count is greater than the second transaction limit, and delaying or rejecting trade messages of the plurality of trade messages having a second message priority.
Techniques for multicasting data to multiple clients are described. Each client stores an identifier indicating a data stream associated with, for example intended for, the client. A server receives the data streams, determines the identifier for each received data stream, transmits a mapping between the identifiers and respective multicast streams to the clients, and multicasts data of the received data streams in accordance with the mapping. By transmitting the mapping to the clients, and multicasting data of the received data streams in accordance with the mapping, each client may obtain data of the particular data stream with which they are associated.
H04L 65/611 - Diffusion en flux de paquets multimédias pour la prise en charge des services de diffusion par flux unidirectionnel, p. ex. radio sur Internet pour la multidiffusion ou la diffusion
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
H04L 67/146 - Marqueurs pour l'identification sans ambiguïté d'une session particulière, p. ex. mouchard de session ou encodage d'URL
Systems, methods, and computer-readable storage media are provided for authorizing a trading algorithm prior to execution of the trading algorithm. An example method includes receiving a trading algorithm definition associated with a unique identifier and sending the unique identifier to an algorithm server that is operable to execute programming code representing the trading algorithm. The unique identifier may be associated with a trader authorized to execute the programming code. The algorithm server may check the unique identifier prior to execution of the programming code to ensure that the trading algorithm has been authorized
A system, method, and non-transitory computer-readable information recording medium displays information to a user. Market data related to a plurality of tradeable objects is received from an exchange at a trading device. The display of market data related to each tradeable object is separately controlled. If the user is not paying attention to the market data of a particular tradeable object, then the dissemination of the market data for that tradeable object may be temporarily stopped until the user starts paying attention to that tradeable object.
A trade order may be submitted to an electronic exchange and updated, according to pay-up parameter values, in an attempt to receive a complete fill within a period of time. The trade order may comprise an order price and an order quantity when submitted to the electronic exchange. The pay-up parameters may include a pay-up interval, a pay-up amount, a pay-up counter, or a combination thereof. The price of the trade order may continue to be updated after the expiration of pay-up interval in an attempt to receive a complete fill of the trade order. The price of the trade order may be increased or decreased by the pay-up amount. The trade order may continue to be updated until a complete fill is received, the pay-up counter expires, and/or an ending time expires for which the pay-up parameters may be implemented.
A system, method, and non-transitory computer-readable information recording medium allows a user or trader to prepare, and send to an exchange, a trade order using a trading device. The trading device receives market data from an exchange and displays the received market data on a display unit of the trading device. The trading device also receives a trade order instruction via an input device at the trading device and detecting an occurrence of a market update as a function of the received market data within an established trade order time period associated with a time at which the trade order was received. If the occurrence of the market update was detected during the established trade order time period, the execution of the trade order is prevented.
Certain embodiments reduce the risks of traditionally programmed algorithms such as syntax errors, unclear logic, and the need for a non-trader programmer to develop the algorithm as specified by a trader by reducing or eliminating the writing of programming code by a user. Certain embodiments provide building block buttons and an algorithm area to define an algorithm. Certain embodiments provide live evaluation of an expression as the algorithm is being defined. Certain embodiments provide a design canvas area and blocks for designing an algorithm. Certain embodiments provide live feedback for blocks as the algorithm is being designed. Certain embodiments provide for initiating placement of an order to be managed by a selected user-defined trading algorithm from a value axis and for displaying working orders being managed by different user-defined trading algorithms on the value axis. Certain embodiments provide a ranking tool.
A data center, DC includes applications that are controllable by one or more computing entities external to the DC. However, when the DC becomes unavailable to the computing entities, the applications are no longer controllable by the computing entities, which is undesirable. Disclosed techniques include the DC determining, based on an indication that the apps are no longer controllable by the computing entities, that the applications are to operate in a disaster recovery mode. Disclosed techniques include causing an indication that the applications at the DC are to operate in the disaster recovery mode to be communicated to applications that are already executing at the DC when the determination is made and to applications that start to execute at the DC after the determination is made. Disclosed techniques also include a further DC providing a failover for the DC.
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
Techniques for determining an availability of a data center, DC, to one or more computing entities external to the DC are described. A DC may, for example, operate one or more applications which are controllable by one or more external computing entities. Disclosed techniques include determining a first status of a first set of one or more communications connections between the DC and a second DC, and a second status of a second set of one or more communications connections between the DC and a third DC. Disclosed techniques include determining an indication of the availability of the DC based on the first status and the second status. Disclosed techniques may involve taking an action responsive to determining that the DC is unavailable, for example, causing applications running at the DC to operate in a disaster recovery mode, and/or failing over functionality of the DC to a failover DC.
G06F 9/50 - Allocation de ressources, p. ex. de l'unité centrale de traitement [UCT]
H04L 43/0811 - Surveillance ou test en fonction de métriques spécifiques, p. ex. la qualité du service [QoS], la consommation d’énergie ou les paramètres environnementaux en vérifiant la disponibilité en vérifiant la connectivité
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
Techniques for determining an availability of a data center, DC, to one or more computing entities external to the DC are described. A DC may, for example, operate one or more applications which are controllable by one or more external computing entities. Disclosed techniques include determining a first status of a first set of one or more communications connections between the DC and a second DC, and a second status of a second set of one or more communications connections between the DC and a third DC. Disclosed techniques include determining an indication of the availability of the DC based on the first status and the second status. Disclosed techniques may involve taking an action responsive to determining that the DC is unavailable, for example, causing applications running at the DC to operate in a disaster recovery mode, and/or failing over functionality of the DC to a failover DC.
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
G06F 11/00 - Détection d'erreursCorrection d'erreursContrôle de fonctionnement
A data center, DC includes applications that are controllable by one or more computing entities external to the DC. However, when the DC becomes unavailable to the computing entities, the applications are no longer controllable by the computing entities, which is undesirable. Disclosed techniques include the DC determining, based on an indication that the apps are no longer controllable by the computing entities, that the applications are to operate in a disaster recovery mode. Disclosed techniques include causing an indication that the applications at the DC are to operate in the disaster recovery mode to be communicated to applications that are already executing at the DC when the determination is made and to applications that start to execute at the DC after the determination is made. Disclosed techniques also include a further DC providing a failover for the DC.
G06F 11/00 - Détection d'erreursCorrection d'erreursContrôle de fonctionnement
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
25.
CONTROLLING OPERATION OF A TRADING ALGORITHM BASED ON OPERATING CONDITION RULES
Methods, systems and computer-readable storage media are provided for controlling operation of a trading algorithm based on operating condition rules. Certain embodiments provide a method including determining, using a computing device, an approval of use of a trading algorithm by monitoring for an occurrence of an operating condition defined in an operating condition rule. The example method includes determining if the trading algorithm complies with the operating condition rule during the occurrence of the operating condition. The example method includes sending, using the computing device, a notification to a trading instrument to approve or not approve the use of the trading algorithm. The trading algorithm is to be used to implement a trading strategy.
Example methods, apparatus, and computer readable storage media are described and disclosed. An example method includes receiving, by a computing device, market data related to a tradeable object. The example method includes displaying, by the computing device, a flexible price-volume indicator, the flexible price-volume indicators aligned with a specific value level in a value axis. The example method includes updating, by the computing device, a display property associated with the flexible price-volume indicator, the display property reflecting a quantity value determined based on the received market data. The example method includes displaying, by the computing device, the flexible price-volume indicator in a differentiated state based on a change in the market data.
Certain embodiments of the present invention provide techniques for lean level support for a trading strategy. According to certain embodiments, the support for a price level under consideration as a lean level is determined based at least in part on quantity available at the price level. According to certain embodiments, the support for a price level under consideration as a lean level is determined based at least in part on quantity available at one or more other price levels. According to certain embodiments, the support for a price level under consideration as a lean level is determined based at least in part on the number of orders at one or more price levels. A lean level may then be determined based on the determined support. According to certain embodiments, a lean multiplier and/or a lean base are determined dynamically based on the determined support.
Embodiments for determining a traded item's value are described herein. An embodiment includes identifying conditions for use in computing a value of the tradable object. The embodiment further includes determining whether a condition is satisfied based on market data, for example, and if the condition is satisfied, then determining the value of the item based on a rule associated with the condition; and if the condition is not satisfied, then determining whether a subsequent condition is satisfied. If a subsequent condition is satisfied, then determining the value of the tradable object based on a rule associated with the subsequent condition. An embodiment further includes computing an open profit and loss value based on the item's value. Other embodiments are also disclosed.
The disclosed embodiments generally relate to techniques for tailoring messages for network communication. More specifically, the disclosed embodiments relate to systems and methods to provide customized information updates based on recipient preferences. For example, a recipient may prefer receiving updates less frequently than the system creates updates and/or may prefer to receive different levels of data in the updates. In some embodiments, a deltasnap technique is provided which allows for more efficient tailoring of the rate that update messages are provided. In some embodiments, a partitioning technique is provided which allows for more efficient tailoring of the content of update messages. In some embodiments, the deltasnap technique is provided in combination with the partitioning technique which allows for more efficient tailoring of the rate and content of the update messages.
The present embodiments relate to intelligently throttling a modification message based on a period of time that a trade order is required to remain in a market. In an embodiment, intelligently throttling a modification message includes intelligently selecting a transmission time of a modification message based on a period of time that a trade order is required to remain in a market. The modification message is transmitted at the selected time to ensure that the modification order is received at an electronic exchange at or shortly after, but not before, the period of time has expired. As a result, the modification order is accepted (e.g., not rejected) by the electronic exchange. The modification order does not need to be resent to the electronic exchange.
Methods, system and articles of manufacture are disclosed including configurable order entry, matching, coordination and market data intervals. An example method to decouple order entry and matching of contra-side orders includes receiving a trade order during an order entry interval, wherein the order entry interval defines a first period. The example method also includes starting a matching interval at the expiration of the order entry interval, wherein the matching interval includes a second period and wherein the first period is contiguous to the second period. The example method further includes matching the trade order, during the matching interval, with one or more opposing tradable object trade orders received during the order entry interval, the trade order having a same price or same quantity as the one or more opposing trade orders.
An electronic trading method is provided. The method includes receiving a trading strategy order having a parent trading strategy including multiple quoting legs; splitting the trading strategy order into multiple child orders; and submitting each of the multiple child orders to exchange systems adapted to fill the quoting legs in the child orders. Each child order includes a child trading strategy having a single quoting leg or a reduced number of quoting legs relative to the parent trading strategy. The child trading strategies are the same as the parent trading strategy except for the number of legs marked as quoting legs. The method may be performed by a trading strategy device disposed between a client device and multiple server side devices.
Techniques relating to buffers are disclosed. A first buffer may be for storing a number of elements for processing. Disclosed techniques include providing a second buffer for storing elements for adding to the first buffer, and adding an obtained element to the second buffer when the number of elements in the first buffer is greater than a first threshold. These techniques can prevent overrun of the first buffer while allowing the obtained element to be added to a buffer.
Techniques for multicasting data to multipie clients are described. Each client stores an identifier indicating a data, stream associated with, for example intended for, the client. A server receives die data streams, determines die identifier for each received data stream, transmits a mapping between the identifiers and respective multicast streams to the clients, and multicasts data, of the received data streams in accordance with the mapping. By transmitting the mapping to the clients, and multicasting data of the received data streams in accordance with the mapping, each client may obtain data of the particular data stream with which they are associated.
Techniques relating to buffers are disclosed. A first buffer may be for storing a number of elements for processing. Disclosed techniques include providing a second buffer for storing elements for adding to the first buffer, and adding an obtained element to the second buffer when the number of elements in the first buffer is greater than a first threshold. These techniques can prevent overrun of the first buffer while allowing the obtained element to be added to a buffer.
Techniques for multicasting data to multiple clients are described. Each client stores an identifier indicating a data stream associated with, for example intended for, the client. A server receives the data streams, determines the identifier for each received data stream, transmits a mapping between the identifiers and respective multicast streams to the clients, and multicasts data of the received data streams in accordance with the mapping. By transmitting the mapping to the clients, and multicasting data of the received data streams in accordance with the mapping, each client may obtain data of the particular data stream with which they are associated.
H04L 65/611 - Diffusion en flux de paquets multimédias pour la prise en charge des services de diffusion par flux unidirectionnel, p. ex. radio sur Internet pour la multidiffusion ou la diffusion
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
H04L 67/146 - Marqueurs pour l'identification sans ambiguïté d'une session particulière, p. ex. mouchard de session ou encodage d'URL
37.
ANALYZING USER ACTIVITY WITH RESPECT TO A COMPOSITE OBJECT
Techniques for analyzing user activity relating to composite objects including at least a first object and a second object are described. The first object and the second object may be objects with respect to which a user, for example, a user in a communications network, can take various actions. Disclosed embodiments allow user activity relating to multiple objects to be analyzed by treating multiple objects as a composite object and generating an analysis of the user activity with respect to the composite object. The results of the analysis may provide an indication of whether the user activity corresponds to a given type of behavior occurring with respect to the composite object. For example, the results may indicate whether the user activity corresponds to manipulation of a status of the composite object or of one or more of the objects included in the composite object.
Techniques for analyzing user activity relating to composite objects including at least a first object and a second object are described. The first object and the second object may be objects with respect to which a user, for example, a user in a communications network, can take various actions. Disclosed embodiments allow user activity relating to multiple objects to be analyzed by treating multiple objects as a composite object and generating an analysis of the user activity with respect to the composite object. The results of the analysis may provide an indication of whether the user activity corresponds to a given type of behavior occurring with respect to the composite object. For example, the results may indicate whether the user activity corresponds to manipulation of a status of the composite object or of one or more of the objects included in the composite object.
Various embodiments disclosed herein relate to order entry. In the electronic trading process, order entry involves setting one or more order entry parameters, sending one or more order entry parameters, or both setting and sending one or more order entry parameters. As will be described in more detail below, various order entry actions, such as moving a cursor across an order entry line, moving a cursor into an order entry region, pressing an order entry button, or performing a gesture, may be used to trigger the setting, sending, or both setting and sending of one or more order entry parameters. At least some embodiments relate to enabling an order entry action before the order entry action is able to set, send, or both set and send one or more order entry parameters.
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06F 3/04812 - Techniques d’interaction fondées sur l’aspect ou le comportement du curseur, p. ex. sous l’influence de la présence des objets affichés
G06F 3/04883 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p. ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p. ex. des gestes en fonction de la pression exercée enregistrée par une tablette numérique utilisant un écran tactile ou une tablette numérique, p. ex. entrée de commandes par des tracés gestuels pour l’entrée de données par calligraphie, p. ex. sous forme de gestes ou de texte
G06Q 40/00 - FinanceAssuranceStratégies fiscalesTraitement des impôts sur les sociétés ou sur le revenu
40.
Distribution of market data based on price level transitions
A system and method for distributing market data in response to price level transitions is disclosed. The system and method provide a mechanism for detecting when a price level transition has occurred. Detection of a price level transition results in the distribution of market data and may include displaying the results.
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06Q 10/04 - Prévision ou optimisation spécialement adaptées à des fins administratives ou de gestion, p. ex. programmation linéaire ou "problème d’optimisation des stocks"
Contextual searches may be performed to identify subsets of search results from an organized dataset. Contextual searching may return search results based on a relevance of the results to a query or search terms. Characters may be input by users at a search field that may be used to define context filters for limiting the search results of the organized dataset. Triggering events may be received that may trigger the definition of context filters that may be used to obtain the subsets of search results from the organized dataset. The triggering event may be a delimiter in the character string, for example. The subset of search results may include a subset of tradeable objects that may be traded at an electronic exchange. The subset of search results may continue to be limited based on additional context filters defined from the search input at the search field.
Example methods, apparatus, and computer readable storage media are described and disclosed. An example method includes depicting a strategy node in a graphical user interface presented by a computing device. The strategy node represents a trading strategy associated with two or more tradeable objects. The example method includes generating a graphical connector between the strategy node and one of a plurality of contract nodes including at least a first contract node and a second contract node. Each contract node represents a contract associated with one of the tradeable objects. The example method includes repositioning, in response to an input received via the graphical interface, an endpoint of the graphical connector from the first contract node specified by the trading strategy to the second contract node. The example method also includes generating an updated trading strategy based on the trading strategy and the second contract node.
Lists of tradeable objects may be generated and displayed to enable a user to define a trading strategy having multiple legs. The lists of tradeable objects may be used to define and display different combinations of the tradeable objects that are included in each of the lists. Each combination of tradeable objects may define the different legs of a spread that may be tradeable on one or more exchanges. A combination of tradeable objects may be selected to display contract information associated with the different legs of the spread. The contract information for each leg may be used to define and display spread information for the legs of the trading strategy. The spread information may allow the user to view information related to the spreads for different combinations of tradeable objects in a display.
Certain embodiments provide a block placing tool for building a user-defined algorithm for electronic trading. Certain embodiments provide for receiving by a block placing tool a selection of one or more blocks. Certain embodiments provide for receiving by a block placing tool a mapping definition including a mapping between block types and/or attributes. Certain embodiments provide for placing blocks based on a selection of blocks and a mapping definition.
Methods, systems and computer-readable storage media disclosed herein provide visual depictions of warnings and errors. An example method includes detecting, using a computing device, a change in a design of a trading algorithm. The trading algorithm is defined by a user-specified arrangement of blocks representing trading functionality. The example method includes determining, using the computing device, whether the trading algorithm complies with a trading algorithm rule. The example method includes facilitating, using the computing device, at least one of warning handling or error handling when the trading algorithm does not comply with the trading algorithm rule. Facilitating warning handling or error handling includes displaying a warning or an error to the user in connection with the trading algorithm before the trading algorithm is available for execution.
G06Q 40/00 - FinanceAssuranceStratégies fiscalesTraitement des impôts sur les sociétés ou sur le revenu
G06Q 20/10 - Architectures de paiement spécialement adaptées aux systèmes de transfert électronique de fondsArchitectures de paiement spécialement adaptées aux systèmes de banque à domicile
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06Q 40/06 - Gestion de biensPlanification ou analyse financières
46.
Methods and systems to prevent adverse exchange limit effects
Methods and systems to prevent adverse exchange limit effects are disclosed. An example method of message management includes tracking, at a gateway, a transaction count of trade messages communicated to an exchange via an exchange link. The example method includes defining a first transaction limit based on the transaction count, and calculating a second transaction limit as a function of the first transaction limit, wherein the second transaction limit is to correspond to a reserve capacity associated with the exchange link. The example method includes assigning a message priority to each of a plurality of trade messages to communicate to the exchange. The example method includes communicating trade messages of the plurality of trade messages having a first message priority to the exchange when the transaction count is greater than the second transaction limit, and delaying or rejecting trade messages of the plurality of trade messages having a second message priority.
A system and method are provided for implementing an electronic exchange-based transaction message policy. One example method includes defining a message usage threshold to be used in relation to a client entity that utilizes one or more trading strategies and sends transaction messages to an electronic exchange. The method further includes dynamically monitoring the message usage at the client entity and comparing it to the defined message usage threshold. If the message usage exceeds the threshold limit, the method includes adjusting one or more trading strategies at the client entity in attempt to not violating the exchange-based transaction message policy.
A tool for synthetic order recovery is provided. An exemplary method for synthetic order recovery includes the features for detecting a server event associated with a synthetic order server identified by a synthetic order server identifier, wherein the synthetic order server is in communication with the recovery tool; determining at least one active synthetic order associated with the synthetic order server identifier; determining a child order status for each child order related to the at least one active synthetic order, wherein the child order status includes an updated child order quantity since the server event was detected, and wherein each child order is associated with the synthetic order server identifier; calculating an updated synthetic order quantity for each of the at least one active synthetic order and based on the updated child order quantity; generating a recovery package including the at least one active synthetic order and the updated synthetic order quantity.
Methods and systems for user definable prioritization of market information are disclosed. An example method to prioritize market information displayed in a window within a trading interface includes updating the market information displayed in the window at a first frequency, wherein the first frequency is to correspond to a first window priority. The example method also includes, based on a trigger activation, assigning a second window priority to the window, wherein the second window priority is to cause the market information displayed in the window to update at a second frequency, the second frequency different from the first frequency.
System and method for aggressively trading a spread trading strategy in an electronic environment are provided herein. According to the example embodiments, a trader may configure the automated trading tool to trade as aggressively as possible by leaning on a price without an associated quantity. This allows a trader to possibly obtain a more profitable price as well as get filled faster. Traders submit an order for a spread and the automated trading tool calculates the quote order price based on a defined level of aggressiveness, the leaned on price, and the desired spread price. Based on the level of defined aggressiveness and the gap in the market, the automated trading tool may lean on a mildly, moderately, or extremely aggressive price.
Certain embodiments provide systems, methods, and apparatus for trading in a distributed server architecture. An example method includes receiving, by a computing device, a definition for a trading strategy, wherein the trading strategy includes a first tradeable object and a second tradeable object. The example method includes selecting, by the computing device, a first server to process one or more trade orders for the first tradeable object and a second server to process one or more trade orders for the second tradeable object. The example method includes sending, by the computing device, the definition for the trading strategy to the first server and the second server.
Systems and methods for implementing a confirmation period are disclosed. An example method includes identifying a market condition associated with a quantity of a tradeable object of a trading strategy, wherein the market condition triggers an adjustment to the trading strategy; initiating a confirmation period in response to the market condition; when a reevaluation of the market condition during the confirmation period indicates that the market condition has ceased, preventing the adjustment to the trading strategy; and when the market condition persists throughout the confirmation period, proceeding with the adjustment to the trading strategy.
Certain embodiments reduce the risks of traditionally programmed algorithms such as syntax errors, unclear logic, and the need for a non-trader programmer to develop the algorithm as specified by a trader by reducing or eliminating the writing of programming code by a user. Certain embodiments provide building block buttons and an algorithm area to define an algorithm. Certain embodiments provide live evaluation of an expression as the algorithm is being defined. Certain embodiments provide a design canvas area and blocks for designing an algorithm. Certain embodiments provide live feedback for blocks as the algorithm is being designed. Certain embodiments provide for initiating placement of an order to be managed by a selected user-defined trading algorithm from a value axis and for displaying working orders being managed by different user-defined trading algorithms on the value axis. Certain embodiments provide a ranking tool.
Methods and apparatus to enable a trading device to accept a user input are disclosed. An example method includes generating, via a computing device, a user interface of a trading application, wherein the user interface includes a locked portion that displays market data. The example method also includes detecting a gestural input with respect to the user interface. The example method also includes detecting a gestural event with respect to the user interface associated with the gestural input and, in response to the detected gestural event, unlocking the locked portion of the user interface.
G06F 3/04883 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p. ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p. ex. des gestes en fonction de la pression exercée enregistrée par une tablette numérique utilisant un écran tactile ou une tablette numérique, p. ex. entrée de commandes par des tracés gestuels pour l’entrée de données par calligraphie, p. ex. sous forme de gestes ou de texte
G06F 21/10 - Protection de programmes ou contenus distribués, p. ex. vente ou concession de licence de matériel soumis à droit de reproduction
Various systems and methods for trade order processing in an electronic trading environment are provided. The order processing includes initiating a first thread of instructions at a computing device to send a first trade order onto an electronic exchange. However, if one or more trade orders are identified during the process to send the first trade order, then the one or more orders are queued. When the first trade order is sent to the electronic exchange, then a second thread of instructions is initiated at the computing device to send the queued one or more trade orders (substantially together, if there is more than one) on to the electronic exchange.
System and method for dynamically managing message flow. According to the example embodiments, an intermediary network device or a client device dynamically manages the flow of messages received from an electronic exchange by analyzing the client device's capabilities, such as CPU utilization. Based on a percentage of total CPU utilization, the level of throttling is dynamically adjusted, such that if the percentage of CPU utilization, or load, increases, then throttling is increased from a lower level to a higher level. Similarly, if the percentage of CPU utilization decreases significantly enough, then throttling is decreased to a lower level.
H04L 67/62 - Ordonnancement ou organisation du service des demandes d'application, p. ex. demandes de transmission de données d'application en utilisant l'analyse et l'optimisation des ressources réseau requises en établissant un calendrier pour servir les requêtes
H04L 69/329 - Protocoles de communication intra-couche entre entités paires ou définitions d'unité de données de protocole [PDU] dans la couche application [couche OSI 7]
H04L 67/568 - Stockage temporaire des données à un stade intermédiaire, p. ex. par mise en antémémoire
57.
Virtualizing for user-defined algorithm electronic trading
Certain embodiments reduce the risks of traditionally programmed algorithms such as syntax errors, unclear logic, and the need for a non-trader programmer to develop the algorithm as specified by a trader by reducing or eliminating the writing of programming code by a user. Certain embodiments provide a design canvas area and blocks for designing an algorithm. Certain embodiments provide for grouping blocks placed in the design canvas area. Certain embodiments provide for virtualized group blocks enabling dynamic instantiation of portions of an algorithm to handle particular discrete events. Certain embodiments provide for operation of some or all portions of an algorithm when a connection between a client device and an algorithm server is broken.
The disclosed embodiments provide trading circles. An example method includes defining a group having a plurality of members, wherein one or more of the plurality of members interacts with an exchange that facilitates market transactions; detecting a first interaction of a first group member with the exchange; and communicating, in response to detecting the first interaction, data related to the first interaction to a second group member before the first group member receives confirmation of the first interaction from the exchange.
Methods and apparatuses for merging downloaded data with a real-time data are disclosed. An example includes receiving downloaded item of data from a download connection with a data repository and real-time item of data from a real-time data feed with a data publisher. In response to determining that the downloaded item of data includes the most recent downloaded item of data from the download connection, the downloaded item of data is stored as the last downloaded item of data. In response to determining that the real-time item of data is the most recent real-time item of data received from the real-time data feed, the real-time item of data is stored as the last real-time item of data from the real-time data feed. In response to determining a match between the last downloaded item of data and the last real-time item of data the download connection is ended.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 65/612 - Diffusion en flux de paquets multimédias pour la prise en charge des services de diffusion par flux unidirectionnel, p. ex. radio sur Internet pour monodiffusion [unicast]
H04L 65/75 - Gestion des paquets du réseau multimédia
Certain embodiments provide systems and methods to perform in-line translation of message content according to FIX protocol variants in a trading system. An example method includes receiving, at a computing device, a message formatted according to a FIX protocol, the message including message content and a message wrapper, the message wrapper providing session and delivery information for the message to a target. The example method includes performing in-line translation of the message content of the received message to adjust the message content according to a predefined set of rules without affecting the message wrapper (with the possible exception of the message size) and message routing session. The example method includes facilitating routing of the message to the target based on the message wrapper.
The present embodiments relate to charting multiple markets. In some embodiments, charting multiple markets may include receiving market data for a plurality of tradeable objects. The plurality of tradeable objects may include an anchor object and at least one non-anchor object. The market data may include anchor object price data for the anchor object and non-anchor price data for the at least one non-anchor object. The non-anchor object price data may be converted based on the anchor object price data such that converted non-anchor object price data has a price scale of the anchor object price data. The anchor object price data and the non-anchor object price data may be displayed along a normalized price axis.
System and methods for a connection proxy server are described. According to an example method described herein, a connection proxy server stores subscription, product tables as well as other downloads that are provided to a client terminal during initialization stage as well as later during a trading session. Upon detecting that a connection between the client terminal and a gateway is lost, the connection proxy maintains a communication session created for the client terminal at the gateway and receives data intended for the client terminal. If the connection is re-established between the client terminal and the gateway during a predetermined period of time, the connection proxy provides the stored data to the client terminal thus avoiding a surge in processing resources at the gateway due to the necessary downloads.
H04L 67/145 - Interruption ou inactivation de sessions, p. ex. fin de session contrôlée par un événement en évitant la fin de session, p. ex. maintien en vie, battements de cœur, message de reprise ou réveil pour une session inactive ou interrompue
A visual representation may be displayed at a computing device to indicate a display configuration and/or user interactions associated with a user interface for an application that may be run on other computing devices. The visual representation of the user interface may be determined based on user interface information, which may be logged at the computing device on which the application may be run. The visual representation of the user interface may include data obtained from a remote data source. The data may include market data that may be obtained from an electronic exchange that is shared with the computing device on which the application may be run for displaying the user interface.
H04L 67/025 - Protocoles basés sur la technologie du Web, p. ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p. ex. des menus
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p. ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
G06F 3/04812 - Techniques d’interaction fondées sur l’aspect ou le comportement du curseur, p. ex. sous l’influence de la présence des objets affichés
64.
System and method for controlled market data delivery in an electronic trading environment
A system and methods for controlled market data delivery are described. According to one example embodiment, upon detecting a preset threshold of updates in a queue at a gateway, a predetermined number of market updates may be processed before any data is sent to a client terminal. According to one method, update types may be used to control how many updates are processed before any data is sent. Also, once the number of updates to be processed is set, a market update having a higher priority update type may be used to trigger a change in the number of market updates that was set for processing.
A system and method are provided that, among other things, can reduce the burden on receiving computers, increase data throughput, reduce system failure, and provide components of a scalable and flexible network architecture. Specifically, the system and method provide a multichannel-multicast network environment for use in dynamically assigning data to channels. This configuration is particularly useful in a trading network environment, as it effectively performs channel reassignments in a way not to disturb the receipt of the underlying data. While the example embodiments described herein pertain to electronic trading, the principles of the present invention may be equally applied in other environments where the advantages presented herein are beneficial.
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06Q 40/00 - FinanceAssuranceStratégies fiscalesTraitement des impôts sur les sociétés ou sur le revenu
H04N 7/173 - Systèmes à secret analogiquesSystèmes à abonnement analogiques à deux voies, p. ex. l'abonné envoyant un signal de sélection du programme
H04N 7/20 - Adaptations pour la transmission sur une bande de fréquence du domaine des GHz, p. ex. par satellite
G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
G06F 13/10 - Commande par programme pour dispositifs périphériques
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G11C 8/00 - Dispositions pour sélectionner une adresse dans une mémoire numérique
H04J 3/26 - Systèmes multiplex à division de temps dans lesquels l'attribution est indiquée par une adresse dans lesquels l'information et l'adresse sont transmises simultanément
H04L 9/00 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité
66.
SYSTEM AND METHOD FOR PRIORITIZED AUTOMATED TRADING IN AN ELECTRONIC TRADING ENVIRONMENT
A system and method are provided for prioritized automated trading. One example method may include receiving a plurality of parameters, where each parameter has an order-related action associated with a trading strategy, and then detecting one or more events that trigger a plurality of order related actions. The method then includes determining priority levels in relation to a plurality of triggered order-related actions using at least one priority rule, and processing the plurality of triggered order-related action in an order associated with the determined priority levels.
A quantity modifier and a price modifier are provided for a spread trading strategy having a desired spread price and a desired spread quantity. According to an example embodiment, a quantity modifier divides the desired spread quantity into a plurality of disclosed spread quantities. Once the disclosed quantities are determined, a plurality of disclosed spread orders having the disclosed spread quantities are sequentially submitted to the market until the full desired spread order quantity is executed or until a predefined condition is detected. A price modifier determines a price level for each disclosed spread quantity, such that each disclosed spread order may be submitted at a different price level.
Certain embodiments provide systems, apparatus, and methods to analyze incoming data messages and create market information constructs. An example method includes receiving a data message including an instruction to initiate a market event. The example method includes evaluating the instruction to determine whether it is associated with two or more causally linked market events. The example method also includes classifying the instruction based on the evaluating as part of a sequence of causally linked market events or as a single market event. The example method includes queuing the sequence of causally linked market events. The example method further includes detecting an end of the sequence of causally linked market events. The example method includes constructing a logically reduced market data message construct descriptive of the one or more market events represented by the queued sequence of causally linked events.
Various systems and methods are described herein for a risk check. The risk check bases a decision to allow a trading strategy to proceed on whether the order quantity for each leg of the trading strategy satisfies a certain condition. Particularly, when a trading strategy is initiated, the quantity for each of the orders to be submitted on behalf of the trading strategy, including the quantity of the initial order and any subsequent orders, is then compared to a corresponding risk value. If the order quantity for each of the orders is less than the corresponding risk value, then the trading strategy can proceed and the initial order can be sent on to the exchange. However, if the order quantity for any of the orders exceeds the risk value, then the initial order is not sent to the electronic exchange. Additionally, as described herein, quantity associated with the trading strategy is held or reserved for execution of the trading strategy regardless of the activity taken by the trader since the trading strategy was initiated. The reserved quantity can be drawn from the trading strategy until the quantity is depleted, the trading strategy has ended, or both, for example.
System and methods for pre-marshalling messages in an electronic trading environment are provided. Specifically, pre-marshalling messages allows for client and network devices to create messages in response to a defined first condition. Pre-marshalling messages allows a trading system to do more processing up front before the message is needed and when a second condition is satisfied. Thus, when the message is needed no further or very little processing must be performed to generate and send the message. The client and/or network device may allocate a separate, unused, or under-utilized processing thread to the task of creating pre-marshalled messages. Pre-marshalled messages may be stored in memory at the network device until it is determined that the second condition has been satisfied. Once a pre-marshalled message is sent, the unused pre-marshalled messages that were stored in memory may be deleted or may be overwritten with newly pre-marshalled messages.
The state of a trade order may be defined and/or maintained in response to user action at a trading device. A trading device may receive a user action on a graphical user interface (GUI). The user action may cause the submission of the trade order to the electronic exchange. The trading device may receive a user action on the GUI to define an active order state. The trading device may maintain the order state until receiving an identified user action on the GUI to change the order state to inactive, which may cause the trade order to be canceled or held at the electronic exchange. The user action causing the change in the order state may be an active use action, such as a selection, or a passive user action, such as a failure to perform a selection. Such user action may encourage user attention when managing trade orders.
Systems and methods for routing trade orders based on exchange latency are disclosed. An example method includes measuring a first latency associated with a first exchange based on a processing time of a first trade order; and routing a second trade order from a trading device to one of the first and a second exchange based on the first latency.
H04L 43/106 - Surveillance active, p. ex. battement de cœur, utilitaire Ping ou trace-route en utilisant des informations liées au temps dans des paquets, p. ex. en ajoutant des horodatages
H04L 45/121 - Évaluation de la route la plus courte en minimisant les retards
73.
Systems and methods of an interface for use in electronic trading
Various systems and methods for presenting and interacting with electronic trading related information on a display screen of a computer system are provided. According to one or more embodiments, buttons are positioned and compressed along an axis, where each button corresponds to a function. A button can be selected through an action of a user input device. A button is removed from the region when a function corresponding to the button is no longer current and when the cursor is not positioned within the region. The remaining buttons, if any, in the region are compressed subsequent to removing the button from the region. A button is not removed from the region when the cursor is positioned within the region.
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p. ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comportement ou d’aspect
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p. ex. des menus
G06F 3/04845 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p. ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs pour la transformation d’images, p. ex. glissement, rotation, agrandissement ou changement de couleur
G06F 3/04847 - Techniques d’interaction pour la commande des valeurs des paramètres, p. ex. interaction avec des règles ou des cadrans
G06F 3/04892 - Dispositions pour commander la position du curseur fondée sur des codes indiquant les pas de déplacement du curseur d’une position à une autre, p. ex. en utilisant des touches de commande du curseur associées à des directions différentes ou en utilisant le tabulateur
An example method includes receiving, at a first computing device, market data related to a plurality of tradeable objects. The example method includes displaying, via an interface, the received market data via at the first computing device. The interface is based on an interface object model including a plurality of data components corresponding to the received market data. The example method includes receiving an input selection to share the interface with a second computing device and generating a transfer object model based on the interface object model in response to the receipt of the input selection. The example method includes identifying a first group of the plurality of data components included in the transfer object model and redacting the first group of the plurality of data components corresponding to the received market data components. The example method includes transmitting the redacted transfer object model to the second computing device.
Various systems and methods for trade order processing in an electronic trading environment are provided. According to one or more embodiments, two or more trade orders are currently queued for execution at one or more electronic exchanges and are to be modified at substantially the same time. Each trade order is processed according to a priority based on each order's proximity to a particular market price, for example.
Trading tools may be manipulated by allowing assembly, disassembly, and configuration of different trading tools. The assembly of different trading tools may generate combined trading tools. The combined trading tools may enable interoperability between the trading tools therein. Customization of the combined trading tools may be enabled by enabling a user to rearrange predefined areas displayed within the trading tools within the combined trading tools. The customization of the combined trading tools may enable customization of different functionality within the combined trading tools. The trading tools within a combined trading tool may include a tab tool for enabling multiple instances of another trading tool to which the tab tool is attached. Each instance of a trading tool may be associated with a respective tab for enabling a user to toggle between the multiple instances of the trading tool.
Certain embodiments provide a method including obtaining data at a first time using at least one sensor associated with a mobile computing device, the at least one sensor arranged to gather data regarding at least one operating factor for the mobile computing device, the mobile computing device configured to receive market data and execute a trading application. The example method includes analyzing the data obtained from the at least one sensor to determine the at least one operating factor. The example method includes determining a first operating state of the mobile computing device based on the at least one operating factor. The example method includes altering a function of the mobile computing device with respect to the trading application based on the first operating state.
Systems, methods, and computer-readable storage media are provided for authorizing a trading algorithm prior to execution of the trading algorithm. An example method includes receiving a trading algorithm definition associated with a unique identifier and sending the unique identifier to an algorithm server that is operable to execute programming code representing the trading algorithm. The unique identifier may be associated with a trader authorized to execute the programming code. The algorithm server may check the unique identifier prior to execution of the programming code to ensure that the trading algorithm has been authorized.
The disclosed embodiments generally relate to techniques for tailoring messages for network communication. More specifically, the disclosed embodiments relate to systems and methods to provide customized information updates based on recipient preferences. For example, a recipient may prefer receiving updates less frequently than the system creates updates and/or may prefer to receive different levels of data in the updates. In some embodiments, a deltasnap technique is provided which allows for more efficient tailoring of the rate that update messages are provided. In some embodiments, a partitioning technique is provided which allows for more efficient tailoring of the content of update messages. In some embodiments, the deltasnap technique is provided in combination with the partitioning technique which allows for more efficient tailoring of the rate and content of the update messages.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
A system, method, and non-transitory computer-readable information recording medium displays information to a user. Market data having a first portion and a second portion is displayed on a display unit of a trading device. A user focus area is detected, at the trading device. The user focus area is associated with one of the first and second portions of the market data. A first priority is assigned to the one of the first and second portions of the market data and a second priority is assigned to another one of the first and second portions of the market data. The first priority is higher than the second priority. The market data in the first and second portions is updated as a function of the first and second priorities, respectively.
Example methods, apparatus, and computer readable storage media are described and disclosed. An example method includes receiving, by a computing device, market data related to a tradeable object. The example method includes displaying, by the computing device, a flexible price-volume indicator, the flexible price-volume indicators aligned with a specific value level in a value axis. The example method includes updating, by the computing device, a display property associated with the flexible price-volume indicator, the display property reflecting a quantity value determined based on the received market data. The example method includes displaying, by the computing device, the flexible price-volume indicator in a differentiated state based on a change in the market data.
The disclosed embodiments generally relate to a slicer order quantity reduction tool. An example method for reducing a quantity of a slicer order includes calculating a collective quantity associated with available ones of a plurality of child orders; comparing the collective quantity and a reduction amount received in connection with a quantity reduction request for the slicer order; and determining, when the comparison indicates that the available ones of the child orders have insufficient quantity to meet the reduction amount, whether inflight ones of the plurality of child orders collectively have sufficient quantity to make up a shortfall of the available ones of the child orders.
The disclosed embodiments provide pre-hedge rules and tools for creating pre-hedge rules. An example method includes receiving an indication that a first leg of a spread trade is at least partially filled; and in response to the indication and before an order associated with a second leg of the spread trade is placed, determining whether a condition defined in a rule is satisfied and, when the condition is satisfied, performing an action defined in the rule.
A system and method for distributing market data in response to price level transitions is disclosed. The system and method provide a mechanism for detecting when a price level transition has occurred. Detection of a price level transition results in the distribution of market data and may include displaying the results.
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06Q 10/04 - Prévision ou optimisation spécialement adaptées à des fins administratives ou de gestion, p. ex. programmation linéaire ou "problème d’optimisation des stocks"
An electronic trading method is provided. The method includes receiving a trading strategy order having a parent trading strategy including multiple quoting legs; splitting the trading strategy order into multiple child orders; and submitting each of the multiple child orders to exchange systems adapted to fill the quoting legs in the child orders. Each child order includes a child trading strategy having a single quoting leg or a reduced number of quoting legs relative to the parent trading strategy. The child trading strategies are the same as the parent trading strategy except for the number of legs marked as quoting legs. The method may be performed by a trading strategy device disposed between a client device and multiple server side devices.
An application is disclosed that receives from a host exchange a plurality of trade notifications, each trade notification corresponding to an executed trade, and for each executed trade of interest, may determine whether the executed trade belongs in an aggregated set with one or more other executed trades. The application provides an indicator for indicating whether the corresponding executed trade or aggregated trade traded on the bid side or on the offer side of the market, and which indicates whether additional volume is available at the associated trade price.
A sticky order routing system may include multiple order routers in communication with an electronic exchange for communicating transaction messages. Each of the order routers communicates transaction messages between multiple associated trading sessions and the electronic exchange, where of the associated trading sessions is assigned to the order router in communication with the electronic exchange. Transaction message traffic between the order routers and the electronic exchange is monitored, such as randomly, based on round-robin assignment, and/or trading data. In response to transaction message traffic exceeding a threshold, the trading session may be assigned to a new order router.
Methods and apparatus to internalize trade orders are described herein. An example method includes obtaining, via an internalization manager, a trade order communicated to an exchange. The trade order corresponds to a tradeable object offered at the exchange. The example method includes comparing, via the internalization manager, the trade order to one or more trade orders in an internalization order record to determine whether a matching contra-side trade order is included in the one or more trade orders in the internalization order record. The example method includes communicating, via the internalization manager, an order modification to the exchange if a matching contra-side trade order is included in the one or more trade orders in the internalization order record, and matching, via the internalization manager, if a matching contra-side trade order is included in the one or more trade orders in the internalization order record, the trade order to the matching contra-side trade order in the internalization order record.
A fabrication stack comprises at least one Josephson junction, at least one capacitor, and one or more high kinetic inductance wires that comprise NbTiN. The one or more high kinetic inductance wires are configured to electrically couple the at least one Josephson junction to the at least one capacitor to form a superconducting circuit that facilitates switching a state of the Josephson junction via a single flux quantum (SFQ) pulse.
Various embodiments disclosed herein relate to order entry. In the electronic trading process, order entry involves setting one or more order entry parameters, sending one or more order entry parameters, or both setting and sending one or more order entry parameters. As will be described in more detail below, various order entry actions, such as moving a cursor across an order entry line, moving a cursor into an order entry region, pressing an order entry button, or performing a gesture, may be used to trigger the setting, sending, or both setting and sending of one or more order entry parameters. At least some embodiments relate to enabling an order entry action before the order entry action is able to set, send, or both set and send one or more order entry parameters.
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06F 3/04812 - Techniques d’interaction fondées sur l’aspect ou le comportement du curseur, p. ex. sous l’influence de la présence des objets affichés
G06F 3/04883 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p. ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p. ex. des gestes en fonction de la pression exercée enregistrée par une tablette numérique utilisant un écran tactile ou une tablette numérique, p. ex. entrée de commandes par des tracés gestuels pour l’entrée de données par calligraphie, p. ex. sous forme de gestes ou de texte
G06Q 40/00 - FinanceAssuranceStratégies fiscalesTraitement des impôts sur les sociétés ou sur le revenu
G06Q 20/10 - Architectures de paiement spécialement adaptées aux systèmes de transfert électronique de fondsArchitectures de paiement spécialement adaptées aux systèmes de banque à domicile
G06Q 40/06 - Gestion de biensPlanification ou analyse financières
A system and method are provided for distributed risk management. According to one example embodiment, a central risk controller is provided that can communicate with a plurality of local risk management modules located at a plurality of gateways. The central risk controller may allocate a portion of a central account balance associated with a trading account to each local risk management module. Then, as the trades are made using the trading account, the local risk management modules may manage risk associated with the trades until the local account balance is insufficient. As the account balance gets low, the local risk management module may query the central risk controller for the additional risk account balance.
A graphical interface and method are provided for displaying market information corresponding to a tradeable object. One graphical interface includes a chart region for displaying historical market data in relation to a first value axis, and a market grid region in alignment with the chart region. The market grid region comprises a plurality of areas for receiving commands from a user input device to send trade orders, and the areas are displayed in relation to a second value axis. A plurality of values displayed along the second value axis is a subset of values displayed in relation to the first value axis, and can be modified to a new plurality of values that corresponds to a new subset of values on the first value axis.
G06Q 40/00 - FinanceAssuranceStratégies fiscalesTraitement des impôts sur les sociétés ou sur le revenu
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p. ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06Q 30/0201 - Modélisation du marchéAnalyse du marchéCollecte de données du marché
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
G06Q 40/06 - Gestion de biensPlanification ou analyse financières
93.
User definable prioritization of market information
Methods and systems for user definable prioritization of market information are disclosed. An example method to prioritize market information displayed in a window within a trading interface includes updating the market information displayed in the window at a first frequency, wherein the first frequency is to correspond to a first window priority. The example method also includes, based on a trigger activation, assigning a second window priority to the window, wherein the second window priority is to cause the market information displayed in the window to update at a second frequency, the second frequency different from the first frequency.
Methods, systems and computer-readable storage media are provided for controlling operation of a trading algorithm based on operating condition rules. Certain embodiments provide a method including determining, using a computing device, an approval of use of a trading algorithm by monitoring for an occurrence of an operating condition defined in an operating condition rule. The example method includes determining if the trading algorithm complies with the operating condition rule during the occurrence of the operating condition. The example method includes sending, using the computing device, a notification to a trading instrument to approve or not approve the use of the trading algorithm. The trading algorithm is to be used to implement a trading strategy.
Certain embodiments provide systems and methods to perform in-line translation of message content according to FIX protocol variants in a trading system. An example method includes receiving, at a computing device, a message formatted according to a FIX protocol, the message including message content and a message wrapper, the message wrapper providing session and delivery information for the message to a target. The example method includes performing in-line translation of the message content of the received message to adjust the message content according to a predefined set of rules without affecting the message wrapper (with the possible exception of the message size) and message routing session. The example method includes facilitating routing of the message to the target based on the message wrapper.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06Q 40/04 - TransactionsOpérations boursières, p. ex. actions, marchandises, produits dérivés ou change de devises
H04L 67/565 - Conversion ou adaptation du format ou du contenu d'applications
A trade order may be submitted to an electronic exchange and updated, according to pay-up parameter values, in an attempt to receive a complete fill within a period of time. The trade order may comprise an order price and an order quantity when submitted to the electronic exchange. The pay-up parameters may include a pay-up interval, a pay-up amount, a pay-up counter, or a combination thereof. The price of the trade order may continue to be updated after the expiration of pay-up interval in an attempt to receive a complete fill of the trade order. The price of the trade order may be increased or decreased by the pay-up amount. The trade order may continue to be updated until a complete fill is received, the pay-up counter expires, and/or an ending time expires for which the pay-up parameters may be implemented.
A system, method, and non-transitory computer-readable information recording medium allows a user or trader to prepare, and send to an exchange, a trade order using a trading device. The trading device receives market data from an exchange and displays the received market data on a display unit of the trading device. The trading device also receives a trade order instruction via an input device at the trading device and detecting an occurrence of a market update as a function of the received market data within an established trade order time period associated with a time at which the trade order was received. If the occurrence of the market update was detected during the established trade order time period, the execution of the trade order is prevented.
A system and methods for controlled market data delivery are described. According to one example embodiment, upon detecting a preset threshold of updates in a queue at a gateway, a predetermined number of market updates may be processed before any data is sent to a client terminal. According to one method, update types may be used to control how many updates are processed before any data is sent. Also, once the number of updates to be processed is set, a market update having a higher priority update type may be used to trigger a change in the number of market updates that was set for processing.
Certain embodiments reduce the risks of traditionally programmed algorithms such as syntax errors, unclear logic, and the need for a non-trader programmer to develop the algorithm as specified by a trader by reducing or eliminating the writing of programming code by a user. Certain embodiments provide a design canvas area and blocks for designing an algorithm. Certain embodiments provide for grouping blocks placed in the design canvas area. Certain embodiments provide for virtualized group blocks enabling dynamic instantiation of portions of an algorithm to handle particular discrete events. Certain embodiments provide for operation of some or all portions of an algorithm when a connection between a client device and an algorithm server is broken.
Systems and methods for optimizing order placement in an electronic trading environment are provided. Global queue holder orders are placed in a tradeable object to reserve quantity for traders. Traders may submit order requests for quantity at price levels at which a global queue holder order is holding quantity. When a trader submits an order for a quantity at a price level at which quantity is being held, a gateway compares the order to the global queue holder order information stored in a database. If the trader's order coincides with a price level at which quantity is held, then the gateway virtually transfers ownership of that quantity to the trader, who then assumes the advantageous queue position. When the quantity associated with the order is filled, the fill information is sent to the gateway, which to the database to determine which trader is associated with the filled order quantity.