EP3692491A1 - Filtered, consolidated, cryptocurrency best bid and offer (fccbbo) data feed and historical data server - Google Patents
Filtered, consolidated, cryptocurrency best bid and offer (fccbbo) data feed and historical data serverInfo
- Publication number
- EP3692491A1 EP3692491A1 EP18864655.8A EP18864655A EP3692491A1 EP 3692491 A1 EP3692491 A1 EP 3692491A1 EP 18864655 A EP18864655 A EP 18864655A EP 3692491 A1 EP3692491 A1 EP 3692491A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- cryptocurrency
- data
- exchange
- filtered
- unique
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
Definitions
- the Crypto-Currency market is served by multiple exchanges, many of which are inaccessible to investors in various jurisdictions or, at a particular moment invalid for a client to utilize due to lack of funding or available cryptocurrencies in the appropriate wallet.
- Each exchange distributes their order books to their clients by a combination of user interface (UI), direct data feed or data request mechanism via an application program interface (API).
- UI user interface
- API application program interface
- the individual order books of the exchanges can include orders for extremely small size at price levels due to nature of Cryptocurrencies, which allows bids or offers for as little as .00000001 of a product.
- the invention is a consolidated data feed and database for cryptocurrencies that processes all quotes for each product pair covered, but allows clients to access data filtered for multiple, selectable order sizes as well as for a customized subset of exchanges that specific clients are eligible to trade on at a particular point in time for the product being queried.
- the invention includes a user interface which shows the consolidated best bid and offer filtered by multiple sizes over time, both in real time and for selectable historical periods as well as an application program interface (API) to provide the same information to clients systems.
- API application program interface
- Figure 1 shows the system components and flowchart for the acquisition of the order book data, calculation of the raw and filtered book, and storage of data in order to be accessible by user interfaces and client applications.
- FIG. 1 Crypto-Currency is defined herein as BitCoin, Ethereum, LiteCoin or alternative coins that are based on blockchain technology.
- Figure 2 illustrates the User Interface for displaying the CBBO for Bitcoin/USD in realtime, on an unfiltered basis. Note that the invention covers a wide range of products, including all tradeable cryptocurrencies. In this example, the market is considered "crossed" as the offer on the GDAX exchange is below the best bid on the Gemini exchange.
- Figure 3 illustrates the User Interface for displaying the CBBO for Bitcoin/USD in realtime, filtered for orders of 20 Bitcoin or more. Note that, despite being captured at virtually the same time as the market in figure 2, the market does not appear as "crossed" due to the fact that when each exchange was filtered for orders over 20, the spreads were wider.
- Figure 4 illustrates the User Interface for displaying the Historical CBBO for Bitcoin/USD for a 1 day period, on an unfiltered basis. Notice that the market is considered "crossed" and that the software categorizes the magnitude of the crossed quotes as well as the % of time each of the three exchanges, in this example, are at the best bid and best offer.
- Figure 5 illustrates the User Interface for displaying the Historical CBBO for Bitcoin/USD for a 1 day period, filtered for orders of 20 Bitcoin or more.
- Figure 6 illustrates the User Interface for displaying the Historical CBBO for Litecoin/USD for a 1 day period, on an unfiltered basis. Notice that the market is considered "crossed,” except for 16.3% of the time and that the software categorizes the magnitude of the crossed quotes as well as the % of time each of the two exchanges, in this example, are at the best bid and best offer.
- Figure 7 illustrates the User Interface for displaying the Historical CBBO for Litecoin/USD for a 1 day period, filtered for orders of 20 Litecoin or more. Notice that the filtered CBBO shows that the market is now "normal" 29.8% of the time.
- Figure 8 illustrates the User Interface for displaying the Historical CBBO for Ethereum USD for a 1 day period, on an unfiltered basis. Notice that the market is considered “crossed,” except for 0.61% of the time and that the software categorizes the magnitude of the crossed quotes as well as the % of time each of the three exchanges, in this example, are at the best bid and best offer.
- Figure 9. illustrates the User Interface for displaying the Historical CBBO for Ethereum/USD for a 1 day period, filtered for orders of 20 Ethereum or more. Notice that the filtered CBBO shows that the market is now "normal" 12% of the time.
- each exchange can have different APIs or methods of acquiring their book data, but the FCCBBO system will normalize all data into one format after acquisition. Therefore, whether an exchange supports an API that requires users to request quotes or the exchange has an interface that publishes all quote updates via an API in a continuous stream, the FCCBBO system will incorporate the data. Second, all of the supported filter levels will be applied to processed quote data from each exchange as it is received and will be stored in real time and historically for every supported exchange.
- each of our clients will have their own configuration that determines which exchanges will be included in their version of the Filtered Cryptocurrency Consolidated Best Bid and Offer, which necessitates a separate layer for determining which quotes to serve via the UI or API.
- the system has the following components: Individual feed handlers with local in- memory order-book storage, a book size and BBO processing component in the feed handler layer to create the filtered book data, a raw storage solution for the data acquired, a CBBO aggregation layer that calculates both the filtered and unfiltered best bid and offer incorporating each change of size or BBO in the individual feeds being acquired, a network-accessible, in-memory datastore to store book size and BBO metrics used by the CBBO aggregator in real time, a Real Time messaging layer to communicate between the processes, a historical database and both a UI and API which serves the data to clients.
- Feed Handlers The feed handlers receive events and can also make requests to exchanges in the case that no feed-based API is available. Initially and over the course of periodic intervals, book data will be read in snapshots from exchanges. When an exchange does not have streaming support, only full book refresh will be supported. In this mode, the exchange will be polled at periodic intervals. Book size and BBO and CBBO metrics will be calculated in the same manner as with feed-based APIs, however instead of the feed handler maintaining a real-time order-book, the in-memory orderbook is simply refreshed at intervals. [0014] Redundancy: Multiple feed handlers will be subscribed to a single exchange / product feed at the same time for redundancy purposes. This is because in order for a realtime order book to be maintained, messages must be received roughly in order and without dropped messages.
- Update processing When order book updates are received by the feed handler, the local in-memory orderbook is updated. Book size and BBO metrics are then calculated on the updated order-book, and written to an instance of the network accessible in-memory datastore. If any of the order book or BBO metrics have changed, a book change event is sent to the messaging layer.
- Network Accessible, In-Memory Datastore The network accessible in- memory data structure stores book size and BBO metrics for a given exchange and product. Multiple products and/ or exchanges can be stored within the same instance, and metadata is stored as to what instances of the network accessible in-memory datastore has the data for a given product and exchange. Each process of the network-accessible in- memory Datastore can store book size and BBO metrics for one or more products on one or more exchanges.
- a metadata component runs which maps a given product for a given exchange to a set of datastore instances that store the associated book size and BBO metrics.
- Each feed handler for a product / exchange combination stores data in one or more datastore instances. This allows the scaling out of the system by adding additional instances of the datastore.
- CBBO Aggregator A CBBO Aggregator process runs for each product, which listens for book update messages and compiles a composite order book feed based on each exchange's book size and BBO metrics. For a given product, it fetches the book size and BBO metrics from all network-accessible in-memory datastores that maintain the order book of that product for every exchange. It maintains a cache of the metadata that maps products and exchanges to instances of the in-memory datastore. The CBBO aggregator will include the most up-to-date copy of the order book for each (Exchange, Product) in the CBBO based on last updated timestamp. If a book size or BBO metric changes after a book update, the feed handler will send a message to the distributed messaging layer that is listened to by the CBBO Aggregator. On receipt of these messages, the CBBO
- Aggregator will calculate the full CBBO for each size threshold by aggregating the book size and BBO metrics for all applicable exchanges from the Network Accessible in- memory Datastore.
- the CBBO values for each filter level are written to historical storage, as well as sent to the messaging layer for consumption by the UI and API.
- Modes of operation The CBBO supports multiple modes of operation. Tick locked mode executes the CBBO calculation inside the feed handler on a tick-by-tick basis. High-throughput mode instead sends a message to the messaging layer on every book update at which point a process listening on that messaging channels calculates the updated CBBO.
- Real Time Data Store Architecture As the system supports multiple product pairs, the architecture is such that each product pair occupies a messaging channel flow to notify the CBBO aggregator of book updates, as well as a set of datastore instances to store book size and BBO metrics for aggregation. Partitioning on the book size and BBO metrics is on the (Exchange, Product) level, meaning that if a product pair is traded on 7 exchanges, that product pair can have up to 7 datastore instances associated with it. This means the architecture scales to many products and exchanges.
- the implementation of the Real Time Data Store utilizes an in-memory data structure store, used as a database, cache and message broker, that has built-in replication.
- Messaging Layer The system uses standard publish / subscribe inter-process communications.
- API / UI functionality The system supports user configurable exchange selections and filters. It acquires these settings before initiating a query or real-time session and passes them to the API. The API then passes them to the historical or realtime data store to acquire the data requested as such data is stored with those selections in the keys. This allows the system to build the query on the fly, rather than having to calculate the results upon request.
- the system is built to provide the CBBO and depth of book for each exchange as a central service leveraging standard cloud based architecture. As this service is designed to work directly with a Distributed Cryptocurrency Smart Order Router (DCCSOR), it can be accessed over peering connections to client instances of the DCCSOR.
- DCCSOR Distributed Cryptocurrency Smart Order Router
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762569613P | 2017-10-08 | 2017-10-08 | |
US15/727,628 US20190325515A1 (en) | 2017-10-08 | 2017-10-08 | Filtered, Consolidated, Cryptocurrency Best Bid and Offer (FCCBBO) data feed and historical data server |
PCT/US2018/064111 WO2019071277A1 (en) | 2017-10-08 | 2018-12-05 | Filtered, consolidated, cryptocurrency best bid and offer (fccbbo) data feed and historical data server |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3692491A1 true EP3692491A1 (en) | 2020-08-12 |
EP3692491A4 EP3692491A4 (en) | 2021-05-05 |
Family
ID=65995272
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18864471.0A Withdrawn EP3692486A4 (en) | 2017-10-08 | 2018-12-05 | Distributed crypto-currency smart order router with cost calculator |
EP18864655.8A Withdrawn EP3692491A4 (en) | 2017-10-08 | 2018-12-05 | Filtered, consolidated, cryptocurrency best bid and offer (fccbbo) data feed and historical data server |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18864471.0A Withdrawn EP3692486A4 (en) | 2017-10-08 | 2018-12-05 | Distributed crypto-currency smart order router with cost calculator |
Country Status (2)
Country | Link |
---|---|
EP (2) | EP3692486A4 (en) |
WO (2) | WO2019071278A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190325515A1 (en) | 2017-10-08 | 2019-10-24 | David Marc Weisberger | Filtered, Consolidated, Cryptocurrency Best Bid and Offer (FCCBBO) data feed and historical data server |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101834102B1 (en) * | 2013-09-17 | 2018-03-02 | 아이이엑스 그룹, 인크. | Techniques for facilitating electronic trading |
US9947048B2 (en) * | 2014-06-04 | 2018-04-17 | Nasdaq Technology Ab | Apparatus and methods for implementing changed monitoring conditions and/or requirements using dynamically-modifiable control logic |
US20150363778A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency electronic payment system |
US10127552B2 (en) * | 2014-06-16 | 2018-11-13 | Bank Of America Corporation | Cryptocurrency aggregation system |
US20150363770A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency Transaction Payment System |
US20150363769A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency Real-Time Conversion System |
US20150363782A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency transaction validation system |
US20160125533A1 (en) * | 2014-10-30 | 2016-05-05 | Gordian Innovative Technologies, Limited | System and method for simulating a live trading market |
US11200564B2 (en) * | 2015-03-31 | 2021-12-14 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
CN107683488B (en) * | 2015-04-05 | 2023-09-05 | 数字资产(瑞士)股份有限公司 | Digital asset intermediation electronic settlement platform |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
-
2018
- 2018-12-05 EP EP18864471.0A patent/EP3692486A4/en not_active Withdrawn
- 2018-12-05 WO PCT/US2018/064115 patent/WO2019071278A1/en active Application Filing
- 2018-12-05 EP EP18864655.8A patent/EP3692491A4/en not_active Withdrawn
- 2018-12-05 WO PCT/US2018/064111 patent/WO2019071277A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP3692491A4 (en) | 2021-05-05 |
EP3692486A4 (en) | 2021-05-05 |
WO2019071278A1 (en) | 2019-04-11 |
EP3692486A1 (en) | 2020-08-12 |
WO2019071277A1 (en) | 2019-04-11 |
WO2019071278A9 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11231977B2 (en) | Distributed processing in a messaging platform | |
CN106294486B (en) | Financial market data processing method and system | |
US11522976B1 (en) | Method, apparatus and system for subscription management | |
US20190325515A1 (en) | Filtered, Consolidated, Cryptocurrency Best Bid and Offer (FCCBBO) data feed and historical data server | |
JP5216779B2 (en) | Intelligent information distribution | |
US12008647B2 (en) | System and method for displaying trade information for electronic trading exchange | |
US20240161192A1 (en) | Distribution of Market Data Based on Price Level Transitions | |
US20210029057A1 (en) | Event content delivery | |
EP2668756A1 (en) | Method and system for generating and providing data alerts | |
CN109194718A (en) | A kind of block chain network and its method for scheduling task | |
US20190028501A1 (en) | Anomaly detection on live data streams with extremely low latencies | |
US10636095B2 (en) | Method and apparatus for publishing market information | |
US8239417B2 (en) | System, method, and computer program product for accessing and manipulating remote datasets | |
EP3692491A1 (en) | Filtered, consolidated, cryptocurrency best bid and offer (fccbbo) data feed and historical data server | |
US20020077948A1 (en) | Contact server | |
CA2971483A1 (en) | Informational incentives for submitting maker orders | |
WO2016021019A1 (en) | Market-price processing system | |
US7523213B1 (en) | Efficient approach with the toleration of stale data to dynamically transform and unify data quality in client and server with continuous transaction flows | |
US20210400122A1 (en) | System for processing coherent data | |
WO2017024976A1 (en) | Display method and apparatus for real-time information | |
US11037243B2 (en) | Dynamic dissemination of information to network devices | |
US20210312550A1 (en) | System and method for low latency multi-market order book consolidation | |
US20240046343A1 (en) | Method, apparatus and system for auction of assets | |
CN116743558A (en) | Concurrent traffic monitoring method, device, terminal equipment and storage medium | |
US20150350304A1 (en) | Systems and methods for implementing a platform for processing streams of information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20200416 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20210408 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06Q 20/06 20120101AFI20210331BHEP Ipc: G06Q 40/04 20120101ALI20210331BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
18W | Application withdrawn |
Effective date: 20210720 |