# US 2021/0279801 A1 · User-Defined Algorithm Electronic Trading

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0279801 A1
- Document ID: US20210279801A1
- Status: Published application
- Kind: A1
- Application number: 17/328,445
- Filed: 2021-05-24
- Published: 2021-09-09
- Earliest claimed: 2009-10-20
- Assignees: Trading Technologies International, Inc.
- Applicants: Trading Technologies International Inc.
- Inventors: Richard Lane; Michael Unetich
- Web page: https://patentgrep.com/patent/US20210279801A1

## CPC

- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06Q 40/00: Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

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.

## Claims

### Claim 1

(canceled)

### Claim 2

A system including:
a computing device including a processor,
wherein the computing device is configured to display a visual programming design canvas area for a visual programming language;
wherein the computing device is configured to receive commands from a user through the visual programming design canvas area to design an algorithm according to the visual programming language;
wherein the computing device is configured to modify, in response to receiving the commands from the user, an arrangement of a plurality of placed blocks specifying a definition for the algorithm, wherein the arrangement of the plurality of placed blocks includes at least one connection, wherein each connection of the at least one connection is between an output of one block in the plurality of placed blocks and an input of another block in the plurality of placed blocks, wherein each connection of the at least one connection indicates a value for the output should be provided to the corresponding input, wherein the plurality of placed blocks includes a first placed block and a second placed block, wherein the at least one connection includes a first connection between the first placed block and the second placed block;
wherein the computing device is configured to determine, while receiving the commands from the user, a first live feedback value for the first connection between the first placed block and the second placed block, wherein the first live feedback value is determined based on external data and the definition for the algorithm as modified in response to receiving the commands from the user, wherein the first live feedback value is an intermediate value provided for the first connection between the first placed block and the second placed block;
wherein the computing device is configured to display the determined first live feedback value in relation to the first placed block;
wherein the computing device is configured to receive, while receiving the commands from the user, updated external data;
wherein the computing device is configured to determine, while receiving the commands from the user, an updated first live feedback value for the first connection between the first placed block and the second placed block, wherein the updated first live feedback value is determined based on the updated external data and the definition for the algorithm as modified in response to receiving the commands from the user; and
wherein the computing device is configured to update the display of the determined first live feedback value based on the updated first live feedback value.

### Claim 3 (depends on 2)

The system of claim 2, wherein the plurality of placed blocks are selected by the user from a plurality of available blocks.

### Claim 4 (depends on 2)

The system of claim 2, wherein the first live feedback value is determined for an input of the first placed block.

### Claim 5 (depends on 2)

The system of claim 2, wherein the first live feedback value is determined for an output of the first placed block.

### Claim 6 (depends on 2)

The system of claim 2, wherein the external data is received from an electronic exchange.

### Claim 7 (depends on 2)

The system of claim 2, wherein the external data is received from a simulation environment.

### Claim 8 (depends on 2)

The system of claim 2, wherein the first live feedback value is further based on a functionality corresponding to the first placed block.

### Claim 9 (depends on 2)

The system of claim 2, wherein the computing device is further configured to:
detect the generation of a discrete event; and
display an indicator representing the occurrence of the discrete event.

### Claim 10 (depends on 9)

The system of claim 9, wherein the indicator includes flashing a connection on which the generated discrete event is provided.

### Claim 11 (depends on 9)

The system of claim 9, wherein the indicator includes an animation of an output on which the generated discrete event is provided.

### Claim 12 (depends on 9)

The system of claim 9, wherein the indicator includes an animation on a connection on which the generated discrete event is provided.
