IP Library Granted Patent US 8,484,115
Granted Patent B2
US 8,484,115 · App. 11/866,859 · Granted Jul 9, 2013

Object-oriented time series generator

View Patent ↗
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 8,484,115
App. No.
11/866,859
Granted
Jul 9, 2013
Kind
B2
Abstract

In one embodiment, an expression comprising a left-hand side and a right-hand side is received. The left-hand side specifies one or more market instruments, and the right-hand side specifies a method that is to be applied based on the left-hand side of the expression. The expression is parsed. A time series is generated by applying the method based on one or more sets of data values associated with the one or more market instruments. The generated time series is stored in computer data storage.

Claims (102)

1. A computer-implemented process comprising the steps of:

receiving a user-specified expression that comprises a left-hand side and a right-hand side, wherein:

the left-hand side specifies one or more market instruments; and

the right-hand side specifies a first method that is to be applied based on the left-hand side of the expression;

wherein the first method is a set of computer-executable instructions which, when executed, is operable to construct and return time series as output;

parsing the expression to generate an in-memory representation that identifies the one or more market instruments and the first method;

based on the in-memory representation, generating a first time series by applying the first method based on one or more sets of data values associated with the one or more market instruments; and

storing the first time series in computer data storage;

wherein the steps of the process are performed by one or more computer systems.

2. The process of claim 1 , further comprising the step of:

recursively performing the steps of parsing, generating, and storing based on a sub-expression that is included in the left-hand side of the expression.

3. The process of claim 1 , wherein

the first time series is a sequence of data values representing the one or more market instruments.

4. The process of claim 1 , wherein:

the step of parsing the expression comprises recursively parsing the left-hand side and the right-hand side to generate the in-memory representation; and

the step of generating the first time series comprises, prior to applying the first method, retrieving the one or more sets of data values based on the in-memory representation.

5. The process of claim 1 , wherein the step of generating the first time series comprises the steps of:

locating the one or more sets of data values in a data repository based on the left-hand side of the expression; and

retrieving the one or more sets of data values from the data repository.

6. The process of claim 1 , wherein the step of generating the first time series comprises the steps of:

locating the one or more sets of data values in a data repository based on the left-hand side of the expression;

retrieving the one or more sets of data values from the data repository;

performing one or more mathematical computations on the one or more sets of data values to generate intermediate information; and

applying the first method to the intermediate information.

7. The process of claim 1 , wherein the right-hand side specifies one or more parameters for the first method, wherein the one or more parameters comprise any one of:

an identifier of a particular market instrument; and

an identifier of a particular time series associated with a particular market instrument.

8. The process of claim 1 , wherein:

the left-hand side of the expression comprises a sub-expression, wherein the sub-expression comprises a second method which, when evaluated, returns a second time series; and

the step of generating the first time series comprises the steps of:

applying the second method to the one or more sets of data values to generate the second time series; and

applying the first method to the second time series.

9. The process of claim 1 , wherein:

the left-hand side of the expression specifies one or more mathematical operations involving at least one of the one or more market instruments; and

the step of generating the first time series comprises the steps of:

based on at least one of the one or more sets of data values, performing the one or more mathematical operations to generate intermediate information; and

applying the first method to the intermediate information.

10. A computer-implemented process comprising the steps of:

receiving user input that includes an expression comprising a left-hand side and a right-hand side, wherein:

the left-hand side specifies one or more market instruments; and

the right-hand side specifies a first method that is to be applied based on the left-hand side of the expression;

wherein the first method is a set of computer-executable instructions which, when executed, is operable to construct and return time series as output;

sending a request to generate a first time series, wherein the request includes first information based on the left-hand side and the right-hand side of the expression;

wherein the first information identifies the one or more market instruments and the first method;

in response to the request, receiving the first time series which is generated based on the first information by applying the first method based on one or more sets of data values associated with the one or more market instruments; and

displaying a graphical representation of the first time series in a graphical user interface;

wherein the steps of the process are performed by one or more computer systems.

11. The process of claim 10 , further comprising:

recursively parsing at least one of the left-hand side and the right-hand side to generate the first information;

wherein the step of receiving the user input comprises the steps of:

receiving the left-hand side of the expression; and

based on the left-hand side, automatically determining a default method as the first method in the right-hand side of the expression.

12. A non-transitory machine-readable storage medium comprising one or more program instructions recorded thereon, which instructions, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving a user-specified expression that comprises a left-hand side and a right-hand side, wherein:

the left-hand side specifies one or more market instruments; and

the right-hand side specifies a first method that is to be applied based on the left-hand side of the expression;

wherein the first method is a set of computer-executable instructions which, when executed, is operable to construct and return time series as output;

parsing the expression to generate an in-memory representation that identifies the one or more market instruments and the first method;

based on the in-memory representation, generating a first time series by applying the first method based on one or more sets of data values associated with the one or more market instruments; and

storing the first time series in computer data storage.

13. The machine-readable medium of claim 12 , wherein the one or more program instructions further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of:

recursively performing the steps of parsing, generating, and storing based on a sub-expression that is included in the left-hand side of the expression.

14. The machine-readable medium of claim 12 , wherein

the first time series is a sequence of data values representing the one or more market instruments.

15. The machine-readable medium of claim 12 , wherein:

the instructions that cause the one or more processors to perform the step of parsing the expression further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of recursively parsing the left-hand side and the right-hand side to generate the in-memory representation; and

the instructions that cause the one or more processors to perform the step of generating the first time series further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of, prior to applying the first method, retrieving the one or more sets of data values based on the in-memory representation.

16. The machine-readable medium of claim 12 , wherein the instructions that cause the one or more processors to perform the step of generating the first time series further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:

locating the one or more sets of data values in a data repository based on the left-hand side of the expression; and

retrieving the one or more sets of data values from the data repository.

17. The machine-readable medium of claim 12 , wherein the instructions that cause the one or more processors to perform the step of generating the first time series further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:

locating the one or more sets of data values in a data repository based on the left-hand side of the expression;

retrieving the one or more sets of data values from the data repository;

performing one or more mathematical computations on the one or more sets of data values to generate intermediate information; and

applying the first method to the intermediate information.

18. The machine-readable medium of claim 12 , wherein the right-hand side of the expression specifies one or more parameters for the first method, wherein the one or more parameters comprise any one of:

an identifier of a particular market instrument; and

an identifier of a particular time series associated with a particular market instrument.

19. The machine-readable medium of claim 12 , wherein:

the left-hand side of the expression comprises a sub-expression, wherein the sub-expression comprises a second method which, when evaluated, returns a second time series; and

the instructions that cause the one or more processors to perform the step of generating the first time series further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:

applying the second method to the one or more sets of data values to generate the second time series; and

applying the first method to the second time series.

20. The machine-readable medium of claim 12 , wherein:

the left-hand side of the expression specifies one or more mathematical operations involving at least one of the one or more market instruments; and

the instructions that cause the one or more processors to perform the step of generating the first time series further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:

based on at least one of the one or more sets of data values, performing the one or more mathematical operations to generate intermediate information; and

applying the first method to the intermediate information.

21. A non-transitory machine-readable storage medium comprising one or more program instructions recorded thereon, which instructions, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving user input that includes an expression comprising a left-hand side and a right-hand side, wherein:

the left-hand side specifies one or more market instruments; and

the right-hand side specifies a first method that is to be applied based on the left-hand side of the expression;

wherein the first method is a set of computer-executable instructions which, when executed, is operable to construct and return time series as output;

sending a request to generate a first time series, wherein the request includes first information based on the left-hand side and the right-hand side of the expression;

wherein the first information identifies the one or more market instruments and the first method;

in response to the request, receiving the first time series which is generated based on the first information by applying the first method based on one or more sets of data values associated with the one or more market instruments; and

displaying a graphical representation of the first time series in a graphical user interface.

22. The machine-readable medium of claim 21 , wherein:

the one or more program instructions further comprise instructions which, when executed by the one or more processors cause the one or more processors to perform the step of recursively parsing at least one of the left-hand side and the right-hand side to generate the first information; and

the instructions that cause the one or more processors to perform the step of receiving the user input further comprise instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:

receiving the left-hand side of the expression; and

based on the left-hand side, automatically determining a default method as the first method in the right-hand side of the expression.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2007
From: AYMELOGLU, ANDREW; SIMLER, KEVIN; TAN, GARRY; CICERONE, DEREK
To: PALANTIR TECHNOLOGIES, INC.
Reel/Frame 019917/0211 →