拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Qlib 如何下载社区众包数据集(crowd source data)并解压到 qlib_data?

Qlib 如何下载社区众包数据集crowd source data并解压到 qlib_data【免费下载链接】qlibQlib is an AI-oriented Quant investment platform that aims to use AI tech to empower Quant Research, from exploring ideas to implementing productions. Qlib supports diverse ML modeling paradigms, including supervised learning, market dynamics modeling, and RL, and is now equipped with https://github.com/microsoft/RD-Agent to automate RD process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlibQlib 官方数据集目前处于临时停用状态README.md 中明确写着 Due to more restrict data security policy. The official dataset is disabled temporarily并推荐改用社区贡献的数据源。这篇文章解决一个具体任务把社区众包数据集crowd source data下载为 qlib bin 格式压缩包解压到~/.qlib/qlib_data/cn_data然后用qlib.init确认数据可以被正常读取。社区众包数据的定位在 scripts/data_collector/crowd_source/README.md 中说明它合并多个数据来源并互相交叉验证目的是获得更完整的历史记录减少退市股票缺失带来的 survivorship bias并在必要时识别、纠正异常数据。原始数据托管在 dolthub处理脚本和 SQL 托管在独立仓库数据每日更新。主路径下载 qlib_bin.tar.gz 并解压前提系统已安装wget和tar能访问网络。执行以下命令来自 README.md 的 Data Preparation 一节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-components1第一条命令下载最新的 qlib bin 格式数据压缩包releases/latest始终指向最新版本。mkdir -p确保目标目录存在目录不存在时自动创建。tar -zxvf ... -C ~/.qlib/qlib_data/cn_data把压缩包解压到指定目录。解压完成后~/.qlib/qlib_data/cn_data下应该出现 qlib 数据目录如features/等。最后一条命令rm -f qlib_bin.tar.gz会删除已下载并解压完毕的压缩包文件属于可选的清理动作确认数据正常前不建议先执行。需要注意一处文档间差异scripts/data_collector/crowd_source/README.md 给出的命令是tar -zxvf qlib_bin.tar.gz -C ~/.qlib/qlib_data/cn_data --strip-components2与根 README 的--strip-components1不同且未包含mkdir -p。两者的适用取决于压缩包内部目录层级两份文档未给出进一步说明。如果按其中一种方式解压后发现cn_data下多嵌套了一层目录或文件层级不对对照另一种strip-components值重新解压即可。可选分支用 docker 从 dolthub 生成当日数据dolthub 上的原始数据每日更新。如果需要当天最新数据而不是 release 包里预打好的 bin 数据scripts/data_collector/crowd_source/README.md 给出 docker 方式docker run -v /some output directory:/output -it --rm chenditc/investment_data bash dump_qlib_bin.sh cp ./qlib_bin.tar.gz /output//some output directory是占位符替换为你机器上一个真实存在的本地目录容器会把生成结果拷贝到该目录。--rm表示容器退出后自动删除该容器属于正常的一次性运行行为该命令只读取镜像内数据并产出压缩包不修改宿主机其他内容。生成的qlib_bin.tar.gz仍需用与主路径相同的tar命令解压到~/.qlib/qlib_data/cn_data。结果验证用 qlib.init 读取数据数据解压到位后按 scripts/README.md 的 Using in Qlib / CN data 一节验证。在一个 Python 环境中执行import qlib from qlib.constant import REG_CN provider_uri ~/.qlib/qlib_data/cn_data # target_dir qlib.init(provider_uriprovider_uri, regionREG_CN)两个注意事项均来自 docs/start/initialization.rst不要在 Qlib 仓库目录内import qlib否则可能报错。region要与provider_uri中存放的数据一致社区众包数据对应 A 股使用REG_CN。初始化成功后按 docs/start/getdata.rst 的示例读取交易日历和行情确认数据真正可读from qlib.data import D D.calendar(start_time2010-01-01, end_time2017-12-31, freqday)[:2]文档示例输出为[Timestamp(2010-01-04 00:00:00), Timestamp(2010-01-05 00:00:00)]以上为源文档中的示例输出不同数据集的具体数值会不同。进一步可以用D.features读取个股 OHLCV例如D.features([SH600000], [$close, $volume, ...])能返回带instrument、datetime索引的 DataFrame 即说明数据链路完整。用 check_data_health.py 检查数据质量仓库提供了 scripts/check_data_health.py可以对已解压的 qlib 数据集做完整性与正确性检查。它把数据转成 DataFrame 后检查open、high、low、close、volume列是否缺失是否存在缺失数据OHLCV 列的阶跃变化是否超过阈值价格默认 0.5成交量默认 3factor列是否缺失qlib_dir/features下的子目录是否都是小写命名。最后一项针对大小写敏感文件系统如 Linuxqlib 内部用 lowercase 的标的名称构造 feature 路径features/下的大写目录名会导致数据加载失败。脚本通过fire暴露命令行按qlib_dir参数指向解压目录执行即可例如python scripts/check_data_health.py --qlib_dir ~/.qlib/qlib_data/cn_data各检查通过时脚本会打印类似There are no missing data.的日志发现问题时会输出对应标的和列的问题表格如non_lowercase_dir列列出需要手动改名为小写的目录。限制说明官方数据集目前仍是停用状态scripts/get_data.py qlib_data的常规下载路径不能替代社区众包数据后续官方数据恢复后README.md 中的说明会随之更新。社区众包数据是社区贡献来源仓库文档没有对其字段覆盖范围做与官方数据的逐项对照承诺对数据质量有严格要求的场景先用check_data_health.py跑一遍再进入建模。解压目标固定为~/.qlib/qlib_data/cn_data时provider_uri保持同一路径即可与 docs/start/initialization.rst 中的初始化示例完全对齐。完成验证后数据即可用于后续的特征加载与建模入口参见 docs/start/getdata.rst 中的D.features用法示例。【免费下载链接】qlibQlib is an AI-oriented Quant investment platform that aims to use AI tech to empower Quant Research, from exploring ideas to implementing productions. Qlib supports diverse ML modeling paradigms, including supervised learning, market dynamics modeling, and RL, and is now equipped with https://github.com/microsoft/RD-Agent to automate RD process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlib创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门