High speed processing of financial information using FPGA devices
First Claim
Patent Images
1. An apparatus for processing financial market data, the apparatus comprising:
- a ticker plant configured to receive a financial market data feed from an exchange, wherein the financial market data comprises a plurality of streaming messages within the feed that represent a plurality of offers to buy and sell a plurality of financial instruments, the messages comprising a plurality of data values corresponding to a plurality of data fields, the ticker plant comprising a reconfigurable logic device, a processor in cooperation with the reconfigurable logic device, and a memory;
wherein the processor is configured to normalize the financial market data and deliver the normalized financial market data to the reconfigurable logic device;
wherein the memory is configured to store a data dictionary, the data dictionary comprising a plurality of entries corresponding to a message format, the entries configured to describe (1) a plurality of message fields for the message format, (2) a plurality of positions for the message fields with respect to the message format, (3) a plurality of sizes for the message fields with respect to the message format, and (4) metadata for the message fields with respect to the message format; and
wherein the reconfigurable logic device comprises firmware logic, the firmware logic configured to (1) access the memory to read the data dictionary entries, and (2) process the normalized financial market data and arrange the data values from the normalized financial market data into a plurality of the message fields in accordance with the read data dictionary entries to thereby generate from the processed normalized financial market data a plurality of financial market data messages having the message format, the generated financial market data messages comprising (i) a plurality of the arranged data values in the message fields, wherein the message fields are positioned and sized within the generated financial market data messages in accordance with the positions and sizes from the read data dictionary entries, and (ii) metadata from the read data dictionary entries corresponding to the message fields of the generated financial market data messages; and
wherein the reconfigurable logic device and the memory are configured to support generation of financial market data messages of different message formats by changing the data dictionary entries to be accessed and read by the firmware logic and without altering the firmware logic.
4 Assignments
0 Petitions
Accused Products
Abstract
A high speed apparatus and method for processing a plurality of financial market data messages are disclosed. With respect to an exemplary embodiment, a reconfigurable logic device is employed to generate a plurality of financial market data messages from a plurality of the data fields, each generated message having a specified message format.
527 Citations
61 Claims
-
1. An apparatus for processing financial market data, the apparatus comprising:
-
a ticker plant configured to receive a financial market data feed from an exchange, wherein the financial market data comprises a plurality of streaming messages within the feed that represent a plurality of offers to buy and sell a plurality of financial instruments, the messages comprising a plurality of data values corresponding to a plurality of data fields, the ticker plant comprising a reconfigurable logic device, a processor in cooperation with the reconfigurable logic device, and a memory; wherein the processor is configured to normalize the financial market data and deliver the normalized financial market data to the reconfigurable logic device; wherein the memory is configured to store a data dictionary, the data dictionary comprising a plurality of entries corresponding to a message format, the entries configured to describe (1) a plurality of message fields for the message format, (2) a plurality of positions for the message fields with respect to the message format, (3) a plurality of sizes for the message fields with respect to the message format, and (4) metadata for the message fields with respect to the message format; and wherein the reconfigurable logic device comprises firmware logic, the firmware logic configured to (1) access the memory to read the data dictionary entries, and (2) process the normalized financial market data and arrange the data values from the normalized financial market data into a plurality of the message fields in accordance with the read data dictionary entries to thereby generate from the processed normalized financial market data a plurality of financial market data messages having the message format, the generated financial market data messages comprising (i) a plurality of the arranged data values in the message fields, wherein the message fields are positioned and sized within the generated financial market data messages in accordance with the positions and sizes from the read data dictionary entries, and (ii) metadata from the read data dictionary entries corresponding to the message fields of the generated financial market data messages; and wherein the reconfigurable logic device and the memory are configured to support generation of financial market data messages of different message formats by changing the data dictionary entries to be accessed and read by the firmware logic and without altering the firmware logic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 45, 52, 53, 54, 55, 56, 57, 58, 60)
-
-
22. A method for processing financial market data, the method comprising:
-
a ticker plant receiving a financial market data feed from an exchange, wherein the financial market data comprises a plurality of streaming messages within the feed that represent a plurality of offers to buy and sell a plurality of financial instruments, the messages comprising a plurality of data values corresponding to a plurality of data fields, the ticker plant comprising a reconfigurable logic device, a processor in cooperation with the reconfigurable logic device, and a memory; the processor normalizing the financial market data and delivering the normalized financial market data to the reconfigurable logic device; firmware logic deployed on the reconfigurable logic device accessing the memory to read a plurality of data dictionary entries, the accessed memory comprising a data dictionary, the data dictionary comprising a plurality of entries corresponding to a message format, the entries configured to describe (1) a plurality of message fields for the message format, (2) a plurality of positions for the message fields with respect to the message format, (3) a plurality of sizes for the message fields with respect to the message format, and (4) metadata for the message fields with respect to the message format; the firmware logic processing the normalized financial market data and arranging the data values from the normalized financial market data into a plurality of the message fields in accordance with the read data dictionary entries to thereby generate from the processed normalized financial market data a plurality of financial market data messages having the message format, the generated financial market data messages comprising (i) a plurality of the arranged data values in the message fields, wherein the message fields are positioned and sized within the generated financial market data messages in accordance with the positions and sizes from the read data dictionary entries, and (ii) metadata from the read data dictionary entries corresponding to the message fields of the generated financial market data messages; changing the data dictionary entries to be accessed and read by the firmware logic, wherein the changing step is performed without altering the firmware logic; and the firmware logic repeating the accessing, processing, and arranging steps with respect to new normalized financial market data and the changed data dictionary entries to generate a plurality of new financial market data messages having a different format. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 59, 61)
-
Specification