Virtualizing for user-defined algorithm electronic trading
First Claim
1. A method including:
- displaying by a computing device a design canvas area;
receiving by the computing device from a user, in the design canvas area, an arrangement of a plurality of placed blocks, wherein the arrangement of the plurality of placed blocks specifies a definition for a trading algorithm;
receiving by the computing device a selection of one or more selected placed blocks of the plurality of placed blocks;
receiving by the computing device a grouping command;
generating by the computing device a group block based on the one or more selected placed blocks in response to the grouping command;
placing by the computing device in the design canvas area the group block, wherein the group block includes the one or more selected placed blocks;
receiving by the computing device a virtualizing command for the group block;
converting by the computing device the group block into a virtualized group block in response to the virtualizing command, wherein the virtualized group block is a block that when a discrete event is received on an input of the virtualized group block, a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block is instantiated; and
instantiating by the computing device a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block when the virtualized group block receives a discrete event on an input of the virtualized group block.
4 Assignments
0 Petitions
Accused Products
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 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.
-
Citations
15 Claims
-
1. A method including:
-
displaying by a computing device a design canvas area; receiving by the computing device from a user, in the design canvas area, an arrangement of a plurality of placed blocks, wherein the arrangement of the plurality of placed blocks specifies a definition for a trading algorithm; receiving by the computing device a selection of one or more selected placed blocks of the plurality of placed blocks; receiving by the computing device a grouping command; generating by the computing device a group block based on the one or more selected placed blocks in response to the grouping command; placing by the computing device in the design canvas area the group block, wherein the group block includes the one or more selected placed blocks; receiving by the computing device a virtualizing command for the group block; converting by the computing device the group block into a virtualized group block in response to the virtualizing command, wherein the virtualized group block is a block that when a discrete event is received on an input of the virtualized group block, a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block is instantiated; and instantiating by the computing device a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block when the virtualized group block receives a discrete event on an input of the virtualized group block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer readable medium having stored therein instructions executable by a processor, wherein the instructions are executable to:
-
display a design canvas area; receive from a user, in the design canvas area, an arrangement of a plurality of placed blocks, wherein the arrangement of the plurality of placed blocks specifies a definition for a trading algorithm; receive a selection of one or more selected placed blocks of the plurality of placed blocks; receive a grouping command; generate a group block based on the one or more selected placed blocks in response to the grouping command; place in the design canvas area the group block, wherein the group block includes the one or more selected placed blocks; receive a virtualizing command for the group block; convert the group block into a virtualized group block in response to the virtualizing command, wherein the virtualized group block is a block that when a discrete event is received on an input of the virtualized group block, a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block is instantiated; and instantiate a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block when the virtualized group block receives a discrete event on an input of the virtualized group block. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system including:
-
a computing device, wherein the computing device is configured to display a design canvas area, wherein the computing device is configured to receive from a user, in the design canvas area, an arrangement of a plurality of placed blocks, wherein the arrangement of the plurality of placed blocks specifies a definition for a trading algorithm, wherein the computing device is configured to receive a selection of one or more selected placed blocks of the plurality of placed blocks, wherein the computing device is configured to receive a grouping command, wherein the computing device is configured to generate a group block based on the one or more selected placed blocks in response to the grouping command, wherein the computing device is configured to place in the design canvas area the group block, wherein the group block includes the one or more selected placed blocks, wherein the computing device is configured to receive a virtualizing command for the group block, wherein the computing device is configured to convert the group block into a virtualized group block in response to the virtualizing command, wherein the virtualized group block is a block that when a discrete event is received on an input of the virtualized group block, a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block is instantiated, and wherein the computing device is configured to instantiate a new instance of the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block when the virtualized group block receives a discrete event on an input of the virtualized group block. - View Dependent Claims (12, 13, 14, 15)
-
Specification