小众AI

qlib
qlib - 微软开源的量化平台
Qlib 是一个开源的、面向 AI 的量化投资平台,旨在利用 AI 技术在量化投资中发挥潜力、赋能研究、创造价值,从探索想法到实施产品。Qlib 支持多种机器学习建模范式,包括监督学习、市场动态建模和强化学习。
  官网   代码仓

Qlib 是一个开源的、面向 AI 的量化投资平台,旨在利用 AI 技术在量化投资中发挥潜力、赋能研究、创造价值,从探索想法到实施产品。Qlib 支持多种机器学习建模范式,包括监督学习、市场动态建模和强化学习。

Qlib 中发布了越来越多不同范式的 SOTA Quant 研究著作/论文,以共同解决量化投资中的关键挑战。例如,

1) 使用监督学习从丰富的异构金融数据中挖掘市场复杂的非线性模式,

2) 使用自适应概念漂移技术对金融市场的动态性质进行建模,

3) 使用强化学习对持续投资决策进行建模,并帮助投资者优化他们的交易策略。

它包含数据处理、模型训练、回溯测试的完整 ML 管道;并涵盖量化投资的整个链条:Alpha Seeking、Risk Modeling、Portfolio Optimization 和 Order Execution。

安装

下表演示了支持的 Python 版本:Qlib

使用 pip 安装 从源码安装 情节
Python 3.8 版 ✔️ ✔️ ✔️
Python 3.9 版本 ✔️ ✔️ ✔️
Python 3.10 版 ✔️ ✔️ ✔️
Python 3.11 版 ✔️ ✔️ ✔️
Python 3.12 版 ✔️ ✔️ ✔️

注意

  1. 建议使用 Conda 来管理 Python 环境。在某些情况下,在环境之外使用 Python 可能会导致头文件丢失,从而导致某些包安装失败。conda
  2. 请注意,从 source 安装时,在 Python 3.6 中安装 cython 会引发一些错误。如果用户在其计算机上使用 Python 3.6,建议将 Python 升级到版本 3.8 或更高版本,或使用 的 Python 从源代码安装。QlibcondaQlib

使用 pip 安装

用户可以根据以下命令通过 pip 轻松安装。Qlib

  pip install pyqlib

注意:pip 将安装最新的稳定 qlib。但是,qlib 的主分支正在积极开发中。如果要在 main 分支中测试最新的脚本或函数。请使用以下方法安装 qlib。

从源码安装

此外,用户还可以按照以下步骤通过源码安装最新的开发版本:Qlib

  • 在从源码安装之前,用户需要安装一些依赖:Qlib

    pip install numpy
    pip install --upgrade cython
    
  • 克隆存储库并按如下方式安装。Qlib

    git clone https://github.com/microsoft/qlib.git && cd qlib
    pip install .  # `pip install -e .[dev]` is recommended for development. check details in docs/developer/code_standard_and_dev_guide.rst
    

提示:如果您无法在环境中安装或运行示例,则比较您的步骤和 CI 工作流程可能有助于您找到问题。Qlib

适用于 Mac 的提示:如果您将 Mac 与 M1 一起使用,则在为 LightGBM 构建轮子时可能会遇到问题,这是由于缺少 OpenMP 的依赖项。要解决此问题,请先安装 openmp,然后运行 以成功构建它。brew install libomppip install .

数据准备

❗ 由于更限制数据安全策略。官方数据集暂时关闭。您可以尝试社区提供的此数据源。 以下是下载最新数据的示例。

wget https://github.com/chenditc/investment_data/releases/latest/download/qlib_bin.tar.gz
mkdir -p ~/.qlib/qlib_data/cn_data
tar -zxvf qlib_bin.tar.gz -C ~/.qlib/qlib_data/cn_data --strip-components=1
rm -f qlib_bin.tar.gz

下面的官方数据集将在不久的将来恢复。


通过运行以下代码加载和准备数据:

使用模块 Get

# get 1d data
python -m qlib.run.get_data qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn

# get 1min data
python -m qlib.run.get_data qlib_data --target_dir ~/.qlib/qlib_data/cn_data_1min --region cn --interval 1min

从源获取

# get 1d data
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn

# get 1min data
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data_1min --region cn --interval 1min

此数据集由爬网程序脚本收集的公共数据创建,这些数据已在 相同的存储库。 用户可以使用它创建相同的数据集。数据集描述

请注意,数据是从雅虎财经收集的,数据可能并不完美。 如果用户拥有高质量的数据集,我们建议他们准备自己的数据。有关更多信息,用户可以参考相关文档

Docker 镜像1. 从 Docker Hub 存储库中提取 Docker 镜像

   docker pull pyqlib/qlib_image_stable:stable
  1. 启动新的 Docker 容器

    docker run -it --name <container name> -v <Mounted local directory>:/app qlib_image_stable
    
  2. 此时,您位于 docker 环境中,可以运行 qlib 脚本。一个例子:

    >>> python scripts/get_data.py qlib_data --name qlib_data_simple --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
    >>> python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
    
  3. 退出容器

    >>> exit
    
  4. 重启容器

    docker start -i -a <container name>
    
  5. 停止容器

    docker stop <container name>
    
  6. 删除容器

    docker rm <container name>
    

更多...


wdoc
一个功能强大的 RAG(检索增强生成)系统,旨在汇总、搜索和查询各种文件类型的文档。
ai-financial-agent
探索人工智能在投资研究中的应用。
Meetily
一个 AI 驱动的会议助手,可捕获实时会议音频、实时转录并生成摘要,同时确保用户隐私。