探索高效数据服务:Qlib-Server 开源项目推荐

探索高效数据服务:Qlib-Server 开源项目推荐

qlib-serverQlib-Server is the data server system for Qlib. It enable Qlib to run in online mode. Under online mode, the data will be deployed as a shared data service. The data and their cache will be shared by all the clients. The data retrieval performance is expected to be improved due to a higher rate of cache hits. It will consume less disk space, too.项目地址:https://gitcode.com/gh_mirrors/ql/qlib-server

在数据驱动的时代,高效的数据管理和服务是每个技术团队的追求。今天,我们要介绍的是一个强大的开源项目——Qlib-Server,它是微软开源的金融量化平台Qlib的数据服务器系统。本文将从项目介绍、技术分析、应用场景和项目特点四个方面,为您全面解析Qlib-Server的魅力。

项目介绍

Qlib-Server 是专为 Qlib 设计的数据服务器系统,它使得Qlib能够在在线模式下运行。在这种模式下,数据将被部署为共享数据服务,数据及其缓存将由所有客户端共享,从而提高数据检索性能并减少磁盘空间消耗。

项目技术分析

Qlib-Server 采用 Client/Server 框架,基于 WebSocket 实现客户端与服务器之间的双向异步通信。服务器端基于 Flask 微框架,并使用 Flask-SocketIO 处理 WebSocket 连接。这种设计不仅保证了通信的高效性,还使得系统架构清晰、易于扩展。

项目及技术应用场景

Qlib-Server 适用于需要高效数据共享和管理的场景,特别是在金融量化分析、大数据处理等领域。它能够帮助团队集中管理数据,简化缓存管理,并利用远程服务器的强大计算资源,使得客户端更加轻量级。

项目特点

  1. 集中式数据管理:简化数据和缓存管理,便于数据更新和维护。
  2. 减少缓存生成:通过共享缓存,减少重复数据存储,节省磁盘空间。
  3. 轻量级客户端:客户端无需大量本地资源,依赖远程服务器的高性能计算。
  4. 一键部署:支持通过 docker-composeAzure 实现一键部署,简化运维工作。

快速开始

部署

Qlib-Server 提供了两种一键部署方式:

  • 使用 docker-compose 部署

    git clone https://github.com/microsoft/qlib-server
    cd qlib-server
    sudo docker-compose -f docker_support/docker-compose.yaml --env-file docker_support/docker-compose.env build
    sudo docker-compose -f docker_support/docker-compose.yaml --env-file docker_support/docker-compose.env up -d
    sudo docker-compose -f docker_support/docker-compose.yaml --env-file docker_support/docker-compose.env logs -f
    
  • Azure 上部署

    git clone https://github.com/microsoft/qlib-server
    cd qlib-server/scripts
    python azure_manager.py create_qlib_cs_vm \
        --qlib_server_name test_server01 \
        --qlib_client_names test_client01 \
        --admin_username test_user \
        --ssh_key_value ~/.ssh/id_rsa.pub \
        --size standard_NV6_Promo\
        --conf_path azure_conf.yaml
    

在线模式使用

Qlib 中启用在线模式,只需初始化配置如下:

import qlib
ONLINE_CONFIG = {
    "calendar_provider": {"class": "LocalCalendarProvider", "kwargs": {"remote": True}},
    "instrument_provider": "ClientInstrumentProvider",
    "feature_provider": {"class": "LocalFeatureProvider", "kwargs": {"remote": True}},
    "expression_provider": "LocalExpressionProvider",
    "dataset_provider": "ClientDatasetProvider",
    "provider": "ClientProvider",
    "provider_uri": "127.0.0.1:/",
    "expression_cache": None,
    "dataset_cache": None,
    "calendar_cache": None,
    "mount_path": "/data/stock_data/qlib_data",
    "auto_mount": True,
    "flask_server": "127.0.0.1",
    "flask_port": 9710,
    "region": "cn",
}

qlib.init(**client_config)
ins = D.list_instruments(D.instruments("all

qlib-serverQlib-Server is the data server system for Qlib. It enable Qlib to run in online mode. Under online mode, the data will be deployed as a shared data service. The data and their cache will be shared by all the clients. The data retrieval performance is expected to be improved due to a higher rate of cache hits. It will consume less disk space, too.项目地址:https://gitcode.com/gh_mirrors/ql/qlib-server

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆灏璞Renata

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值