国王小组:开发数字货币交易所搭建中所使用的数据处理程序

简介: 处理多个加密货币交易所的数据馈送,并将规范化和标准化的结果返回给客户注册的回调,如交易、账簿更新、股票更新等事件。尽可能利用网络套接字,但如果没有提供网络套接字,也可以通过REST端点轮询数据。

加密货币交易所数据处理程序

交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台

Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署
交易所系统开发(成熟及案例)丨交易所开发详情源码
交易所系统开发(海外版)丨交易所系统开发(多语言)丨交易所开发源码版
交易所源码丨交易所APP开发正式版丨交易所系统开发技术逻辑分析
数字货币交易所开发详情丨数字货币交易所系统开发(详细及逻辑)丨数字货币交易所源码
原生交易所开发详情丨原生交易所系统开发(成熟技术)丨原生交易所现成源码部署
交易所系统丨交易所系统开发(逻辑及功能)丨交易所开发源码交付
秒合约开发原理丨秒合约系统开发(详细规则)丨秒合约源码案例部署

处理多个加密货币交易所的数据馈送,并将规范化和标准化的结果返回给客户注册的回调,如交易、账簿更新、股票更新等事件。尽可能利用网络套接字,但如果没有提供网络套接字,也可以通过REST端点轮询数据。

支持的交易所
阿森德交易所
Bequant
Bitfinex
bitFlyer
Bithumb
证券交易所
Bittrex
Blockchain.com
币安
Binance
Binance Delivery
Binance Futures
Binance US
Bit.com
证券交易所
币安
币安
Crypto.com
三角洲
Deribit
dYdX
FMFW.io
EXX
门槛(Gate.io
双子座
HitBTC
Huobi
Huobi DM
Huobi Swap (Coin-M和USDT-M)
独立储备
洛克王国(Kraken)
Kraken期货
KuCoin
OKCoin
OKX
Phemex
证券交易所(Poloniex
淘宝网
涨停板
基本用法
创建一个FeedHandler对象并添加订阅。对于交易所支持的各种数据通道,你可以为数据事件提供回调,或者使用提供的后端(如下所述)来为你处理数据。启动Feed处理程序,你就完成了!
from cryptofeed import FeedHandler

not all imports shown for clarity

fh = FeedHandler()

ticker, trade, and book are user defined functions that

will be called when ticker, trade and book updates are received

ticker_cb = {TICKER: ticker}
trade_cb = {TRADES: trade}
gemini_cb = {TRADES: trade, L2_BOOK: book}

fh.add_feed(Coinbase(symbols=['BTC-USD'], channels=[TICKER], callbacks=ticker_cb))
fh.add_feed(Bitfinex(symbols=['BTC-USD'], channels=[TICKER], callbacks=ticker_cb))
fh.add_feed(Poloniex(symbols=['BTC-USDT'], channels=[TRADES], callbacks=trade_cb))
fh.add_feed(Gemini(symbols=['BTC-USD', 'ETH-USD'], channels=[TRADES, L2_BOOK], callbacks=gemini_cb))

fh.run()
更多的代码样本请看例子,更多的库使用信息请看文档。

关于使用cryptofeed向后端存储数据的容器化应用程序的例子,请参见Cryptostore。

全国最佳买入/卖出(NBBO)
Cryptofeed还提供了一个合成的NBBO(全国最佳买入/卖出)feed,它聚集了来自用户指定feed的最佳买入和卖出。

from cryptofeed import FeedHandler
从cryptofeed.Exchange导入Coinbase, Gemini, Kraken

def nbbo_update(symbol, bid, bid_size, ask, ask_size, bid_feed, ask_feed):

print(f'Pair:符号:{symbol}买入价:{bid:.2f}。出价大小:{bid_size:.6f}。买入价。{bid_feed}要价:{要价:.2f}问价大小: {ask_size:.6f}问价反馈。{ask_feed}')

def main():

f = FeedHandler()
f.add_nbbo([Coinbase, Kraken, Gemini], ['BTC-USD'], nbbo_update)
f.运行()

支持的渠道
Cryptofeed支持以下交易所的渠道。

市场数据通道(公开)
L1_BOOK - 书的顶部
L2_BOOK - 价格汇总的大小。有些交易所提供整个深度,有些提供一个子集。
L3_BOOK - 价格聚集的订单。与L2书一样,有些交易所可能只提供部分深度。
TRADES - 注意这里报告的是买方的情况,即使是报告制造商的交易所也是如此。
票据
资金
OPEN_INTEREST - 持仓数据。
清算
指数
CANDLES - 烛台/K线数据。
认证的数据渠道
ORDER_INFO - 订单状态更新
TRANSACTIONS - 账户存款和取款的实时更新
BALANCES - 钱包资金的更新
FILLS - 用户的已执行交易
后台
Cryptofeed支持后端回调,将直接写到存储或其他接口。

支持的后端。

Redis (流和分类集)
北极
零度空间(ZeroMQ
UDP套接字
TCP套接字
Unix域套接字
InfluxDB v2
蒙特哥尔数据库
呼叫中心
兔斯基(RabbitMQ)
PostgreSQL
GCP Pub/Sub
追求数据库(QuestDB)
安装
注意:cryptofeed需要Python 3.8以上版本。

Cryptofeed可以从PyPi安装。(建议你在你选择的虚拟环境中安装)。

pip install cryptofeed
Cryptofeed有一些可选的依赖项,这取决于所使用的后端。你可以单独安装它们,也可以一次全部安装。要将Cryptofeed和它的所有可选依赖项捆绑在一起安装。

pip install cryptofeed[all]。
如果你想克隆版本库并从源代码安装,从克隆版本库的根部运行此命令。

python setup.py install
另外,你也可以在 "编辑 "模式(也叫开发模式)下安装。

python setup.py develop
参见INSTALL.md中关于软件包安装的更多讨论。

其他API
Cryptofeed支持一些REST接口来检索实时和历史数据,以及下单和账户管理。这些都是直接集成到交易所的类中。你可以通过调用任何交易所的info()方法来查看支持的方法。与交易所RET端点交互的方法有两种,同步方法(后缀为_sync)和异步方法,可以用asyncio来使用。更多信息请参见文档。

未来的工作
有很多计划中的功能,新的交流等计划!如果你想讨论正在进行的工作,请联系我们。如果你想讨论正在进行的开发,请加入slack或在GitHub的讨论中开一个线程。

贡献
我们欢迎问题和PR!

如果没有许多贡献者的帮助,Cryptofeed是不可能实现的!我应该感谢他们和所有其他贡献者!

捐赠/支持
我们非常感谢您的支持和捐赠,但不是必须的。你可以通过GitHub赞助商,或通过以下地址进行捐赠。

Bitcoin: bc1qm0kxz8hqacaglku5fjhfe9a5hjnuyfwk02lsyr
Ethereum: 0x690709FEe13eEce9E7852089BB2D53Ae5D073154

相关文章
|
数据采集 数据挖掘
量化交易/币币交易所系统开发项目案例,币币交易所/量化交易系统开发(稳定版)及方案逻辑/源码平台
  “量化交易”有两层含义:一是狭义的,指量化交易的内容,将交易条件转化为程序,自动下单;第二,广义上是指系统交易方式,是一个综合的交易系统。
|
消息中间件 前端开发 算法
交易所开发系统如何采用分布式架构(国王小组)
交易所开发系统如何采用分布式架构(国王小组)
交易所开发系统如何采用分布式架构(国王小组)
|
JavaScript 前端开发 算法
国王小组:开发数字货币交易所使用到的交易库
交易所开发成品丨交易所系统开发(演示版)丨交易所APP源码设计 区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署 Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署 数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品 交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台 DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案) DAPP数字货币交易所开发逻辑,DAPP数字货币交易所系统开发(案例及源码)
|
消息中间件 NoSQL 网络协议
国王小组:搭建交易所开发需要的服务器架构
区块链交易所开发详细、区块链交易所系统开发(开发方案)、区块链交易所源码案例部署 数字货币交易所开发详情版、数字货币交易所系统开发(web3.0技术开发)、数字货币交易所开发源码成品交易所服务器是一个具有高速性能的交易后台,专为加密货币交易所设计。它可以支持每秒10000次的交易,并通过websocket实时通知用户/市场数据。
国王小组:搭建交易所开发需要的服务器架构
|
机器人 区块链 Windows
国王小组:开发数字货币交易所搭建声波高级机器人如何运行
秒合约交易所系统开发实现技术分析及代码部署 秒合约交易所开发详细丨秒合约交易所系统开发详细及规则丨秒合约交易所系统源码部署 数字货币交易所开发源码丨数字货币交易所系统开发(详细及逻辑) 交易所开发正式版丨区块链交易所系统开发实现技术功能及源码 交易所开发案例丨交易所系统开发(详细及流程)丨交易所成熟及源码系统 交易所开发(稳定版)丨交易所系统开发(方案及逻辑)丨 交易所系统源码功能 什么是去中心化交易所系统开发丨浅谈uniswap丨justswap 交易所源码(整体架构演示) 交易所搭建,交易所源码是怎么开发的? 区块链交易所怎么搭建?
国王小组:开发数字货币交易所搭建声波高级机器人如何运行
|
XML 区块链 数据格式
国王小组:开发数字货币交易所搭建的交易所分析器
数字货币交易所开发现成源码案例 数字货币交易所交易系统开发解决方案 数字货币交易所开发解决方案,数字交易系统搭建 交易所开发源码,数字货币永续合约交易平台搭建 数字货币交易平台开发_数字货币交易所系统搭建
国王小组:开发数字货币交易所搭建的交易所分析器
|
消息中间件 JavaScript Java
国王小组:交易所搭建|如何解决事件驱动架构
介绍 还是先举例子,在平常的生活中事件驱动架构也是比较常见的。一般情况下的人与人之间的沟通都是以一个人说一个人听的关系进行,并同时可以交换听者与说着。伴随着听者听到说者所表述的内容后,做出的心理,行为上的反应就是事件在接受者中的处理过程。
国王小组:交易所搭建|如何解决事件驱动架构
|
消息中间件 SQL 网络协议
国王小组:开发数字货币交易所源码搭建数据反馈处理器如何设置
DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案) 交易所开发成品丨交易所系统开发(演示版)丨交易所APP源码设计 区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署 Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署 数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品 交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台 DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
国王小组:开发数字货币交易所源码搭建数据反馈处理器如何设置
|
运维 监控 安全
秒合约交易所系统开发搭建,需要注意以下几点(国王小组)
秒合约交易所系统开发搭建,需要注意以下几点(国王小组)
|
监控 安全
交易所系统开发搭建,如何制定风险管理功能(国王小组)
交易所系统开发搭建,如何制定风险管理功能(国王小组)