Qlib上手学习记录

Qlib 是一个面向人工智能的量化投资平台,其目标是通过在量化投资中运用AI技术来发掘潜力、赋能研究并创造价值,从探索投资策略到实现产品化部署。该平台支持多种机器学习建模范式,包括有监督学习、市场动态建模以及强化学习等。

真的是走了很多弯路

step 1.  使用 ananconda 建立环境,要主要必须是 python 3.8

(a308) E:\hw2024\stock>python --version
Python 3.8.20

失败的

git clone https://github.com/microsoft/qlib.git

下了以后 进入 glib folder 后

执行

 pip install .

是会报错的,不管你还什么source 都一样,整了很久

PS D:\ProgramData\git\qlib> pip install .
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing d:\programdata\git\qlib
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLZeroReturnError(6, 'TLS/SSL connection has been closed (EOF) (_ssl.c:1149)'))': /simple/setuptools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLZeroReturnError(6, 'TLS/SSL connection has been closed (EOF) (_ssl.c:1149)'))': /simple/setuptools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLZeroReturnError(6, 'TLS/SSL connection has been closed (EOF) (_ssl.c:1149)'))': /simple/setuptools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLZeroReturnError(6, 'TLS/SSL connection has been closed (EOF) (_ssl.c:1149)'))': /simple/setuptools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLZeroReturnError(6, 'TLS/SSL connection has been closed (EOF) (_ssl.c:1149)'))': /simple/setuptools/
      Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/setuptools/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/setuptools/ (Caused by SSLError(SSLZeroReturnError(6, 'TLS/SSL connection has been closed (EOF) (_ssl.c:1149)'))) - skipping
      ERROR: Could not find a version that satisfies the requirement setuptools (from versions: none)
      ERROR: No matching distribution found for setuptools
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
PS D:\ProgramData\git\qlib> pip install. -i https://pypi.org/simple/
ERROR: unknown command "install." - maybe you meant "install"
PS D:\ProgramData\git\qlib> pip install . -i https://pypi.org/simple/
Looking in indexes: https://pypi.org/simple/

使用前最好看下这个

021 年之前发布的功能未在此列出。

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

越来越多的 SOTA 量化研究工作/论文在 Qlib 中发布,以协作解决量化投资中的关键挑战。例如,1) 使用监督学习从丰富和异构的金融数据中挖掘市场的复杂非线性模式,2) 使用自适应概念漂移技术建模金融市场的动态特性,3) 使用强化学习建模连续投资决策并协助投资者优化其交易策略。

它包含了完整的机器学习流程,包括数据处理、模型训练、回测;并涵盖了量化投资的整个链条:阿尔法挖掘、风险建模、投资组合优化和订单执行。更多详情,请参阅我们的论文 "Qlib: 一个面向 AI 的量化投资平台"

框架、教程、数据与 DevOps量化研究中的主要挑战与解决方案
计划量化研究中的主要挑战与解决方案
Qlib 框架预测:寻找有价值的信号/模式
快速开始适应市场动态
安装强化学习:建模连续决策
数据准备量化模型(论文)库
自动量化研究工作流程运行单个模型
通过代码构建定制量化研究工作流程运行多个模型
量化数据集库
学习框架
更多关于 Qlib
离线模式与在线模式
Qlib 数据服务器的性能
相关报告
联系我们
贡献

计划

正在开发中的新功能(按预计发布时间排序)。 您的反馈对这些功能非常重要。

Qlib 框架

Qlib 的高级框架如上所示(用户可以在深入了解时找到 Qlib 设计的详细框架)。 这些组件被设计为松耦合模块,每个组件都可以独立使用。

Qlib 提供了强大的基础设施来支持量化研究。数据始终是一个重要部分。 设计了一个强大的学习框架来支持多样化的学习范式(例如强化学习监督学习)和不同层次的模式(例如市场动态建模)。 通过建模市场,交易策略将生成交易决策并执行。不同层次或粒度的多个交易策略和执行器可以嵌套在一起进行优化和运行。 最后,将提供全面的分析,模型可以在低成本下在线服务

快速开始

本快速开始指南试图展示

  1. 使用 Qlib 构建完整的量化研究工作流程并尝试您的想法非常容易。
  2. 尽管使用公共数据简单模型,机器学习技术在实际量化投资中表现非常出色

以下是一个快速**演示**,展示了如何安装 Qlib 并使用 qrun 运行 LightGBM。但是,请确保您已按照说明准备好数据。

安装

此表展示了 Qlib 支持的 Python 版本:

使用 pip 安装从源码安装绘图
Python 3.7✔️✔️✔️
Python 3.8✔️✔️✔️
Python 3.9✔️

注意:

  1. Conda 建议用于管理您的 Python 环境。在某些情况下,在 conda 环境之外使用 Python 可能会导致缺少头文件,从而导致某些包的安装失败。
  2. 请注意,在 Python 3.6 中安装 cython 时,从源码安装 Qlib 会引发一些错误。如果用户在机器上使用 Python 3.6,建议升级 Python 到 3.7 版本或使用 conda 的 Python 从源码安装 Qlib
  3. 对于 Python 3.9,Qlib 支持运行训练模型、回测和绘制大部分相关图表(包括 notebook 中的图表)。然而,目前不支持绘制模型性能图表,我们将在未来依赖包升级时修复此问题。
  4. Qlib 需要 tables 包,tables 中的 hdf5 不支持 python3.9。

使用 pip 安装

用户可以轻松地通过以下命令使用 pip 安装 Qlib

  pip install pyqlib

注意:pip 将安装最新的稳定版 qlib。然而,qlib 的主分支目前正在积极开发中。如果您想测试主分支中的最新脚本或功能,请使用以下方法安装 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]`。详细内容请查阅文档 docs/developer/code_standard_and_dev_guide.rst
    

    注意:您也可以使用 python setup.py install 来安装 Qlib。但这不是推荐的方法。它将跳过 pip 并可能导致不明显的问题。例如,只有使用命令 pip install . 可以覆盖通过 pip install pyqlib 安装的稳定版,而使用命令 python setup.py install 不能

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

Mac 用户提示:如果您使用的是配备 M1 芯片的 Mac,构建 LightGBM 的 wheel 包时可能会遇到问题,这是因为缺少来自 OpenMP 的依赖项。要解决这个问题,首先使用 brew install libomp 安装 op.enmp,然后运行 pip install . 进行构建。

pip install numpy
pip install --upgrade cython  

==》 要改成 conda install cython

最后,不要使用魔法

pip install pyqlib

安装起来了,装的依赖真心不少

(a308) E:\hw2024\stock>pip install pyqlib
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: pyqlib in d:\programdata\envs\a308\lib\site-packages\pyqlib-0.9.5.99-py3.8-win-amd64.egg (0.9.5.99)
Collecting numpy<1.24,>=1.12.0 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4c/42/6274f92514fbefcb1caa66d56d82ac7ac89f7652c0cef1e159a4b79e09f1/numpy-1.23.5-cp38-cp38-win_amd64.whl (14.7 MB)
     ---------------------------------------- 14.7/14.7 MB 17.1 MB/s eta 0:00:00
Requirement already satisfied: pandas>=0.25.1 in d:\programdata\envs\a308\lib\site-packages (from pyqlib) (2.0.3)
Collecting scipy>=1.7.3 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl (42.2 MB)
     ---------------------------------------- 42.2/42.2 MB 19.3 MB/s eta 0:00:00
Collecting scs<=3.2.4 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6a/9f/d18c7f5ef2764c7ea10cf0077b6a953fc56afade1bb641571916143255dd/scs-3.2.4-cp38-cp38-win_amd64.whl (8.4 MB)
     ---------------------------------------- 8.4/8.4 MB 15.8 MB/s eta 0:00:00
Requirement already satisfied: requests>=2.18.0 in d:\programdata\envs\a308\lib\site-packages (from pyqlib) (2.32.3)
Collecting sacred>=0.7.4 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/01/d9/67a53f465395e0be45ac8f780938e0a551d82d4b864e5a9394ab66168432/sacred-0.8.7-py2.py3-none-any.whl (108 kB)
Collecting python-socketio (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7e/9a/52b94c8c9516e07844d3da3d0da3e68649f172aeeace8d7a1becca9e6111/python_socketio-5.11.4-py3-none-any.whl (76 kB)
Collecting redis>=3.0.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl (261 kB)
Collecting python-redis-lock>=3.3.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/09/70/c5dfaec2085d9be10792704f108543ba1802e228bf040632c673066d8e78/python_redis_lock-4.0.0-py3-none-any.whl (12 kB)
Collecting schedule>=0.6.0 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/20/a7/84c96b61fd13205f2cafbe263cdb2745965974bdf3e0078f121dfeca5f02/schedule-1.2.2-py3-none-any.whl (12 kB)
Collecting cvxpy>=1.0.21 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a1/68/44958a503a7882f032a55006eee8da037018cd0d755b6a1618c78ff757f1/cvxpy-1.5.2-cp38-cp38-win_amd64.whl (1.1 MB)
     ---------------------------------------- 1.1/1.1 MB 2.5 MB/s eta 0:00:00
Collecting hyperopt==0.1.2 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/63/12/704382c3081df3ae3f9d96fe6afb62efa2fa9749be20c301cd2797fb0b52/hyperopt-0.1.2-py3-none-any.whl (115 kB)
Collecting fire>=0.3.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6b/b6/82c7e601d6d3c3278c40b7bd35e17e82aa227f050aa9f66cb7b7fce29471/fire-0.7.0.tar.gz (87 kB)
  Preparing metadata (setup.py) ... done
Collecting statsmodels (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/15/93/62c79bb548988201078242d903de47666a08167de8e4beceb32157d75d5f/statsmodels-0.14.1-cp38-cp38-win_amd64.whl (10.0 MB)
     ---------------------------------------- 10.0/10.0 MB 9.3 MB/s eta 0:00:00
Collecting xlrd>=1.0.0 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a6/0c/c2a72d51fe56e08a08acc85d13013558a2d793028ae7385448a6ccdfae64/xlrd-2.0.1-py2.py3-none-any.whl (96 kB)
Collecting plotly>=4.12.0 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl (19.1 MB)
     ---------------------------------------- 19.1/19.1 MB 18.2 MB/s eta 0:00:00
Collecting matplotlib>=3.3 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl (7.5 MB)
     ---------------------------------------- 7.5/7.5 MB 11.0 MB/s eta 0:00:00
Collecting tables>=3.6.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6a/44/4c397ecf3140bef6fb1a4e0397130c50d0bf94282033f1209b0259656679/tables-3.8.0-cp38-cp38-win_amd64.whl (3.6 MB)
     ---------------------------------------- 3.6/3.6 MB 8.5 MB/s eta 0:00:00
Collecting pyyaml>=5.3.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl (162 kB)
Collecting mlflow<=1.30.0,>=1.12.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/33/fe/c2c9b72585609344e70606b23c642c8f069997cc63aee55f746527ecd053/mlflow-1.30.0-py3-none-any.whl (17.0 MB)
     ---------------------------------------- 17.0/17.0 MB 14.9 MB/s eta 0:00:00
Collecting packaging<22 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl (40 kB)
Collecting tqdm (from pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl (78 kB)
Collecting loguru (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl (61 kB)
Collecting lightgbm>=3.3.0 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d9/28/3be76b591a2e14a031b681b8283acf1dec2ad521f6f1701b7957df68c466/lightgbm-4.5.0-py3-none-win_amd64.whl (1.4 MB)
     ---------------------------------------- 1.4/1.4 MB 2.7 MB/s eta 0:00:00
Collecting tornado (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl (438 kB)
Collecting joblib>=0.17.0 (from pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl (301 kB)
Collecting ruamel.yaml<=0.17.36 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c3/06/20feed488ef1551074657d334cafd8aa094f7f1a6ae9d70df13c76bf5491/ruamel.yaml-0.17.36-py3-none-any.whl (106 kB)
Collecting pymongo==3.7.2 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0f/3a/b90cfa7e27fa92244925826538fa2cf80fed3cbd20a413fd0c1b9705d820/pymongo-3.7.2.tar.gz (628 kB)
     ---------------------------------------- 628.6/628.6 kB 11.8 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting scikit-learn>=0.22 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/52/2d/ad6928a578c78bb0e44e34a5a922818b14c56716b81d145924f1f291416f/scikit_learn-1.3.2-cp38-cp38-win_amd64.whl (9.3 MB)
     ---------------------------------------- 9.3/9.3 MB 14.8 MB/s eta 0:00:00
Requirement already satisfied: dill in d:\programdata\envs\a308\lib\site-packages\dill-0.3.9-py3.8.egg (from pyqlib) (0.3.9)
Requirement already satisfied: filelock in d:\programdata\envs\a308\lib\site-packages (from pyqlib) (3.16.1)
Requirement already satisfied: jinja2 in d:\programdata\envs\a308\lib\site-packages (from pyqlib) (3.1.4)
Requirement already satisfied: gym in d:\programdata\envs\a308\lib\site-packages\gym-0.26.2-py3.8.egg (from pyqlib) (0.26.2)
Requirement already satisfied: cryptography in d:\programdata\envs\a308\lib\site-packages\cryptography-44.0.0-py3.8-win-amd64.egg (from pyqlib) (44.0.0)
Requirement already satisfied: protobuf<=3.20.1 in d:\programdata\envs\a308\lib\site-packages\protobuf-3.20.1-py3.8.egg (from pyqlib) (3.20.1)
Requirement already satisfied: six in d:\programdata\envs\a308\lib\site-packages (from hyperopt==0.1.2->pyqlib) (1.17.0)
Requirement already satisfied: networkx in d:\programdata\envs\a308\lib\site-packages (from hyperopt==0.1.2->pyqlib) (3.1)
Collecting future (from hyperopt==0.1.2->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl (491 kB)
Collecting osqp>=0.6.2 (from cvxpy>=1.0.21->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/64/5a/d860cb1679cd97a38d9227be9247853568b76b32751b83052899eaede73a/osqp-0.6.7.post3-cp38-cp38-win_amd64.whl (292 kB)
Collecting ecos>=2 (from cvxpy>=1.0.21->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a2/5e/8c5f561ae51f7faf1d2cb91299d4802a7b436a871408a72185dd53cc66da/ecos-2.0.14-cp38-cp38-win_amd64.whl (72 kB)
Collecting clarabel>=0.5.0 (from cvxpy>=1.0.21->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/36/be/110fe7ca190e024e3185d6351645346b785da6933ce3fb382d4811215f8c/clarabel-0.9.0-cp37-abi3-win_amd64.whl (736 kB)
     ---------------------------------------- 736.4/736.4 kB 1.1 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of cvxpy to determine which version is compatible with other requirements. This could take a while.
Collecting cvxpy>=1.0.21 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7b/e3/cbaa9acfca9f390f31490ff695e65a79527bb66827d5e89ccc366b9bc992/cvxpy-1.5.1-cp38-cp38-win_amd64.whl (1.1 MB)
     ---------------------------------------- 1.1/1.1 MB 1.8 MB/s eta 0:00:00
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d8/60/f8394e67325320a56f7061caaecf1742f237f53be08f2fba4b001cb168a9/cvxpy-1.5.0-cp38-cp38-win_amd64.whl (1.1 MB)
     ---------------------------------------- 1.1/1.1 MB 1.9 MB/s eta 0:00:00
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a9/19/9e00a33099ac29f744a3d35905fea56c9e05950ffdbbd762062b02e8bb2e/cvxpy-1.4.4-cp38-cp38-win_amd64.whl (1.0 MB)
     ---------------------------------------- 1.0/1.0 MB 1.9 MB/s eta 0:00:00
Collecting pybind11 (from cvxpy>=1.0.21->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/2f/0f24b288e2ce56f51c920137620b4434a38fd80583dbbe24fc2a1656c388/pybind11-2.13.6-py3-none-any.whl (243 kB)
Collecting termcolor (from fire>=0.3.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d9/5f/8c716e47b3a50cbd7c146f45881e11d9414def768b7cd9c5e6650ec2a80a/termcolor-2.4.0-py3-none-any.whl (7.7 kB)
Collecting contourpy>=1.0.1 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl (477 kB)
Collecting cycler>=0.10 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl (8.3 kB)
Collecting fonttools>=4.22.0 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/81/94/e72ddf2c7c76cc05c82cfffb59eb4d917b531ba47a13499ce16fe2ffeb3b/fonttools-4.55.2-cp38-cp38-win_amd64.whl (1.5 MB)
     ---------------------------------------- 1.5/1.5 MB 4.8 MB/s eta 0:00:00
Collecting kiwisolver>=1.0.1 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl (55 kB)
Collecting pillow>=6.2.0 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl (2.6 MB)
     ---------------------------------------- 2.6/2.6 MB 9.8 MB/s eta 0:00:00
Collecting pyparsing>=2.3.1 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl (104 kB)
Requirement already satisfied: python-dateutil>=2.7 in d:\programdata\envs\a308\lib\site-packages (from matplotlib>=3.3->pyqlib) (2.9.0.post0)
Collecting importlib-resources>=3.2.0 (from matplotlib>=3.3->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl (36 kB)
Collecting click<9,>=7.0 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl (97 kB)
Collecting cloudpickle<3 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl (25 kB)
Collecting databricks-cli<1,>=0.8.7 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ae/a3/d56f8382c40899301f327d1c881278b09c9b8bc301c2c111633a0346d06e/databricks_cli-0.18.0-py2.py3-none-any.whl (150 kB)
Collecting entrypoints<1 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl (5.3 kB)
Collecting gitpython<4,>=2.1.0 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl (207 kB)
Collecting pytz<2023 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2e/09/fbd3c46dce130958ee8e0090f910f1fe39e502cc5ba0aadca1e8a2b932e5/pytz-2022.7.1-py2.py3-none-any.whl (499 kB)
Collecting importlib-metadata!=4.7.0,<6,>=3.7.0 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/35/07/fd0145f9e57356098fe15415dbb9616fd628373ecf88faab9aae0c988d2c/importlib_metadata-5.2.0-py3-none-any.whl (21 kB)
Collecting sqlparse<1,>=0.4.0 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7a/13/5f6654c9d915077fae255686ca6fa42095b62b7337e3e1aa9e82caa6f43a/sqlparse-0.5.2-py3-none-any.whl (44 kB)
Collecting alembic<2 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cb/06/8b505aea3d77021b18dcbd8133aa1418f1a1e37e432a465b14c46b2c0eaa/alembic-1.14.0-py3-none-any.whl (233 kB)
Collecting docker<7,>=4.0.0 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/db/be/3032490fa33b36ddc8c4b1da3252c6f974e7133f1a50de00c6b85cca203a/docker-6.1.3-py3-none-any.whl (148 kB)
Collecting Flask<3 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fd/56/26f0be8adc2b4257df20c1c4260ddd0aa396cf8e75d90ab2f7ff99bc34f9/flask-2.3.3-py3-none-any.whl (96 kB)
Collecting pandas>=0.25.1 (from pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ca/4e/d18db7d5ff9d28264cd2a7e2499b8701108f0e6c698e382cfd5d20685c21/pandas-1.5.3-cp38-cp38-win_amd64.whl (11.0 MB)
     ---------------------------------------- 11.0/11.0 MB 14.6 MB/s eta 0:00:00
Collecting prometheus-flask-exporter<1 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/78/17/54b7f92f25de491f746002e1e734fdc260edf2dd75c4777c7b77b49b7e31/prometheus_flask_exporter-0.23.1-py3-none-any.whl (18 kB)
Collecting querystring-parser<2 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/88/6b/572b2590fd55114118bf08bde63c0a421dcc82d593700f3e2ad89908a8a9/querystring_parser-1.2.4-py2.py3-none-any.whl (7.9 kB)
Collecting sqlalchemy<2,>=1.4.0 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5a/c8/df13167d3825683e0542965dfcfbc3e95b2f31469fd389dbb0390d39ff4c/SQLAlchemy-1.4.54-cp38-cp38-win_amd64.whl (1.6 MB)
     ---------------------------------------- 1.6/1.6 MB 14.2 MB/s eta 0:00:00
Collecting waitress<3 (from mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/58/6a/b4b5c582e04e837e4422cab6ec9de7fc10ca7ad7f4e370bb89d280d39552/waitress-2.1.2-py3-none-any.whl (57 kB)
Collecting tenacity>=6.2.0 (from plotly>=4.12.0->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl (28 kB)
Collecting async-timeout>=4.0.3 (from redis>=3.0.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl (6.2 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\programdata\envs\a308\lib\site-packages (from requests>=2.18.0->pyqlib) (3.4.0)
Requirement already satisfied: idna<4,>=2.5 in d:\programdata\envs\a308\lib\site-packages (from requests>=2.18.0->pyqlib) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in d:\programdata\envs\a308\lib\site-packages (from requests>=2.18.0->pyqlib) (2.2.3)
Requirement already satisfied: certifi>=2017.4.17 in d:\programdata\envs\a308\lib\site-packages (from requests>=2.18.0->pyqlib) (2024.8.30)
Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml<=0.17.36->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/24/ce/6f587283caaff93d0b9cac2f244fcda686897e83401bb1aa91803db7bf94/ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl (118 kB)
Collecting docopt-ng<1.0,>=0.9 (from sacred>=0.7.4->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6c/4a/c3b77fc1a24510b08918b43a473410c0168f6e657118807015f1f1edceea/docopt_ng-0.9.0-py3-none-any.whl (16 kB)
Collecting jsonpickle>=2.2.0 (from sacred>=0.7.4->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a1/64/815460f86d94c9e1431800a75061719824c6fef14d88a6117eba3126cd5b/jsonpickle-4.0.0-py3-none-any.whl (46 kB)
Collecting munch<5.0,>=2.5 (from sacred>=0.7.4->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/56/b3/7c69b37f03260a061883bec0e7b05be7117c1b1c85f5212c72c8c2bc3c8c/munch-4.0.0-py2.py3-none-any.whl (9.9 kB)
Collecting wrapt<2.0,>=1.0 (from sacred>=0.7.4->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/67/71/b9ce92b7820e9bd8e2c727d806a2e4e8c9d2a3e839ffadde2d0e44d84c0b/wrapt-1.17.0-cp38-cp38-win_amd64.whl (38 kB)
Collecting py-cpuinfo>=4.0 (from sacred>=0.7.4->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl (22 kB)
Collecting colorama>=0.4 (from sacred>=0.7.4->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting threadpoolctl>=2.0.0 (from scikit-learn>=0.22->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
Requirement already satisfied: cython>=0.29.21 in d:\programdata\envs\a308\lib\site-packages (from tables>=3.6.1->pyqlib) (3.0.11)
Collecting numexpr>=2.6.2 (from tables>=3.6.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/34/28/286d73ab378eefc99ef07b208c68d9be968518c8b0ce8067e438c1a84ef1/numexpr-2.8.6-cp38-cp38-win_amd64.whl (94 kB)
Collecting blosc2~=2.0.0 (from tables>=3.6.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/9f/91/a356e1870f258e337b9986b9a58c75e0cb960c1d89daafe01677d72b21d6/blosc2-2.0.0-cp38-cp38-win_amd64.whl (2.0 MB)
     ---------------------------------------- 2.0/2.0 MB 15.6 MB/s eta 0:00:00
Collecting cffi>=1.12 (from cryptography->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl (181 kB)
Collecting gym_notices>=0.0.4 (from gym->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/25/26/d786c6bec30fe6110fd3d22c9a273a2a0e56c0b73b93e25ea1af5a53243b/gym_notices-0.0.8-py3-none-any.whl (3.0 kB)
Requirement already satisfied: MarkupSafe>=2.0 in d:\programdata\envs\a308\lib\site-packages (from jinja2->pyqlib) (2.1.5)
Collecting win32-setctime>=1.0.0 (from loguru->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0a/e6/a7d828fef907843b2a5773ebff47fb79ac0c1c88d60c0ca9530ee941e248/win32_setctime-1.1.0-py3-none-any.whl (3.6 kB)
Collecting bidict>=0.21.0 (from python-socketio->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/99/37/e8730c3587a65eb5645d4aba2d27aae48e8003614d6aaf15dda67f702f1f/bidict-0.23.1-py3-none-any.whl (32 kB)
Collecting python-engineio>=4.8.0 (from python-socketio->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fc/74/1cec7f067ade8ed0351aed93ae6cfcd070e803d60fa70ecac6705de62936/python_engineio-4.10.1-py3-none-any.whl (57 kB)
Collecting patsy>=0.5.4 (from statsmodels->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/87/2b/b50d3d08ea0fc419c183a84210571eba005328efa62b6b98bc28e9ead32a/patsy-1.0.1-py2.py3-none-any.whl (232 kB)
Collecting Mako (from alembic<2->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a7/d8/c516e830071b849ad60ee1026315bb8566381ac648ac8bda314569b4b7e2/Mako-1.3.7-py3-none-any.whl (78 kB)
Requirement already satisfied: typing-extensions>=4 in d:\programdata\envs\a308\lib\site-packages (from alembic<2->mlflow<=1.30.0,>=1.12.1->pyqlib) (4.12.2)
Collecting msgpack (from blosc2~=2.0.0->tables>=3.6.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a4/b7/1517b4d65caf3394c0e5f4e557dda8eaaed2ad00b4517b7d4c7c2bc86f77/msgpack-1.1.0-cp38-cp38-win_amd64.whl (74 kB)
Collecting pycparser (from cffi>=1.12->cryptography->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl (117 kB)
Collecting pyjwt>=1.7.0 (from databricks-cli<1,>=0.8.7->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/79/84/0fdf9b18ba31d69877bd39c9cd6052b47f3761e9910c15de788e519f079f/PyJWT-2.9.0-py3-none-any.whl (22 kB)
Collecting oauthlib>=3.1.0 (from databricks-cli<1,>=0.8.7->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl (151 kB)
Collecting tabulate>=0.7.7 (from databricks-cli<1,>=0.8.7->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting websocket-client>=0.32.0 (from docker<7,>=4.0.0->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl (58 kB)
Collecting pywin32>=304 (from docker<7,>=4.0.0->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b7/e8/729b049e3c5c5449049d6036edf7a24a6ba785a9a1d5f617b638a9b444eb/pywin32-308-cp38-cp38-win_amd64.whl (6.6 MB)
     ---------------------------------------- 6.6/6.6 MB 19.5 MB/s eta 0:00:00
Collecting Werkzeug>=2.3.7 (from Flask<3->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6c/69/05837f91dfe42109203ffa3e488214ff86a6d68b2ed6c167da6cdc42349b/werkzeug-3.0.6-py3-none-any.whl (227 kB)
Collecting itsdangerous>=2.1.2 (from Flask<3->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Collecting blinker>=1.6.2 (from Flask<3->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl (9.5 kB)
Collecting gitdb<5,>=4.0.1 (from gitpython<4,>=2.1.0->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl (62 kB)
Collecting zipp>=0.5 (from importlib-metadata!=4.7.0,<6,>=3.7.0->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl (9.2 kB)
Collecting qdldl (from osqp>=0.6.2->cvxpy>=1.0.21->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2c/1d/3ee22c846e507d16c2c019f33626a833522fcebb7b24e50ad1549350cd8f/qdldl-0.1.7.post4-cp38-cp38-win_amd64.whl (86 kB)
Collecting prometheus-client (from prometheus-flask-exporter<1->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl (54 kB)
Collecting simple-websocket>=0.10.0 (from python-engineio>=4.8.0->python-socketio->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/52/59/0782e51887ac6b07ffd1570e0364cf901ebc36345fea669969d2084baebb/simple_websocket-1.1.0-py3-none-any.whl (13 kB)
Collecting greenlet!=0.4.17 (from sqlalchemy<2,>=1.4.0->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d3/50/7b7a3e10ed82c760c1fd8d3167a7c95508e9fdfc0b0604f05ed1a9a9efdc/greenlet-3.1.1-cp38-cp38-win_amd64.whl (298 kB)
Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython<4,>=2.1.0->mlflow<=1.30.0,>=1.12.1->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl (24 kB)
Collecting wsproto (from simple-websocket>=0.10.0->python-engineio>=4.8.0->python-socketio->pyqlib)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl (24 kB)
Collecting h11<1,>=0.9.0 (from wsproto->simple-websocket>=0.10.0->python-engineio>=4.8.0->python-socketio->pyqlib)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl (58 kB)
Building wheels for collected packages: pymongo, fire
  Building wheel for pymongo (setup.py) ... done
  Created wheel for pymongo: filename=pymongo-3.7.2-cp38-cp38-win_amd64.whl size=312427 sha256=9eb798a0a168ba950cf6489f3039b10b9730fadbe6f2b5bd5b3c00217953755b
  Stored in directory: c:\users\administrator\appdata\local\pip\cache\wheels\b4\a6\14\10536b68552027ca1f7e89df8b999520caaaa05ed154f0feda
  Building wheel for fire (setup.py) ... done
  Created wheel for fire: filename=fire-0.7.0-py3-none-any.whl size=114262 sha256=ee2f359ccbe9387c05af684f664788b387395e3d9d5031d0e4cf8ca981fdc117
  Stored in directory: c:\users\administrator\appdata\local\pip\cache\wheels\1d\05\c2\9eacbbffa3b9f5b1446a30b222097dbccc5314ade2ea1ddb40
Successfully built pymongo fire
Installing collected packages: pywin32, pytz, pymongo, py-cpuinfo, gym_notices, zipp, xlrd, wrapt, win32-setctime, Werkzeug, websocket-client, waitress, tornado, threadpoolctl, termcolor, tenacity, tabulate, sqlparse, smmap, schedule, ruamel.yaml.clib, querystring-parser, pyyaml, pyparsing, pyjwt, pycparser, pybind11, prometheus-client, pillow, oauthlib, numpy, munch, msgpack, Mako, kiwisolver, jsonpickle, joblib, itsdangerous, h11, greenlet, future, fonttools, entrypoints, docopt-ng, cycler, colorama, cloudpickle, blinker, bidict, async-timeout, wsproto, tqdm, sqlalchemy, scipy, ruamel.yaml, redis, patsy, pandas, packaging, numexpr, loguru, importlib-resources, importlib-metadata, gitdb, fire, contourpy, click, cffi, blosc2, tables, statsmodels, simple-websocket, scs, scikit-learn, qdldl, python-redis-lock, plotly, matplotlib, lightgbm, hyperopt, gitpython, Flask, ecos, docker, databricks-cli, clarabel, alembic, sacred, python-engineio, prometheus-flask-exporter, osqp, python-socketio, mlflow, cvxpy
  Attempting uninstall: pytz
    Found existing installation: pytz 2024.2
    Uninstalling pytz-2024.2:
      Successfully uninstalled pytz-2024.2
  Attempting uninstall: numpy
    Found existing installation: numpy 1.24.4
    Uninstalling numpy-1.24.4:
      Successfully uninstalled numpy-1.24.4
  WARNING: Failed to remove contents in a temporary directory 'D:\ProgramData\envs\a308\Lib\site-packages\~umpy'.
  You can safely remove it manually.
  Attempting uninstall: pandas
    Found existing installation: pandas 2.0.3
    Uninstalling pandas-2.0.3:
      Successfully uninstalled pandas-2.0.3
  WARNING: Failed to remove contents in a temporary directory 'D:\ProgramData\envs\a308\Lib\site-packages\~andas'.
  You can safely remove it manually.
  Attempting uninstall: packaging
    Found existing installation: packaging 24.2
    Uninstalling packaging-24.2:
      Successfully uninstalled packaging-24.2
Successfully installed Flask-2.3.3 Mako-1.3.7 Werkzeug-3.0.6 alembic-1.14.0 async-timeout-5.0.1 bidict-0.23.1 blinker-1.8.2 blosc2-2.0.0 cffi-1.17.1 clarabel-0.9.0 click-8.1.7 cloudpickle-2.2.1 colorama-0.4.6 contourpy-1.1.1 cvxpy-1.4.4 cycler-0.12.1 databricks-cli-0.18.0 docker-6.1.3 docopt-ng-0.9.0 ecos-2.0.14 entrypoints-0.4 fire-0.7.0 fonttools-4.55.2 future-1.0.0 gitdb-4.0.11 gitpython-3.1.43 greenlet-3.1.1 gym_notices-0.0.8 h11-0.14.0 hyperopt-0.1.2 importlib-metadata-5.2.0 importlib-resources-6.4.5 itsdangerous-2.2.0 joblib-1.4.2 jsonpickle-4.0.0 kiwisolver-1.4.7 lightgbm-4.5.0 loguru-0.7.3 matplotlib-3.7.5 mlflow-1.30.0 msgpack-1.1.0 munch-4.0.0 numexpr-2.8.6 numpy-1.23.5 oauthlib-3.2.2 osqp-0.6.7.post3 packaging-21.3 pandas-1.5.3 patsy-1.0.1 pillow-10.4.0 plotly-5.24.1 prometheus-client-0.21.1 prometheus-flask-exporter-0.23.1 py-cpuinfo-9.0.0 pybind11-2.13.6 pycparser-2.22 pyjwt-2.9.0 pymongo-3.7.2 pyparsing-3.1.4 python-engineio-4.10.1 python-redis-lock-4.0.0 python-socketio-5.11.4 pytz-2022.7.1 pywin32-308 pyyaml-6.0.2 qdldl-0.1.7.post4 querystring-parser-1.2.4 redis-5.2.1 ruamel.yaml-0.17.36 ruamel.yaml.clib-0.2.8 sacred-0.8.7 schedule-1.2.2 scikit-learn-1.3.2 scipy-1.10.1 scs-3.2.4 simple-websocket-1.1.0 smmap-5.0.1 sqlalchemy-1.4.54 sqlparse-0.5.2 statsmodels-0.14.1 tables-3.8.0 tabulate-0.9.0 tenacity-9.0.0 termcolor-2.4.0 threadpoolctl-3.5.0 tornado-6.4.2 tqdm-4.67.1 waitress-2.1.2 websocket-client-1.8.0 win32-setctime-1.1.0 wrapt-1.17.0 wsproto-1.2.0 xlrd-2.0.1 zipp-3.20.2

最后记录下 安装后的环境

(a308) E:\hw2024\stock>pip list


Package                   Version
------------------------- -----------
alembic                   1.14.0
async-timeout             5.0.1
baostock                  0.8.9
bidict                    0.23.1
blinker                   1.8.2
blosc2                    2.0.0
certifi                   2024.8.30
cffi                      1.17.1
charset-normalizer        3.4.0
clarabel                  0.9.0
click                     8.1.7
cloudpickle               2.2.1
colorama                  0.4.6
contourpy                 1.1.1
cryptography              44.0.0
cvxpy                     1.4.4
cycler                    0.12.1
Cython                    3.0.11
databricks-cli            0.18.0
dill                      0.3.9
docker                    6.1.3
docopt-ng                 0.9.0
ecos                      2.0.14
entrypoints               0.4
filelock                  3.16.1
fire                      0.7.0
Flask                     2.3.3
fonttools                 4.55.2
fsspec                    2024.10.0
future                    1.0.0
gitdb                     4.0.11
GitPython                 3.1.43
greenlet                  3.1.1
gym                       0.26.2
gym-notices               0.0.8
h11                       0.14.0
hyperopt                  0.1.2
idna                      3.10
importlib-metadata        5.2.0
importlib_resources       6.4.5
itsdangerous              2.2.0
Jinja2                    3.1.4
joblib                    1.4.2
jsonpickle                4.0.0
kiwisolver                1.4.7
lightgbm                  4.5.0
loguru                    0.7.3
Mako                      1.3.7
MarkupSafe                2.1.5
matplotlib                3.7.5
mlflow                    1.30.0
mpmath                    1.3.0
msgpack                   1.1.0
munch                     4.0.0
networkx                  3.1
numexpr                   2.8.6
numpy                     1.23.5
oauthlib                  3.2.2
osqp                      0.6.7.post3
packaging                 21.3
pandas                    1.5.3
patsy                     1.0.1
pillow                    10.4.0
pip                       24.2
plotly                    5.24.1
prometheus_client         0.21.1
prometheus_flask_exporter 0.23.1
protobuf                  3.20.1
py-cpuinfo                9.0.0
pybind11                  2.13.6
pycparser                 2.22
PyJWT                     2.9.0
pymongo                   3.7.2
pyparsing                 3.1.4
pyqlib                    0.9.5.99
python-dateutil           2.9.0.post0
python-engineio           4.10.1
python-redis-lock         4.0.0
python-socketio           5.11.4
pytz                      2022.7.1
pywin32                   308
PyYAML                    6.0.2
qdldl                     0.1.7.post4
qlib                      0.0.2.dev20
querystring-parser        1.2.4
redis                     5.2.1
requests                  2.32.3
ruamel.yaml               0.17.36
ruamel.yaml.clib          0.2.8
sacred                    0.8.7
schedule                  1.2.2
scikit-learn              1.3.2
scipy                     1.10.1
scs                       3.2.4
setuptools                75.1.0
simple-websocket          1.1.0
six                       1.17.0
smmap                     5.0.1
SQLAlchemy                1.4.54
sqlparse                  0.5.2
statsmodels               0.14.1
sympy                     1.13.3
tables                    3.8.0
tabulate                  0.9.0
tenacity                  9.0.0
termcolor                 2.4.0
threadpoolctl             3.5.0
torch                     2.4.1
tornado                   6.4.2
tqdm                      4.67.1
typing_extensions         4.12.2
tzdata                    2024.2
urllib3                   2.2.3
waitress                  2.1.2
websocket-client          1.8.0
Werkzeug                  3.0.6
wheel                     0.44.0
win32-setctime            1.1.0
wrapt                     1.17.0
wsproto                   1.2.0
xlrd                      2.0.1
zipp                      3.20.2

<think>嗯,用户想从零开始用AI大模型的API做自己的智能交易系统。首先,我需要理解用户的需求。他可能有一定的编程基础,但对金融交易和AI结合的具体步骤不太清楚。首先,我需要分解这个项目的步骤,从基础知识开始,然后到数据获取、模型选择、系统开发,再到测试部署。 用户可能已经知道一些AI模型,比如GPT-4,但可能不清楚如何将其应用于交易。需要解释清楚,大模型在交易中的角色,比如数据处理、信号生成或情绪分析。同时,要提醒用户注意风险,因为金融市场的复杂性很高,AI模型并不能保证盈利。 接下来,用户可能需要技术选型的建议,比如选择Python,因为它在数据分析和机器学习方面有很多库。数据源方面,可能需要介绍免费和付费的API,如Yahoo Finance、Alpha Vantage,或者专业的TradingView、聚宽。 然后,关于AI大模型的应用,可能需要分两部分:直接使用API和微调自己的模型。比如,用GPT-4分析新闻情感,或者用时间序列模型预测价格。这里要说明如何调用API,处理数据,以及如何将结果转化为交易信号。 系统开发部分,用户可能需要知道如何将各个模块整合,比如数据模块、策略模块、执行模块和风控模块。可能需要提到一些框架,如Backtrader进行回测,或者使用交易所提供的API进行实盘交易。 还需要提醒用户注意法律和合规问题,不同地区对自动交易系统的监管可能不同。此外,风险管理非常重要,比如设置止损、仓位控制,避免过度依赖模型。 用户可能没有考虑到实际交易中的延迟问题,或者数据预处理的重要性。比如,金融数据需要清洗、标准化,处理缺失值。另外,实时数据获取和模型推理的速度也会影响交易系统的效果。 可能还需要提到持续优化和监控,因为市场环境会变化,模型需要定期更新。同时,建议用户先模拟交易,再投入实盘,以减少风险。 最后,给出一个简单的示例代码,展示如何调用Alpha Vantage获取数据,用PyTorch训练一个简单的预测模型,并生成交易信号。这可以帮助用户快速上手,理解整个流程。 总结来说,需要结构清晰,分步骤指导,同时强调风险管理和合规问题,确保用户意识到这不是一个简单的项目,需要持续的学习和调整。</think>从零开始通过AI大模型的API构建自己的智能交易系统是一个复杂但可行的项目,需要结合金融知识、编程能力和对AI模型的理解。以下是分步骤的指南: --- ### **1. 基础知识准备** - **金融知识**:学习交易策略(如趋势跟踪、均值回归)、风险管理(止损、仓位控制)和金融市场规则。 - **编程技能**:掌握Python(推荐)或R,熟悉API调用、数据处理(Pandas、NumPy)和机器学习库(PyTorch/TensorFlow)。 - **AI模型理解**:了解大模型(如GPT-4、Claude、时间序列预测模型)的适用场景,如文本分析、价格预测、情绪识别等。 --- ### **2. 技术选型与工具** - **AI模型API**: - **通用大模型**:OpenAI GPT-4(分析新闻/公告情绪)、Claude(逻辑推理)、Google Gemini(多模态数据)。 - **金融专用模型**:BloombergGPT(金融文本)、TimeGPT(时间序列预测)。 - **数据源**: - 免费:Yahoo Finance、Alpha Vantage、Tushare(A股)、EODHD。 - 付费:Quandl、TradingView、聚宽(JoinQuant)。 - **交易平台API**:Interactive Brokers、Binance(加密货币)、MetaTrader 5(外汇)、券商提供的接口(如富途、盈透证券)。 --- ### **3. 核心开发步骤** #### **(1) 数据模块** - **数据获取**:通过API抓取历史价格、成交量、基本面数据、新闻、社交媒体情绪。 - **预处理**:清洗数据(处理缺失值)、标准化、生成特征(技术指标如RSI、MACD)。 ```python # 示例:用Alpha Vantage API获取股票数据 from alpha_vantage.timeseries import TimeSeries ts = TimeSeries(key='YOUR_API_KEY', output_format='pandas') data, meta_data = ts.get_daily(symbol='AAPL', outputsize='full') ``` #### **(2) 模型模块** - **直接调用大模型API**: - **新闻分析**:用GPT-4解读财经新闻的潜在影响。 - **信号生成**:让模型基于历史数据生成交易建议(需提示词工程)。 ```python # 示例:调用OpenAI分析新闻情绪 response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": "分析以下新闻对苹果股价的影响:[新闻内容]"}] ) sentiment = response.choices[0].message.content ``` - **微调专用模型**: - 使用时间序列模型(如Transformer、LSTM)预测价格。 - 用Hugging Face的模型微调金融文本分类。 #### **(3) 策略模块** - **规则引擎**:将模型输出转化为交易信号(如买入/卖出/持有)。 - **策略示例**: - 若GPT-4判断新闻为正面且价格突破20日均线,则开多仓。 - 用LSTM预测未来1小时价格,若涨幅超过阈值则触发交易。 #### **(4) 执行与风控** - **订单执行**:通过交易所API自动化下单(需处理延迟和滑点)。 - **风控系统**: - 实时监控仓位、设置止损止盈。 - 防止API失效或网络中断(需异常处理机制)。 ```python # 示例:简单的风控逻辑 if current_price < stop_loss_price: close_position() ``` --- ### **4. 测试与优化** - **回测**:用历史数据验证策略表现(工具:Backtrader、Zipline)。 - **模拟交易**:使用交易所的模拟账户测试实时性能。 - **参数优化**:调整模型阈值、仓位比例等,避免过拟合。 --- ### **5. 部署与监控** - **自动化运行**:部署到云服务器(AWS、阿里云),定时执行。 - **日志与报警**:记录交易操作,设置异常报警(如Telegram机器人通知)。 --- ### **6. 注意事项** - **合规性**:遵守当地金融监管法规(如避免高频交易限制)。 - **模型局限性**:市场存在黑天鹅事件,AI无法100%准确预测。 - **成本控制**:API调用费用、服务器成本需纳入考量。 --- ### **示例架构图** ``` 数据流:市场数据 → 数据模块 → AI模型(预测/分析) → 策略引擎 → 执行API → 交易所 ↑ ↓ 风控系统 ←——— 实时监控 ``` --- ### **入门资源推荐** - 书籍:《Python金融大数据分析》《机器学习量化交易》 - 开源项目: - [Qlib](https://github.com/microsoft/qlib)(微软量化平台) - [Freqtrade](https://github.com/freqtrade/freqtrade)(加密货币交易机器人) - 课程:Coursera《Machine Learning for Trading》(佐治亚理工学院) 通过逐步迭代和严谨的风险管理,你可以构建一个基于AI的智能交易原型系统,但需谨记:**金融市场高风险,实际投入前务必充分测试**。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值