BitcoinExchangeFH - 加密货币交易所市场数据反馈处理器
BitcoinExchangeFH是一个纤细的应用程序,记录各种交易所的价格深度和交易。你可以快速设置它,并在几分钟内记录所有的交易所数据!
DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
交易所开发成品丨交易所系统开发(演示版)丨交易所APP源码设计
区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署
Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署
数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品
交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台
DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
用户可以
将市场数据流向目标应用程序(通过ZeroMQ)。
记录市场数据用于回溯测试和分析。
将市场数据记录到内存数据库中,其他应用程序可以快速访问它。
为交易使用而定制项目。
MySQL
Kdb+
支持的交易所
ccxt支持的所有交易所。目前支持130多个交易所。
cryptofeed支持以下交易所的Websocket feeds
Bitfinex
Coinbase
波罗尼克斯
双子座
HitBTC
淘宝网
淘宝网
克拉克恩
Binance
交易所
Huobi
OKCoin
OKEx
如果交易所不支持websocket API馈送,它将自动落入使用其REST API馈送。
支持的数据库/通道
RDMBS (例如 sqlite, MySQL, PostgreSQL)
ZeroMQ
Kdb+ (即将推出)
开始使用
pip 安装 bitcoinexchangefh
bitcoinexchangefh --configuration example/configuration.yaml
配置
该配置遵循YAML语法,包含两个部分
订阅
处理程序
认购
订阅部分指定了要订阅的交易所和工具。
第一个键是交易所名称,然后是交易所的详细信息。
工具
深度数(如果没有指定,默认为5)
比如说
subscription:
Binance:
instruments:
- XRP/BTC
- BCH/BTC
depth
Poloniex:
instruments:
- ETH/BTC
depth: 10
处理程序
在收到订单簿或交易更新后,每个处理程序被更新。例如,对于SQL数据库处理程序,它被更新为相应的SQl语句。
比如说。
handlers:
sql:
connection: "sqlite://"
SQL处理程序
可以定制以下设置
参数 描述
connection SQLAlchemy要求的数据库连接字符串
is_rotate 表示是否旋转记录表的布尔值。
rotate_frequency 格式与strftime和strptime相同的字符串。
ZeroMQ处理程序
Feed处理程序在ZeroMQ中充当一个发布者。要接收feed,请按照ZeroMQ的说明启动一个订阅者。
以下设置可以被定制
参数 描述
connection ZeroMQ中的连接格式。例如,"tcp:/127.0.0.1:3456"
例子
你可以先创建一个目录.data,然后运行命令
$ bitcoinexchangefh --configuration example/configuration.yaml
2020-08-07 23:33:32,110 INFO Loading runner
2020-08-07 23:33:32,110 INFO Creating handler sql
2020-08-07 23:33:32,205 INFO Loading handler SqlHandler
2020-08-07 23:33:32,710 INFO Loading exchange Binance
2020-08-07 23:33:34,062 INFO Loading exchange Bitmex
2020-08-07 23:33:40,203 INFO Start running the feed handler
2020-08-07 23:33:40,203 INFO Running handler sql
2020-08-07 23:33:40,210 INFO Running exchange Binance
2020-08-07 23:33:40,215 INFO Running SqlHandler
2020-08-07 23:33:40,219 INFO Running exchange Bitmex
2020-08-07 23:33:40,231 INFO Joining all the processes
2020-08-07 23:33:40,232 INFO Creating table binance_ethbtc_order
2020-08-07 23:33:40,263 INFO Created table binance_ethbtc_order
2020-08-07 23:33:40,265 INFO Creating table binance_xrpbtc_order
2020-08-07 23:33:40,294 INFO Created table binance_xrpbtc_order
2020-08-07 23:33:40,297 INFO Creating table bitmex_ethusd_order
2020-08-07 23:33:40,322 INFO Created table bitmex_ethusd_order
一段时间后,数据会流向文件.data/order_book.db。你可以终止这个过程,数据库包含以下表格。
$ python -c "import sqlite3; print(sqlite3.connect('.data/order_book.db').execute('SELECT name from sqlite_master where type= `table\').fetchall())"
[('binance_ethbtc_order',), ('binance_xrpbtc_order',), ('bitmex_ethusd_order',)]
询盘
你可以先看一下FAQ页面。对于更多的询问,你可以在问题中留言或给我发电子邮件。我将尽快给你回复。
兼容性
该应用程序与高于或等于python 3.0的版本兼容。
贡献
随时欢迎任何贡献。请分叉该项目,进行修改,并提交合并请求。)
如有任何问题和评论,请随时通过电子邮件与我联系(gavincyi at gmail)。
你的意见将是对项目的巨大贡献!
延续性
如果你对Python的性能不满意,你可以联系我,讨论将项目迁移到其他语言,例如C++。