IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0077294
(2011-03-31)
|
등록번호 |
US-8600856
(2013-12-03)
|
발명자
/ 주소 |
- Parsons, Scott
- Taylor, David E.
- Schuehler, David Vincent
- Franklin, Mark A.
- Chamberlain, Roger D.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
17 인용 특허 :
257 |
초록
▼
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 reconfigura
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.
대표청구항
▼
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
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; anda 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; andwherein 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; andwherein the first FAM and the second FAM are configured to operate simultaneously with respect to each other in a pipelined fashion. 2. The apparatus of claim 1 wherein the second FAM comprises a basket calculation engine for performing the programmatic record generation operations, the basket calculation engine configured to compute a net asset value for the synthetic financial instruments associated with synthetic financial instrument records in response to the received financial market data, wherein the updated field for each synthetic financial instrument record comprises the computed net asset value. 3. The apparatus of claim 2 wherein the financial instrument group comprises a portfolio of financial instruments. 4. The apparatus of claim 2 wherein the financial instrument group comprises a market index. 5. The apparatus of claim 2 wherein the financial instrument group comprises constituent financial instruments of an exchange traded fund (ETF). 6. The apparatus of claim 2 wherein the basket calculation engine is deployed in the second FAM with a last value cache (LVC) engine. 7. The apparatus of claim 6 wherein the stored financial market data further comprises a plurality of financial instrument records, each financial instrument record being associated with a financial instrument and comprising a plurality of fields, wherein the second FAM is further configured to (1) retrieve the stored financial instrument records for the financial instruments associated with the received financial market data based on the received internal symbol IDs, and (2) generate a plurality of updates for the retrieved financial instrument records based on the received financial market data. 8. The apparatus of claim 2 wherein the basket calculation engine is further configured to compute the net asset values for the synthetic financial instrument records at hardware processing speeds as financial market data and internal symbol IDs are received by the basket calculation engine. 9. The apparatus of claim 8 wherein the reconfigurable logic device comprises a field programmable gate array (FPGA). 10. The apparatus of claim 2 wherein the firmware application modules further comprise an alert generation engine within the pipeline downstream from the basket calculation engine, the alert generation engine configured to generate an alert for consumption by a downstream application in response to a specified condition being met. 11. The apparatus of claim 1 wherein the memory comprises memory external to the reconfigurable logic device. 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; andprocessing 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; andthe 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. 13. The method of claim 12 wherein the second FAM comprises a basket calculation engine, the basket calculation engine performing the programmatic record generation operations by computing a net asset value for the synthetic financial instruments associated with synthetic financial instrument records in response to the received financial market data, wherein the updated field for each synthetic financial instrument record comprises the computed net asset value. 14. The method of claim 13 wherein the financial instrument group comprises a portfolio of financial instruments. 15. The method of claim 13 wherein the financial instrument group comprises a market index. 16. The method of claim 13 wherein the financial instrument group comprises constituent financial instruments of an exchange traded fund (ETF). 17. The method of claim 13 wherein the basket calculation engine is deployed in the second FAM with a last value cache (LVC). 18. The method of claim 17 wherein the stored financial market data further comprises a plurality of financial instrument records, each financial instrument record being associated with a financial instrument and comprising a plurality of fields, and wherein the processing step further comprises: the second FAM (1) retrieving the stored financial instrument records for the financial instruments associated with the received financial market data based on the received internal symbol IDs, and (2) generating a plurality of updates for the retrieved financial instrument records based on the received financial market data. 19. The method of claim 13 wherein the computing step comprises the basket calculation engine computing the net asset values for the synthetic financial instrument records at hardware processing speeds as financial market data and internal symbol IDs are received by the basket calculation engine. 20. The method of claim 19 wherein the reconfigurable logic device comprises a field programmable gate array (FPGA). 21. The method of claim 13 wherein the firmware logic pipeline further comprises an alert generation engine within the pipeline downstream from the basket calculation engine, the alert generation engine generating an alert for consumption by a downstream application in response to a specified condition being met. 22. The method of claim 12 wherein the memory comprises memory external to the reconfigurable logic device. 23. The apparatus of claim 2 wherein the basket calculation engine and the first FAM are configured to operate simultaneously with respect to each other in the pipelined fashion such that the basket calculation engine is configured to perform its operations with regard to a financial market data message while the first FAM performs its operations with regard to another financial market data message. 24. The method of claim 13 wherein the processing step further comprises the basket calculation engine and the first FAM performing their respective steps simultaneously with respect to each other in the pipelined fashion such that the basket calculation engine performs its steps with regard to a financial market data message while the first FAM performs its steps with regard to another financial market data message. 25. The apparatus of claim 7 wherein the internal symbol IDs comprise a plurality of record keys for the financial instrument records corresponding to the financial instruments associated with the received financial market data messages. 26. The apparatus of claim 2 wherein the internal symbol IDs comprise a plurality of record keys for a plurality of financial instrument records corresponding to financial instruments associated with the received financial market data messages. 27. The apparatus of claim 1 wherein the second FAM comprises a basket calculation engine for performing the programmatic record generation operations, the basket calculation engine configured to compute change data for the synthetic financial instruments associated with synthetic financial instrument records in response to the received financial market data. 28. The apparatus of claim 1 further comprising a data dictionary configured to define a structure for the synthetic financial instrument records. 29. The apparatus of claim 1 further comprising a cache memory in which financial market data relevant to a synthetic financial instrument record is stored in a plurality of fields, and wherein the second FAM is further configured to apply a formula that references a field in the cache memory to compute the updated field for that synthetic financial instrument record. 30. The method of claim 18 wherein the internal symbol IDs comprise a plurality of record keys for the financial instrument records corresponding to the financial instruments associated with the received financial market data messages. 31. The method of claim 13 wherein the internal symbol IDs comprise a plurality of record keys for a plurality of financial instrument records corresponding to financial instruments associated with the received financial market data messages. 32. The method of claim 12 wherein the second FAM comprises a basket calculation engine, the basket calculation engine performing the programmatic record generation operations by computing change data for the synthetic financial instruments associated with synthetic financial instrument records in response to the received financial market data. 33. The method of claim 12 further comprising defining a structure for the synthetic financial instrument records based on a data dictionary. 34. The method of claim 12 wherein the storing step further comprises storing financial market data relevant to a synthetic financial instrument record in a cache memory in a plurality of fields, and wherein the performing step comprises the second FAM applying a formula that references a field in the cache memory to compute the updated field for that synthetic financial instrument record.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.