IP Library Patent Application 15064163
Patent Application
App. No. 15/064,163

SYSTEMS AND METHODS FOR OBTAINING AND EXECUTING COMPUTER CODE SPECIFIED BY CODE ORDERS IN AN ELECTRONIC TRADING VENUE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
15/064,163
Abstract

Disclosed is a system and method for processing code orders that specify orders to be processed on an electronic trading venue (ETV) based on computer code referenced by or included with the code orders. Market participants may define, associate and submit executable code with each order message they send to the ETV. Upon receipt of a code order, and before that message itself is processed by the ETV against the instrument's limit order book, the ETV may evaluate all of the code associated with active code orders in that limit order book and process any resulting orders. Responsive to the completion of this evaluation, the ETV may update the state of the limit order book to reflect the new prices and quantities of them. Responsive to the completion of the update, the ETV may process the new message, which triggered evaluation of the code orders against the limit order book.

Claims (110)

1 . A computer-implemented method of processing code orders that specify orders to be processed on an electronic trading venue (ETV) based on computer code referenced by or included with the code orders, the method being implemented by a computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, program the computer system to perform the method, the method comprising:

receiving, by the computer system, a code order from a market participant via a network;

obtaining, by the computer system, based on the code order, computer code that includes logic configured to define a behavior of an order to be processed on the ETV;

executing, by the computer system, the computer code; and

processing, by the computer system, the order based on executing the computer code.

2 . The method of claim 1 , the method further comprising:

obtaining, by the computer system, a bid or offer state of an instrument to which the order relates, wherein the bid or offer state is indicative of bids and/or offers with respect to the instrument, and wherein processing the order comprises:

using, by the computer system, the bid or offer state as an input to the computer code; and

altering, by the computer system, the behavior of the order based on the input.

3 . The method of claim 2 , wherein altering the behavior of the order comprises canceling, by the computer system, the order based on the bid or offer state.

4 . The method of claim 2 , wherein altering the behavior of the order comprises repricing, by the computer system, a buy price or a sell price of the order based on the bid or offer state.

5 . The method of claim 2 , wherein altering the behavior of the order comprises adjusting, by the computer system, a quantity of the instrument to be purchased or sold based on the bid or offer state.

6 . The method of claim 1 , wherein the code order comprises source code, and wherein obtaining the computer code comprises:

obtaining, by the computer system, the source code from the code order; and

compiling, by the computer system, the source code to generate the computer code.

7 . The method of claim 1 , wherein the code order comprises source code, and wherein obtaining the computer code comprises:

obtaining, by the computer system, the source code from the code order; and

interpreting, by the computer system, the source code to generate the computer code.

8 . The method of claim 1 , wherein the code order comprises a reference to the computer code, and wherein obtaining the computer code comprises:

obtaining, by the computer system, the reference from the code order; and

obtaining, by the computer system, based on the reference, the computer code from a memory device configured to store the computer code in association with the reference.

9 . The method of claim 1 , wherein the code order comprises a reference to source code, and wherein obtaining the computer code comprises:

obtaining, by the computer system, the reference from the code order;

obtaining, by the computer system, based on the reference, the source code from a memory device configured to store the source code in association with the reference; and

compiling, by the computer system, the source code to generate the computer code.

10 . The method of claim 1 , the method further comprising:

receiving, by the computer system, source code corresponding to the computer code; and

storing, by the computer system, in a memory device, the source code in association with a reference for later retrieval using the reference.

11 . The method of claim 1 , the method further comprising:

receiving, by the computer system, source code corresponding to the computer code;

compiling, by the computer system, the source code to generate the computer code; and

storing, by the computer system, in a memory device, the computer code in association with a reference for later retrieval using the reference.

12 . The method of claim 1 , the method further comprising:

receiving, by the computer system, the computer code; and

storing, by the computer system, in a memory device, the computer code in association with a reference for later retrieval using the reference.

13 . The method of claim 1 , wherein processing the order comprises evaluating one or more parameters of the order against a bid or offer state of an instrument to which the order relates to determine whether or not to execute the order, wherein the bid or offer state is indicative of bids and/or offers with respect to the instrument, the method further comprising:

determining, by the computer system, at a first time, that a trade associated with the order should not be executed based on the evaluation of the one or more parameters of the order against the bid or offer state;

receiving, by the computer system, via the network, a second order after the first time, wherein the second order relates to the instrument and is received after receipt of the code order; and

evaluating, by the computer system, at a second time after receipt of the second order, the one or more parameters of the order against the bid or offer state prior to processing the second order; and

processing, by the computer system, the second order after evaluating the one or more parameters of the order.

14 . The method of claim 13 , wherein the order specified by the code order is processed against the bid or offer state, together with at least one other order specified by at least one other code order, prior to processing the second order.

15 . The method of claim 1 , wherein obtaining the computer code based on the code order comprises:

reading, by the computer system, the code order; and

identifying, by the computer system, based on the reading, a key-value pair that includes either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code, wherein the computer code is obtained based on the key-value pair.

16 . The method of claim 1 , the method further comprising:

receiving, by the computer system, a second order;

parsing, by the computer system, a key-value pair included in the second order;

determining, by the computer system, whether the second order includes either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code,

responsive to a determination that the second order comprises either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code:

obtaining, by the computer system, based on the second order, the computer code;

executing, by the computer system, the computer code; and

processing, by the computer system, the second order based on executing the computer code; and

responsive to a determination that the order does not comprise either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code:

processing, by the computer system, the second order.

17 . A system of processing code orders that specify orders to be processed on an electronic trading venue (ETV) based on computer code referenced by or included with the code orders, the system comprising:

a computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, program the computer system to:

receive a code order from a market participant via a network;

obtain, based on the code order, computer code that includes logic configured to define a behavior of an order to be processed on the ETV;

execute the computer code; and

process the order based on executing the computer code.

18 . The system of claim 17 , wherein the computer system is further programmed to:

obtain a bid or offer state of an instrument to which the order relates, wherein the bid or offer state is indicative of bids and/or offers with respect to the instrument, and wherein processing the order comprises:

use the bid or offer state as an input to the computer code; and

alter the behavior of the order based on the input.

19 . The system of claim 18 , wherein to alter the behavior of the order, the computer system is programmed to cancel the order based on the bid or offer state.

20 . The system of claim 18 , wherein to alter the behavior of the order, the computer system is programmed to reprice a buy price or a sell price of the order based on the bid or offer state.

21 . The system of claim 18 , wherein to alter the behavior of the order, the computer system is programmed to adjust a quantity of the instrument to be purchased or sold based on the bid or offer state.

22 . The system of claim 17 , wherein the code order comprises source code, and wherein to obtain the computer code, the computer system is programmed to:

obtain the source code from the code order; and

compile the source code to generate the computer code.

23 . The system of claim 17 , wherein the code order comprises source code, and wherein to obtain the computer code, the computer system is programmed to:

obtain the source code from the code order; and

interpret the source code to generate the computer code.

24 . The system of claim 17 , wherein the code order comprises a reference to the computer code, and wherein to obtain the computer code, the computer system is programmed to:

obtain the reference from the code order; and

obtain, based on the reference, the computer code from a memory device configured to store the computer code in association with the reference.

25 . The system of claim 17 , wherein the code order comprises a reference to source code, and wherein to obtain the computer code, the computer system is programmed to:

obtain the reference from the code order;

obtain, based on the reference, the source code from a memory device configured to store the source code in association with the reference; and

compile the source code to generate the computer code.

26 . The system of claim 17 , wherein the computer system is further programmed to:

receive source code corresponding to the computer code; and

store, in a memory device, the source code in association with a reference for later retrieval using the reference.

27 . The system of claim 17 , wherein the computer system is further programmed to:

receive, source code corresponding to the computer code;

compile the source code to generate the computer code; and

store, in a memory device, the computer code in association with a reference for later retrieval using the reference.

28 . The system of claim 17 , wherein the computer system is further programmed to:

receive the computer code; and

store, in a memory device, the computer code in association with a reference for later retrieval using the reference.

29 . The system of claim 17 , wherein to process the order, the computer system is further programmed to:

evaluate one or more parameters of the order against a bid or offer state of an instrument to which the order relates to determine whether or not to execute the order, wherein the bid or offer state is indicative of bids and/or offers with respect to the instrument:

determine, at a first time, that a trade associated with the order should not be executed based on the evaluation of the one or more parameters of the order against the bid or offer state;

receive, via the network, a second order after the first time, wherein the second order relates to the instrument and is received after receipt of the code order; and

evaluate, at a second time after receipt of the second order, the one or more parameters of the order against the bid or offer state prior to processing the second order; and

process the second order after evaluating the one or more parameters of the order.

30 . The system of claim 29 , wherein the order specified by the code order is processed against the bid or offer state, together with at least one other order specified by at least one other code order, prior to processing the second order.

31 . The system of claim 17 , wherein to obtain the computer code based on the code order, the computer system is programmed to:

read the code order; and

identify, based on the reading, a key-value pair that includes either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code, wherein the computer code is obtained based on the key-value pair.

32 . The system of claim 17 , wherein the computer system is further programmed to:

receive a second order;

parse a key-value pair included in the second order;

determine whether the second order includes either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code,

responsive to a determination that the second order comprises either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code:

obtain, based on the second order, the computer code;

execute the computer code; and

process the second order based on executing the computer code; and

responsive to a determination that the order does not comprise either (i) a reference to the computer code, (ii) a reference to source code for the computer code, (iii) the source code, or (iv) the computer code:

process the second order.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 20, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048645/0687 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 047964/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047778/0235 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Aug 15, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 043293/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: THOMSON REUTERS (MARKETS) LLC
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 038483/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2016
From: MELTON, HAYDEN PAUL
To: THOMSON REUTERS (MARKETS) LLC
Reel/Frame 037923/0604 →