Virtualizing for User-Defined Algorithm Electronic Trading
US-2017186087-A1 · Jun 29, 2017 · US
US10096066B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10096066-B2 |
| Application number | US-90570910-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 15, 2010 |
| Priority date | Oct 20, 2009 |
| Publication date | Oct 9, 2018 |
| Grant date | Oct 9, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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 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.
Opening claim text (preview).
The invention claimed is: 1. A method including: displaying by a client device a visual programming design canvas area for a visual programming language; receiving by the client device commands from a user through the visual programming design canvas area to design a trading algorithm; modifying by the client device, in response to receiving the commands from the user, an arrangement of a plurality of placed blocks specifying in the visual programming language a definition for the trading algorithm, wherein the arrangement of the plurality of placed blocks includes a connection between an input or output of each block in the plurality of placed blocks and a respective output or input of another block in the plurality of placed blocks, wherein each 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 arrangement of the plurality of placed blocks includes a first connection between the first placed block and the second placed block; determining by the client device, 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 market data and the definition for the trading 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; displaying by the client device the determined first live feedback value in relation to the first placed block; receiving by the client device, while receiving the commands from the user, updated market data; determining by the client device, 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 market data and the definition for the trading algorithm as modified in response to receiving the commands from the user; and updating by the client device the display of the determined first live feedback value based on the updated first live feedback value. 2. The method of claim 1 , wherein the plurality of placed blocks are selected by the user from a plurality of available blocks. 3. The method of claim 1 , wherein the first live feedback value is determined for an input of the first placed block. 4. The method of claim 1 , wherein the first live feedback value is determined for an output of the first placed block. 5. The method of claim 1 , wherein the market data is received from an electronic exchange. 6. The method of claim 1 , wherein the market data is received from a simulation environment. 7. The method of claim 1 , wherein first live feedback value is further based on a functionality corresponding to the first placed block. 8. The method of claim 1 , further including: detecting by the client device the generation of a discrete event; and displaying by the client device an indicator representing the occurrence of the discrete event. 9. The method of claim 8 , wherein the indicator includes flashing a connection on which the generated discrete event is provided. 10. The method of claim 8 , wherein the indicator includes an animation of an output on which the generated discrete event is provided. 11. The method of claim 8 , wherein the indicator includes an animation on a connection on which the generated discrete event is provided. 12. The method of claim 1 , further including: determining by the client device, while receiving the commands from the user, a second live feedback value for a second connection between the first placed block and a third placed block of the plurality of placed blocks, wherein the second live feedback value is determined based on market data and the definition for the trading algorithm as modified in response to receiving the commands from the user, wherein the second live feedback value is an intermediate value provided for the second connection between the first placed block and the third placed block; and displaying by the client device the determined second live feedback value in relation to the first placed block.
Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange · CPC title
Arrangements for executing specific programs · CPC title
Finance; Insurance; Tax strategies; Processing of corporate or income taxes · CPC title
Interaction techniques based on graphical user interfaces [GUI] · CPC title
Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.