加密货币数据存储引擎
项目描述
一个用于加密货币市场数据的存储引擎。您提供交易所、数据类型(交易、订单簿等)以及您感兴趣的交易对,Cryptostore将完成剩余的工作!
要求
Cryptostore目前需要安装Kafka或Redis。您选择的后端必须安装额外的依赖项(例如 pip install cryptostore[redis])。Redis需要Redis Streams,支持版本 >= 5.0。
运行Cryptostore
使用pip安装后,将在路径上放置一个可执行文件,因此您可以简单地运行 cryptostore 来启动收集器。它需要一个 config.yaml 文件。如果它不在当前工作目录中,您可以使用 --config 选项指定配置文件的路径。
在存储库根目录中提供了一个示例 config,其中包含内联文档。cryptostore会监视配置文件,因此您可以在文件中更改选项,而无需重新加载服务。这仅适用于对 exchanges 块内的数据进行的更改。其他更改将被忽略。
存储数据
存储到
与其他消费者一起运行
Cryptostore可以与其他交换数据(例如,消耗更新的交易引擎)的消费者一起运行。
对于Redis
在< span class="docutils literal">config.yaml中的Redis设置中禁用消息删除。其他消费者需要负责消息删除(如果需要),并确保在cryptostore有机会处理它们之前不要删除消息。
对于Kafka
只需为其他消费者提供一个不同的消费者组ID,以确保所有消费者都能接收到所有消息。Kafka的配置控制了主题中提交消息的删除(通常是通过时间或大小)。
通过中继
Cryptostore支持使用ZeroMQ转发实时数据。要启用,请在配置中使用< span class="docutils literal">pass_through选项。数据将实时发送(不受redis/kafka聚合的影响)。这可以与或没有数据聚合和存储一起使用。
在容器中运行
您可以在Docker容器中运行Cryptostore。已提供Dockerfile和docker-compose.yml。它使用config-docker.yaml中的配置,并配置为使用redis并将数据存储到Arctic/MongoDB中。端口映射到37017(而不是27017),因此从容器外部连接到Arctic时,请确保指定端口号。此外,应在docker-compose中配置一个卷,以便MongoDB数据在重启之间持久化。
计划中的功能
☐ 更多数据类型(例如,未平仓合约量)
☐ 支持Postgres
☐ 丢失数据检测和纠正(适用于支持历史数据的交易所,通常是交易数据)
☐ 将数据存储到MongoDB
☐ 在数据收集的同时支持启用并行计算和存储各种指标的功能(例如,可配置的OHLCV)
贡献
欢迎问题和PR。如果您想讨论正在进行中的开发,请加入Slack(使用#cryptostore通道)。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
cryptostore-0.4.0-py3.9.egg的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d8091f27a95e0ca7485da13f324afbfe0b7cfe33f461f704a995b95872247e5f |
|
MD5 | da9b22e01b356f7e910bc6ea4be26624 |
|
BLAKE2b-256 | 3d9e29b55fea295ca9e66eb23bd623f5935c6d97f8d292221de14e9e0612d20f |
cryptostore-0.4.0-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f39bfdea8bbaef12d95367739e94c85331dde01936578076c7be012e021ec8d2 |
|
MD5 | 722166185b12d38f4aafbc05ffe1b148 |
|
BLAKE2b-256 | 66b004909739a656d47c1324a859c9194451fa89a3cb9fada98298c78a5da8dd |