최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0315571 (2014-06-26) |
등록번호 | US-10062115 (2018-08-28) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 0 인용 특허 : 319 |
A variety of embodiments for hardware-accelerating the processing of financial market depth data are disclosed. A coprocessor, which may be resident in a ticker plant, can be configured to update order books based on financial market depth data at extremely low latency. Such a coprocessor can also b
A variety of embodiments for hardware-accelerating the processing of financial market depth data are disclosed. A coprocessor, which may be resident in a ticker plant, can be configured to update order books based on financial market depth data at extremely low latency. Such a coprocessor can also be configured to enrich a stream of limit order events pertaining to financial instruments with data from a plurality of updated order books.
1. A method for applying specific computer technology to reduce latency and increase throughput with respect to streaming data enrichment, the method comprising: streaming data representative of a plurality of limit order events pertaining to a plurality of financial instruments into a coprocessor,
1. A method for applying specific computer technology to reduce latency and increase throughput with respect to streaming data enrichment, the method comprising: streaming data representative of a plurality of limit order events pertaining to a plurality of financial instruments into a coprocessor, the coprocessor including an order engine and a price engine;the order engine accessing a plurality of limit order records based on the streaming limit order event data;the order engine generating updated limit order data based on the accessed limit order records and the streaming limit order event data;the price engine accessing a plurality of price point records based on the streaming limit order event data;the price engine generating updated price point data based on the accessed price point records and the streaming limit order event data; andthe coprocessor generating a stream of enriched limit order events, wherein the enriched limit order events are enriched with the updated limit order and price point data; andwherein the order engine and the price engine perform their steps in parallel with each other as the limit order event data streams through the coprocessor. 2. The method of claim 1 wherein the coprocessor comprises a member of the group consisting of a reconfigurable logic device, a chip-multi-processor (CMP), and a graphics processing unit (GPU), and wherein the order engine and the price engine are deployed on the member. 3. The method of claim 2 wherein the stream generating step comprises the coprocessor appending a plurality of data fields corresponding to the updated limit order and price point data to a plurality of limit order events to generate the enriched limit order events. 4. The method of claim 3 wherein the appending step comprises the coprocessor appending at least one price volume field to a limit order event. 5. The method of claim 4 wherein the at least one price volume field comprises a regional price volume field. 6. The method of claim 4 wherein the at least one price volume field comprises a composite price volume field. 7. The method of claim 3 wherein the appending step comprises the coprocessor appending at least one price order count field to a limit order event. 8. The method of claim 7 wherein the at least one price order count field comprises a regional price order count field. 9. The method of claim 7 wherein the at least one price order count field comprises a composite price order count field. 10. The method of claim 3 wherein the appending step comprises the coprocessor appending at least one order attribute vector field to a limit order event, the order attribute vector indicative of an impact of an attribute on an order book associated with the limit order event. 11. The method of claim 3 wherein the appending step comprises the coprocessor appending at least one price attribute vector field to a limit order event, the price attribute vector indicative of an impact of an attribute on a price point order book associated with the limit order event. 12. The method of claim 11 wherein the at least one price attribute vector field comprises a regional price attribute vector field. 13. The method of claim 11 wherein the at least one price attribute vector field comprises a composite price attribute vector field. 14. The method of claim 3 wherein the appending step comprises the coprocessor appending at least one sort order field to a limit order event, the sort order field being indicative of a relative position of the limit order event within an associated order book. 15. The method of claim 14 wherein the sort order field is indicative of a relative position of the limit order event within an associated price aggregated order book. 16. The method of claim 14 wherein the sort order field is indicative of a relative position of the limit order event within an associated composite price aggregated order book. 17. The method of claim 3 wherein the appending step comprises the coprocessor appending at least one interest vector field to a limit order event, the interest vector field being indicative of which of a plurality of client applications are interested in receiving the enriched limit order event. 18. The method of claim 17 wherein the interest vector field is further indicative of which fields of the enriched limit order event each of the plurality of client applications are interested in receiving. 19. The method of claim 2 wherein the order engine accessing step comprises: the order engine resolving each of a plurality of limit order events in the streaming limit order event data to at least one limit order record associated with an order book in a limit order records data structure; andthe method further comprising the order engine updating the accessed limit order records based on the content of the plurality of limit order events. 20. The method of claim 2 wherein the enriched limit order events comprises a stream view of a plurality of order books associated with the limit order events. 21. The method of claim 2 wherein the enriched limit order events comprises a summary view of a plurality of order books associated with the limit order events. 22. The method of claim 2 wherein the coprocessor is resident within a ticker plant. 23. The method of claim 2 wherein each of the limit order events is associated with a limit order for the financial instrument to which it pertains wherein the limit order records comprise a plurality of limit order record fields, and wherein the price point records comprise a plurality of price point record fields; wherein the order engine accessing step comprises the order engine mapping a plurality of the limit order events to the limit order records corresponding to their associated limit orders;wherein the price engine accessing step comprises the price engine mapping a plurality of the limit order events to the price point records corresponding to the financial instruments for their associated limit ordersthe method further comprising (1) the order engine updating the limit order records based on the updated limit order data, and (2) the price engine updating the price point records based on the updated price point data; andwherein the stream generating step comprises the coprocessor, for those limit order events that are mapped to limit order records and price point records, appending at least one limit order record field from the updated limit order records and at least one price point record field from the updated price point records to those limit order events to generate enriched limit order events. 24. The method of claim 23 wherein the mapped limit order record for at least one of the limit order events includes a limit order record field that comprises an identifier for an attribute with respect to the determined limit order record; and wherein the appending step comprises the coprocessor appending the attribute identifier to the at least one limit order event. 25. The method of claim 24 wherein the attribute identifier is indicative of whether the determined limit order record pertains to an ephemeral regional order. 26. The method of claim 24 wherein the attribute identifier is indicative of whether the determined limit order record relates to an implied liquidity. 27. The method of claim 23 wherein the mapped limit order record for at least one of the limit order events includes a limit order record field that comprises an attribute identifier indicative of whether the mapped limit order record pertains to an ephemeral regional order and a limit order record field that comprises an attribute identifier indicative of whether the mapped limit order record relates to an implied liquidity, the ephemeral regional order attribute identifier and the implied liquidity attribute identifier serving as an attribute vector; and wherein the appending step comprises the coprocessor appending the attribute vector to the at least one limit order event. 28. The method of claim 23 wherein the mapped price point record for at least one of the limit order events includes a price point record field that comprises an identifier for an attribute with respect to the mapped price point record; and wherein the appending step comprises the coprocessor appending the attribute identifier to the at least one limit order event. 29. The method of claim 28 wherein the attribute identifier is indicative of whether the mapped price point record includes price data pertaining to one or more ephemeral regional orders; wherein the mapped price point record for the at least one limit order event further includes a price point record field that comprises a volume for the one or more ephemeral regional orders and a price point record field that comprises a count for the one or more ephemeral regional orders; andwherein the appending step further comprises the coprocessor appending the ephemeral regional order volume and the ephemeral regional order count to the at least one limit order event. 30. The method of claim 28 wherein the attribute identifier is indicative of whether the mapped price point record includes price data that relates to implied liquidity; wherein the mapped price point record for the at least one limit order event further includes a price point record field that comprises a volume for the implied liquidity and a price point record field that comprises a count for the implied liquidity; andwherein the appending step further comprises the coprocessor appending the implied liquidity volume and the implied liquidity count to the at least one limit order event. 31. The method of claim 23 wherein the mapped price point record for at least one of the limit order events includes (1) a price point record field that comprises an attribute identifier indicative of whether the mapped price point record includes price data pertaining to one or more ephemeral regional orders, (2) a price point record field that comprises a volume for the one or more ephemeral regional orders, (3) a price point record field that comprises a count for the one or more ephemeral regional orders, (4) a price point record field that comprises an attribute identifier indicative of whether the mapped price point record includes price data that relates to implied liquidity, (5) a price point record field that comprises a volume for the implied liquidity and (6) a price point record field that comprises a count for the implied liquidity; wherein the ephemeral regional order attribute identifier, the ephemeral regional order volume, the ephemeral regional order count, the implied liquidity attribute identifier, the implied liquidity volume, and the implied liquidity count serve as an attribute vector; andwherein the appending step comprises the coprocessor appending the attribute vector to the at least one limit order event. 32. The method of claim 23 wherein the mapped price point record for at least one of the limit order events includes a price point record field that comprises a price volume and a price point record field that comprises a price count; wherein the price engine generating step comprises the the price engine computing an updated price volume and an updated price count for the mapped price point record based on the at least one limit order event;wherein the price engine updating step comprises the price engine updating the mapped price point record with the updated price volume and the updated price count; andwherein the appending step comprises the coprocessor appending the updated price volume and the updated price count to the at least one limit order event. 33. The method of claim 23 wherein the price point records comprise a plurality of regional price point records and a plurality of composite price point records; wherein the price point records mapping step comprises the price engine mapping a plurality of the limit order events to the regional and composite price point records corresponding to the financial instruments for their associated limit orders;wherein the price engine updating step comprises the price engine updating the determined regional price point records and the determined composite price point records based on the limit order events; andwherein the appending step comprises the coprocessor, for those limit order events that are mapped to limit order records, regional price point records, and composite price point records, appending at least one limit order record field from the updated limit order records, at least one price point record field from the updated regional price point records, and at least one price point record field from the updated composite price point records to the limit order events to generate the enriched limit order events. 34. The method of claim 33 wherein the mapped regional price point record for at least one of the limit order events includes a regional price point record field that comprises a regional price volume and a regional price point record field that comprises a regional price count; wherein the mapped composite price point record for the at least one limit order event includes a composite price point record field that comprises a composite price volume and a composite price point record field that comprises a composite price count;wherein the price engine generating step comprises the price engine (1) computing an updated regional price volume and an updated regional price count for the mapped regional price point record based on the at least one limit order event, and (2) computing an updated composite price volume and an updated composite price count for the mapped composite price point record based on the at least one limit order event;wherein the price engine updating step comprises the price engine (1) updating the mapped regional price point record with the updated regional price volume and the updated regional price count, and (2) updating the mapped composite price point record with the updated composite price volume and the updated composite price count; andwherein the appending step comprises the coprocessor appending the updated regional price volume, the updated regional price count, the updated composite price volume, and the updated composite price count to the at least one limit order event. 35. The method of claim 23 wherein the mapped limit order record for at least one of the limit order events includes a limit order record field that comprises an interest vector indicative of which of a plurality of subscribers are interested in the mapped limit order record, and wherein the mapped price point record for the at least one limit order event includes a price point record field that comprises an interest vector indicative of which of the subscribers are interested in the mapped price point record; wherein the stream generating step further comprises the coprocessor combining the interest vectors from the mapped limit order record and the mapped price point record into a consolidated interest vector; andwherein the appending step comprises the coprocessor appending the consolidated interest vector to the at least one limit order event. 36. The method of claim 35 further comprising selectively communicating the streaming enriched limit order events to a plurality of downstream subscribers in accordance with their appended consolidated interest vectors. 37. The method of claim 23 wherein at least one of limit order events includes data indicative of whether the at least one limit order event is an addition, modification, or deletion event; and wherein the appending step comprises the coprocessor appending data from the mapped limit order record for the at least one limit order event based on the data indicative of whether the limit order event is an addition, modification, or deletion event. 38. The method of claim 23 wherein the stream generating step further comprises the coprocessor normalizing the enriched limit order event, the method further comprising: communicating the streaming normalized enriched limit order events to a plurality of downstream subscribers. 39. The method of claim 2 further comprising: storing the limit order records in a first physical memory; andstoring the price point records in a second physical memory. 40. The method of claim 2 wherein the streaming limit order event data comprises symbol identifiers, exchange identifiers, order reference identifiers, and prices for the limit order events, wherein the limit order records and the price point records are stored in at least one memory, wherein the coprocessor comprises a processing pipeline deployed on the member, the pipeline comprising an order hash engine, the order engine, a price hash engine, and the price engine, wherein the order engine is downstream from the order hash engine, wherein the price hash engine is downstream from the order engine, and wherein the price engine is downstream from the price hash engine, the method further comprising: the order hash engine hashing the symbol identifiers, exchange identifiers, and the order reference identifiers in the streaming limit order event data to identify memory addresses for a plurality of limit order records pertaining to the streaming limit order event data; andthe price hash engine hashing the symbol identifiers, exchange identifiers, and the prices in the streaming limit order event data to identify memory addresses for a plurality of price point records pertaining to the streaming limit order event data;wherein the order engine accessing step comprises the order engine accessing the limit order records based on the identified limit order record memory addresses;wherein the price engine accessing step comprises the price engine accessing the price point records based on the identified limit order record memory addresses; andwherein the order hash engine, the order engine, the price hash engine, and the price engine perform their steps in parallel with each other as the limit order event data streams through the coprocessor. 41. The method of claim 40 further comprising: caching the accessed limit order records in a first cache memory;caching the accessed price point records in a second cache memory;the order engine (1) accessing limit order records from the first cache memory if available from the first cache memory, and (2) accessing limit order records from the at least one memory if not available from the first cache memory; andthe price engine (1) accessing price point records from the second cache memory if available from the second cache memory, and (2) accessing price point records from the at least one memory if not available from the second cache memory. 42. The method of claim 40 wherein the at least one memory comprises (1) a first physical memory in which the limit order records are stored, and (2) a second physical memory in which the price point records are stored. 43. An apparatus for applying specific computer technology to reduce latency and increase throughput with respect to streaming data enrichment, the apparatus comprising: a coprocessor that includes an order engine and a price engine;wherein the coprocessor is configured to receive streaming data representative of a plurality of limit order events pertaining to a plurality of financial instruments;wherein the order engine is configured to (1) access a plurality of limit order records based on the streaming limit order event data, and (2) compute updated limit order data based on the accessed limit order records and the streaming limit order event data;wherein the price engine is configured to (1) access a plurality of price point records based on the streaming limit order event data, and (2) compute updated price point data based on the accessed price point records and the streaming limit order event data;wherein the coprocessor is further configured to enrich the streaming limit order events with financial market depth data based on the computed updated limit order data and price point data; andwherein the order engine and the price engine are configured to perform their respective operations in parallel with each other as the limit order event data streams through the coprocessor. 44. The apparatus of claim 43 wherein the coprocessor comprises a member of the group consisting of a reconfigurable logic device, a chip-multi-processor (CMP), and a graphics processing unit (GPU), and wherein the order engine and the price engine are deployed on the member. 45. The apparatus of claim 44 wherein the streaming limit order event data comprises symbol identifiers, exchange identifiers, order reference identifiers, and prices for the limit order events, the apparatus further comprising: at least one memory configured to store the limit order records and the price point records as different data structures;wherein the coprocessor comprises a processing pipeline deployed on the member, the pipeline comprising an order hash engine, the order engine, a price hash engine, and the price engine, wherein the order engine is downstream from the order hash engine, wherein the price hash engine is downstream from the order engine, and wherein the price engine is downstream from the price hash engine;wherein the order hash engine is configured to hash the symbol identifiers, exchange identifiers, and the order reference identifiers in the streaming limit order event data to identify memory addresses for a plurality of limit order records pertaining to the streaming limit order event data;wherein the price hash engine is configured to hash the symbol identifiers, exchange identifiers, and the prices in the streaming limit order event data to identify memory addresses for a plurality of price point records pertaining to the streaming limit order event data;wherein the order engine is further configured to access the limit order records based on the identified limit order record memory addresses;wherein the price engine is further configured to access the price point records based on the identified limit order record memory addresses; andwherein the order hash engine, the order engine, the price hash engine, and the price engine are configured to perform their respective operations in parallel with each other as the limit order event data streams through the coprocessor. 46. The apparatus of claim 45 further comprising: a first cache memory configured to cache the accessed limit order records;a second cache memory configured to cache the accessed price point records;wherein the order engine is further configured to (1) access limit order records from the first cache memory if available from the first cache memory, and (2) access limit order records from the at least one memory if not available from the first cache memory; andwherein the price engine is further configured to (1) access price point records from the second cache memory if available from the second cache memory, and (2) access price point records from the at least one memory if not available from the second cache memory. 47. The apparatus of claim 45 wherein the at least one memory comprises: a first physical memory configured to store the limit order records; anda second physical memory configured to store the price point records. 48. A method for applying specific computer technology to reduce latency and increase throughput with respect to streaming data enrichment, the method comprising: streaming data representative of a plurality of limit order events into a coprocessor, wherein each of the limit order events is associated with a limit order for a financial instrument, the coprocessor including an order hash engine, an order engine, a price hash engine, and a price engine;storing order book data in a memory, the order book data comprising (1) a plurality of limit order records corresponding to a plurality of limit orders for a plurality of financial instruments and (2) a plurality of price point records corresponding to financial instruments for which there are limit order records, the limit order records comprising a plurality of limit order record fields, and the price point records comprising a plurality of price point record fields;the order hash engine mapping a plurality of the limit order events to the limit order records corresponding to their associated limit orders;the price hash engine mapping a plurality of the limit order events to the price point records corresponding to the financial instruments for their associated limit orders;the order engine updating the mapped limit order records based on the limit order events;the price engine updating the mapped limit order records based on the limit order events;the coprocessor, for those limit order events that are mapped to limit order records and price point records, appending at least one limit order record field from the updated limit order records and at least one price point record field from the updated price point records to those limit order events to directly generate a plurality of enriched limit order events from the streaming data; andthe coprocessor sending the enriched limit order events downstream; andwherein the order hash engine, the price hash engine, the order engine, and the price engine perform their respective steps in parallel as the limit order event data streams through the coprocessor. 49. The method of claim 48 wherein the coprocessor comprises a member of the group consisting of a reconfigurable logic device, a chip-multi-processor (CMP), and a graphics processing unit (GPU), and wherein the order engine and the price engine are deployed on the member. 50. The method of claim 49 further comprising: the coprocessor, for each limit order event that does not map to any limit order record and does not map to any price point record, creating and storing a limit order record and a price point record in the memory for that limit order event; andthe coprocessor, for each limit order event that maps to a limit order record and does not map to any price point record, (1) creating and storing a price point record in the memory for that limit order event, and (2) appending at least one limit order record field from the updated limit order record for that limit order event to directly generate an enriched limit order event from the streaming data for that limit order event. 51. The method of claim 49 wherein the streaming limit order event data comprises symbol identifiers, exchange identifiers, order reference identifiers, and prices for the limit order events, wherein the coprocessor comprises a processing pipeline deployed on the member, the pipeline comprising the order hash engine, the order engine downstream from the order hash engine, the price hash engine downstream from the order engine, and the price engine downstream from the price hash engine; wherein the order hash engine mapping step comprises the order hash engine hashing the symbol identifiers, exchange identifiers, and the order reference identifiers in the streaming limit order event data to identify memory addresses for a plurality of limit order records pertaining to the streaming limit order event data; andwherein the price hash engine mapping step comprises the price hash engine hashing the symbol identifiers, exchange identifiers, and the prices in the streaming limit order event data to identify memory addresses for a plurality of price point records pertaining to the streaming limit order event data;the method further comprising:the order engine accessing the limit order records based on the identified limit order record memory addresses; andthe price engine accessing the price point records based on the identified limit order record memory addresses. 52. The method of claim 51 further comprising: caching the accessed limit order records in a first cache memory;caching the accessed price point records in a second cache memory;the order engine (1) accessing limit order records from the first cache memory if available from the first cache memory, and (2) accessing limit order records from the memory if not available from the first cache memory; andthe price engine (1) accessing price point records from the second cache memory if available from the second cache memory, and (2) accessing price point records from the memory if not available from the second cache memory. 53. The method of claim 51 wherein the memory comprises (1) a first physical memory in which the limit order records are stored, and (2) a second physical memory in which the price point records are stored.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.