Virtualizing for user-defined algorithm electronic trading

US9652803B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9652803-B2
Application numberUS-90572610-A
CountryUS
Kind codeB2
Filing dateOct 15, 2010
Priority dateOct 20, 2009
Publication dateMay 16, 2017
Grant dateMay 16, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 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. 2. The method of claim 1 , wherein the input of the virtualized group block is connected to an output of a first block in the plurality of placed blocks that provides fill confirmation discrete events, wherein each fill confirmation discrete event corresponds to at least a portion of a quantity of an order being filled. 3. The method of claim 2 , wherein the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block provides hedging functionality for the at least a portion of the quantity of the order that was filled corresponding to the received discrete event. 4. The method of claim 1 , wherein the plurality of placed blocks includes a first block, wherein the functionality corresponding to the first block is based on a connection state between the computing device and an algorithm server when the trading algorithm is processed by the algorithm server. 5. The method of claim 4 , wherein the connection state between the computing device and the algorithm server is provided to the first block by a connection to an input of the first block from a connection state input block. 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. 7. The computer readable medium of claim 6 , wherein the input of the virtualized group block is connected to an output of a first block in the plurality of placed blocks that provides fill confirmation discrete events, wherein each fill confirmation discrete event corresponds to at least a portion of a quantity of an order being filled. 8. The computer readable medium of claim 7 , wherein the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block provides hedging functionality for the at least a portion of the quantity of the order that was filled corresponding to the received discrete event. 9. The computer readable medium of claim 6 , wherein the plurality of placed blocks includes a first block, wherein the functionality corresponding to the first block is based on a connection state between a computing device including the processor and an algorithm server when the trading algorithm is processed by the algorithm server. 10. The computer readable medium of claim 9 , wherein the connection state between the computing device and the algorithm server is provided to the first block by a connection to an input of the first block from a connection state input block. 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. 12. The system of claim 11 , wherein the input of the virtualized group block is connected to an output of a first block in the plurality of placed blocks that provides fill confirmation discrete events, wherein each fill confirmation discrete event corresponds to at least a portion of a quantity of an order being filled. 13. The system of claim 12 , wherein the algorithm functionality represented by the one or more selected placed blocks in the virtualized group block provides hedging functionality for the at least a portion of the quantity of the order that was filled corresponding to the received discrete event.

Assignees

Inventors

Classifications

  • Interaction techniques based on graphical user interfaces [GUI] · CPC title

  • Finance; Insurance; Tax strategies; Processing of corporate or income taxes · CPC title

  • G06Q40/04Primary

    Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange · CPC title

  • Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title

  • G06F9/44Primary

    Arrangements for executing specific programs · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9652803B2 cover?
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 gr…
Who is the assignee on this patent?
Lane Richard, Unetich Michael, Lidor Daniel, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06Q40/04. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 16 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).