High speed processing of financial information using FPGA devices
DCFirst Claim
Patent Images
1. An apparatus for processing financial market data, the apparatus comprising:
- a memory for storing financial market data associated with a plurality of financial instruments, the stored financial market data including a plurality of synthetic financial instrument records, each synthetic financial instrument record comprising a data field and being associated with a synthetic financial instrument, the synthetic financial instruments being representative of a plurality of groups of financial instruments; and
a reconfigurable logic device for communication with the memory, the reconfigurable logic device comprising a plurality of firmware application modules (FAMs) arranged in a pipeline, the pipeline comprising a first FAM and a second FAM, the second FAM being downstream from the first FAM;
wherein the first FAM is configured to (1) receive a plurality of streaming financial market data messages, each of the streaming financial market data messages being associated with a financial instrument and comprising (i) a symbol string for identifying the message'"'"'s associated financial instrument and (ii) financial market data that is representative of a price for the message'"'"'s associated financial instrument, (2) map the symbol strings to a plurality of internal symbol IDs for the messages'"'"' associated financial instruments, and (3) generate a plurality of output messages comprising the internal symbol IDs; and
wherein the second FAM is configured to (1) receive the internal symbol IDs and the financial market data, and (2) perform a plurality of programmatic record generation operations in response to the received internal symbol IDs and the received financial market data to compute a plurality of updated fields for a plurality of the synthetic financial instrument records, and (3) store the computed updated fields in the memory in association with the synthetic financial instrument records; and
wherein the first FAM and the second FAM are configured to operate simultaneously with respect to each other in a pipelined fashion.
4 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Methods and systems for processing financial market data using a reconfigurable logic device are disclosed. Various operations such as basket calculation and volume weighted average price (VWAP) operations can be performed on the financial market data using firmware logic deployed on the reconfigurable logic device to accelerate the speed of processing.
508 Citations
34 Claims
-
1. An apparatus for processing financial market data, the apparatus comprising:
-
a memory for storing financial market data associated with a plurality of financial instruments, the stored financial market data including a plurality of synthetic financial instrument records, each synthetic financial instrument record comprising a data field and being associated with a synthetic financial instrument, the synthetic financial instruments being representative of a plurality of groups of financial instruments; and a reconfigurable logic device for communication with the memory, the reconfigurable logic device comprising a plurality of firmware application modules (FAMs) arranged in a pipeline, the pipeline comprising a first FAM and a second FAM, the second FAM being downstream from the first FAM; wherein the first FAM is configured to (1) receive a plurality of streaming financial market data messages, each of the streaming financial market data messages being associated with a financial instrument and comprising (i) a symbol string for identifying the message'"'"'s associated financial instrument and (ii) financial market data that is representative of a price for the message'"'"'s associated financial instrument, (2) map the symbol strings to a plurality of internal symbol IDs for the messages'"'"' associated financial instruments, and (3) generate a plurality of output messages comprising the internal symbol IDs; and wherein the second FAM is configured to (1) receive the internal symbol IDs and the financial market data, and (2) perform a plurality of programmatic record generation operations in response to the received internal symbol IDs and the received financial market data to compute a plurality of updated fields for a plurality of the synthetic financial instrument records, and (3) store the computed updated fields in the memory in association with the synthetic financial instrument records; and wherein the first FAM and the second FAM are configured to operate simultaneously with respect to each other in a pipelined fashion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23, 25, 26, 27, 28, 29)
-
-
12. A method for processing financial market data, the method comprising:
-
storing financial market data associated with a plurality of financial instruments in a memory, the stored financial market data including a plurality of synthetic financial instrument records, each synthetic financial instrument record comprising a data field and being associated with a synthetic financial instrument, the synthetic financial instruments being representative of a plurality of groups of financial instruments; and processing a plurality of streaming financial market data messages through a pipeline deployed in firmware logic on a reconfigurable logic device, the pipeline comprising a first firmware application module (FAM) and a second FAM, the second FAM being downstream from the first FAM, wherein the processing step comprises; the first FAM (1) receiving a plurality of the streaming financial market data messages, each of the received streaming financial market data messages being associated with a financial instrument and comprising (i) a symbol string for identifying the message'"'"'s associated financial instrument and (ii) financial market data that is representative of a price for the message'"'"'s associated financial instrument, (2) mapping the symbol strings to a plurality of internal symbol IDs for the messages'"'"' associated financial instruments, and (3) generating a plurality of output messages comprising the internal symbol IDs; and the second FAM (1) receiving the internal symbol IDs and the financial market data, and (2) performing a plurality of programmatic record generation operations in response to the received internal symbol IDs and the received financial market data to compute a plurality of updated fields for a plurality of the synthetic financial instrument records, and (3) storing the computed updated fields in the memory in association with the synthetic financial instrument;
records; andwherein the processing step further comprises the first FAM and the second FAM operating simultaneously with respect to each other in a pipelined fashion. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 30, 31, 32, 33, 34)
-
Specification