Qlib 项目文件结构概览
根目录文件
.deepsource.toml
: DeepSource 配置,用于代码质量分析。.dockerignore
: Docker 构建时忽略的文件列表。.gitignore
: Git 版本控制忽略的文件列表。.mypy.ini
: MyPy 类型检查工具的配置文件。.pre-commit-config.yaml
: Pre-commit 钩子配置,用于在提交前运行代码检查。.pylintrc
: Pylint 代码风格检查工具的配置文件。.readthedocs.yaml
: Read the Docs 文档构建配置。CHANGES.rst
: 项目的变更日志。CODE_OF_CONDUCT.md
: 行为准则文档。Dockerfile
: Docker 镜像构建文件,用于创建 Qlib 运行环境。LICENSE
: 项目的开源许可证。MANIFEST.in
: Python 打包时包含非 Python 文件的配置。Makefile
: 用于自动化构建、测试等任务的脚本。README.md
: 项目的介绍和快速入门指南。SECURITY.md
: 安全策略和漏洞报告指南。build_docker_image.sh
: 构建 Docker 镜像的 Shell 脚本。pyproject.toml
: Python 项目的元数据和构建配置(PEP 518)。setup.py
: Python 包的安装脚本。
顶级目录整体概述
.github/
: 包含 GitHub Actions 工作流、Issue 模板、Pull Request 模板等。ISSUE_TEMPLATE/
: 各种 Issue 模板。workflows/
: GitHub Actions 自动化工作流定义。
docs/
: 项目的文档目录,使用 Sphinx 构建。FAQ/
: 常见问题解答。_static/
: 静态文件,如图片、脚本等。img/
: 包含文档中使用的各种图片,如框架图、分析图表、Logo 等。
advanced/
: 高级主题文档,如 PIT、Alpha、序列化、服务器、任务管理等。changelog/
: 变更日志文档。component/
: Qlib 各个组件的详细文档,如数据、高频、元数据、模型、在线、记录器、报告、强化学习、策略、工作流等。developer/
: 开发者指南,如代码标准、开发指南、如何构建镜像等。hidden/
: 隐藏的文档,可能包含一些内部或不常用的内容。introduction/
: 项目介绍和快速入门。reference/
: API 参考文档。start/
: 入门指南,如数据获取、初始化、安装、集成等。
examples/
: 包含 Qlib 的各种使用示例和基准测试。benchmarks/
: 各种模型的基准测试示例,如 ADARNN, ADD, ALSTM, CatBoost, DoubleEnsemble, GATs, GRU, HIST, IGMTF, KRNN, LSTM, LightGBM, Linear, Localformer, MLP, SFM, Sandwich, TCN, TCTS, TFT, TRA, TabNet, Transformer, XGBoost 等,每个模型目录下通常包含README.md
,requirements.txt
和workflow_config_*.yaml
文件。benchmarks_dynamic/
: 动态基准测试示例。data_demo/
: 数据相关的演示示例。highfreq/
: 高频交易相关的示例。hyperparameter/
: 超参数优化示例。model_interpreter/
: 模型解释器示例。model_rolling/
: 模型滚动训练示例。nested_decision_execution/
: 嵌套决策执行示例。online_srv/
: 在线服务示例。orderbook_data/
: 订单簿数据处理示例。portfolio/
: 投资组合管理示例。rl/
: 强化学习示例。rl_order_execution/
: 强化学习订单执行示例。rolling_process_data/
: 滚动数据处理示例。run_all_model.py
: 运行所有模型的脚本。tutorial/
: 教程示例。workflow_by_code.ipynb
: 通过代码定义工作流的 Jupyter Notebook 示例。workflow_by_code.py
: 通过代码定义工作流的 Python 脚本示例。
qlib/
: Qlib 框架的核心源代码目录。__init__.py
: Python 包初始化文件。backtest/
: 回测模块,包含账户、回测引擎、决策、交易所、执行器、高性能数据结构、持仓、利润归因、报告、信号、工具等。config.py
: 配置相关文件。constant.py
: 常量定义。contrib/
: 贡献模块,包含数据、评估、模型、在线、操作、报告、滚动、策略、PyTorch 相关、调优器、工作流等。data/
: 数据管理模块,包含数据源、缓存、客户端、数据集、过滤器、指令处理器、操作、PIT、存储等。log.py
: 日志模块。model/
: 模型模块(具体内容未展开)。rl/
: 强化学习模块(具体内容未展开)。run/
: 运行模块(具体内容未展开)。strategy/
: 策略模块(具体内容未展开)。tests/
: 单元测试和集成测试。typehint.py
: 类型提示定义。utils/
: 工具函数和实用程序。workflow/
: 工作流模块。
scripts/
: 包含一些辅助脚本。get_data.py
: 获取数据的脚本。
tests/
: 项目的测试文件。
顶级目录细分(每看一部分就会更新)
.github/
: 包含 GitHub Actions 工作流、Issue 模板、Pull Request 模板等。ISSUE_TEMPLATE/
: 各种 Issue 模板,如bug-report.md
(Bug 报告),documentation.md
(文档问题),feature-request.md
(功能请求),question.md
(问题咨询)。PULL_REQUEST_TEMPLATE.md
: Pull Request 模板。brew_install.sh
: Homebrew 安装脚本。labeler.yml
: 自动标签配置。release-drafter.yml
: 发布草稿自动化配置。workflows/
: GitHub Actions 自动化工作流定义。labeler.yml
: 自动标签工作流。python-publish.yml
: Python 包发布工作流。release-drafter.yml
: 发布草稿工作流。stale.yml
: 处理不活跃 Issue 和 PR 的工作流。test_qlib_from_pip.yml
: 从 PyPI 安装 Qlib 后进行测试的工作流。test_qlib_from_source.yml
: 从源代码构建 Qlib 后进行测试的工作流。test_qlib_from_source_slow.yml
: 慢速测试工作流。
docs/
: 项目的文档目录,使用 Sphinx 构建。FAQ/
: 常见问题解答。FAQ.rst
: 常见问题解答的 reStructuredText 文件。
Makefile
: 文档构建的 Makefile。_static/
: 静态文件,如图片、脚本等。demo.sh
: 演示脚本。img/
: 包含文档中使用的各种图片。QlibRL_framework.png
: Qlib 强化学习框架图。RL_framework.png
: 强化学习框架图。Task-Gen-Recorder-Collector.svg
: 任务生成、记录、收集流程图。analysis/
: 分析报告相关的图片。analysis_model_IC.png
: 模型 IC 分析图。analysis_model_NDQ.png
: 模型 NDQ 分析图。analysis_model_auto_correlation.png
: 模型自相关分析图。analysis_model_cumulative_return.png
: 模型累计收益分析图。analysis_model_long_short.png
: 模型多空分析图。analysis_model_monthly_IC.png
: 模型月度 IC 分析图。cumulative_return_buy.png
: 买入累计收益图。cumulative_return_buy_minus_sell.png
: 买入减卖出累计收益图。cumulative_return_hold.png
: 持有累计收益图。cumulative_return_sell.png
: 卖出累计收益图。rank_label_buy.png
: 排名标签买入图。rank_label_hold.png
: 排名标签持有图。rank_label_sell.png
: 排名标签卖出图。report.png
: 报告示例图。risk_analysis_annualized_return.png
: 风险分析年化收益图。risk_analysis_bar.png
: 风险分析柱状图。risk_analysis_information_ratio.png
: 风险分析信息比率图。risk_analysis_max_drawdown.png
: 风险分析最大回撤图。risk_analysis_std.png
: 风险分析标准差图。score_ic.png
: IC 分数图。
change doc.gif
: 文档修改 GIF 动画。framework-abstract.jpg
: 框架抽象图。framework.png
: 框架图。framework.svg
: 框架 SVG 图。logo/
: Qlib 的 Logo 图片。1.png
,2.png
,3.png
: 不同版本的 Logo。white_bg_rec+word.png
: 白色背景带文字 Logo。yel_bg_rec+word.png
: 黄色背景带文字 Logo。yellow_bg_rec+word .png
: 黄色背景带文字 Logo (可能为重复或不同版本)。yellow_bg_rec.png
: 黄色背景 Logo。
online_serving.png
: 在线服务图。qrcode/
: 二维码图片。gitter_qr.png
: Gitter 社区二维码。
rdagent_logo.png
: RD Agent Logo。topk_drop.png
: Top-K 丢弃图。
advanced/
: 高级主题文档。PIT.rst
: PIT (Point-in-Time) 数据处理文档。alpha.rst
: Alpha 因子文档。serial.rst
: 序列化文档。server.rst
: 服务器相关文档。task_management.rst
: 任务管理文档。
changelog/
: 变更日志文档。changelog.rst
: 变更日志的 reStructuredText 文件。
component/
: Qlib 各个组件的详细文档。data.rst
: 数据组件文档。highfreq.rst
: 高频组件文档。meta.rst
: 元数据组件文档。model.rst
: 模型组件文档。online.rst
: 在线组件文档。recorder.rst
: 记录器组件文档。report.rst
: 报告组件文档。rl/
: 强化学习组件文档。framework.rst
: 强化学习框架文档。guidance.rst
: 强化学习指南文档。overall.rst
: 强化学习概述文档。quickstart.rst
: 强化学习快速入门文档。toctree.rst
: 强化学习目录树。
strategy.rst
: 策略组件文档。workflow.rst
: 工作流组件文档。
conf.py
: Sphinx 文档的配置文件。developer/
: 开发者指南。code_standard_and_dev_guide.rst
: 代码标准和开发指南。how_to_build_image.rst
: 如何构建镜像的文档。
hidden/
: 隐藏的文档。client.rst
: 客户端文档。online.rst
: 在线文档。tuner.rst
: 调优器文档。
index.rst
: 文档主页。introduction/
: 项目介绍。introduction.rst
: 项目介绍文档。quick.rst
: 快速入门文档。
make.bat
: Windows 下文档构建的批处理文件。reference/
: API 参考文档。api.rst
: API 参考的 reStructuredText 文件。
requirements.txt
: 文档构建所需的 Python 依赖。start/
: 入门指南。getdata.rst
: 获取数据文档。initialization.rst
: 初始化文档。installation.rst
: 安装文档。integration.rst
: 集成文档。
examples/
: 包含 Qlib 的各种使用示例和基准测试。README.md
: 示例目录的说明。benchmarks/
: 各种模型的基准测试示例。ADARNN/
: ADARNN 模型的示例。README.md
: ADARNN 模型的说明。requirements.txt
: ADARNN 模型的依赖。workflow_config_adarnn_Alpha360.yaml
: ADARNN 模型的 Alpha360 工作流配置。
ADD/
: ADD 模型的示例。README.md
: ADD 模型的说明。requirements.txt
: ADD 模型的依赖。workflow_config_add_Alpha360.yaml
: ADD 模型的 Alpha360 工作流配置。
ALSTM/
: ALSTM 模型的示例。README.md
: ALSTM 模型的说明。requirements.txt
: ALSTM 模型的依赖。workflow_config_alstm_Alpha158.yaml
: ALSTM 模型的 Alpha158 工作流配置。workflow_config_alstm_Alpha360.yaml
: ALSTM 模型的 Alpha360 工作流配置。
CatBoost/
: CatBoost 模型的示例。README.md
: CatBoost 模型的说明。requirements.txt
: CatBoost 模型的依赖。workflow_config_catboost_Alpha158.yaml
: CatBoost 模型的 Alpha158 工作流配置。workflow_config_catboost_Alpha158_csi500.yaml
: CatBoost 模型的 Alpha158 CSI500 工作流配置。workflow_config_catboost_Alpha360.yaml
: CatBoost 模型的 Alpha360 工作流配置。workflow_config_catboost_Alpha360_csi500.yaml
: CatBoost 模型的 Alpha360 CSI500 工作流配置。
DoubleEnsemble/
: DoubleEnsemble 模型的示例。README.md
: DoubleEnsemble 模型的说明。requirements.txt
: DoubleEnsemble 模型的依赖。workflow_config_doubleensemble_Alpha158.yaml
: DoubleEnsemble 模型的 Alpha158 工作流配置。workflow_config_doubleensemble_Alpha158_csi500.yaml
: DoubleEnsemble 模型的 Alpha158 CSI500 工作流配置。workflow_config_doubleensemble_Alpha360.yaml
: DoubleEnsemble 模型的 Alpha360 工作流配置。workflow_config_doubleensemble_Alpha360_csi500.yaml
: DoubleEnsemble 模型的 Alpha360 CSI500 工作流配置。workflow_config_doubleensemble_early_stop_Alpha158.yaml
: DoubleEnsemble 模型的早期停止 Alpha158 工作流配置。
GATs/
: GATs 模型的示例。README.md
: GATs 模型的说明。requirements.txt
: GATs 模型的依赖。workflow_config_gats_Alpha158.yaml
: GATs 模型的 Alpha158 工作流配置。workflow_config_gats_Alpha360.yaml
: GATs 模型的 Alpha360 工作流配置。
GRU/
: GRU 模型的示例。README.md
: GRU 模型的说明。csi300_gru_ts.pkl
: CSI300 GRU 时间序列数据。model_gru_csi300.pkl
: CSI300 GRU 模型文件。requirements.txt
: GRU 模型的依赖。workflow_config_gru_Alpha158.yaml
: GRU 模型的 Alpha158 工作流配置。workflow_config_gru_Alpha360.yaml
: GRU 模型的 Alpha360 工作流配置。
GeneralPtNN/
: GeneralPtNN 模型的示例。README.md
: GeneralPtNN 模型的说明。workflow_config_gru.yaml
: GRU 工作流配置。workflow_config_gru2mlp.yaml
: GRU2MLP 工作流配置。workflow_config_mlp.yaml
: MLP 工作流配置。
HIST/
: HIST 模型的示例。README.md
: HIST 模型的说明。qlib_csi300_stock_index.npy
: Qlib CSI300 股票指数数据。requirements.txt
: HIST 模型的依赖。workflow_config_hist_Alpha360.yaml
: HIST 模型的 Alpha360 工作流配置。
IGMTF/
: IGMTF 模型的示例。README.md
: IGMTF 模型的说明。requirements.txt
: IGMTF 模型的依赖。workflow_config_igmtf_Alpha360.yaml
: IGMTF 模型的 Alpha360 工作流配置。
KRNN/
: KRNN 模型的示例。README.md
: KRNN 模型的说明。requirements.txt
: KRNN 模型的依赖。workflow_config_krnn_Alpha360.yaml
: KRNN 模型的 Alpha360 工作流配置。
LSTM/
: LSTM 模型的示例。README.md
: LSTM 模型的说明。csi300_lstm_ts.pkl
: CSI300 LSTM 时间序列数据。model_lstm_csi300.pkl
: CSI300 LSTM 模型文件。requirements.txt
: LSTM 模型的依赖。workflow_config_lstm_Alpha158.yaml
: LSTM 模型的 Alpha158 工作流配置。workflow_config_lstm_Alpha360.yaml
: LSTM 模型的 Alpha360 工作流配置。
LightGBM/
: LightGBM 模型的示例。README.md
: LightGBM 模型的说明。features_resample_N.py
: 特征重采样脚本。features_sample.py
: 特征采样脚本。multi_freq_handler.py
: 多频率数据处理器。requirements.txt
: LightGBM 模型的依赖。workflow_config_lightgbm_Alpha158.yaml
: LightGBM 模型的 Alpha158 工作流配置。workflow_config_lightgbm_Alpha158_csi500.yaml
: LightGBM 模型的 Alpha158 CSI500 工作流配置。workflow_config_lightgbm_Alpha158_multi_freq.yaml
: LightGBM 模型的 Alpha158 多频率工作流配置。workflow_config_lightgbm_Alpha360.yaml
: LightGBM 模型的 Alpha360 工作流配置。workflow_config_lightgbm_Alpha360_csi500.yaml
: LightGBM 模型的 Alpha360 CSI500 工作流配置。workflow_config_lightgbm_configurable_dataset.yaml
: LightGBM 模型的自定义数据集工作流配置。workflow_config_lightgbm_multi_freq.yaml
: LightGBM 模型的多频率工作流配置。
Linear/
: 线性模型的示例。Localformer/
: Localformer 模型的示例。MLP/
: MLP 模型的示例。SFM/
: SFM 模型的示例。Sandwich/
: Sandwich 模型的示例。TCN/
: TCN 模型的示例。TCTS/
: TCTS 模型的示例。TFT/
: TFT 模型的示例。TRA/
: TRA 模型的示例。TabNet/
: TabNet 模型的示例。Transformer/
: Transformer 模型的示例。XGBoost/
: XGBoost 模型的示例。
benchmarks_dynamic/
: 动态基准测试示例。DDG-DA/
: DDG-DA 模型的示例。README.md
: 动态基准测试的说明。baseline/
: 基线模型示例。
data_demo/
: 数据相关的演示示例。README.md
: 数据演示的说明。data_cache_demo.py
: 数据缓存演示脚本。data_mem_resuse_demo.py
: 数据内存复用演示脚本。
highfreq/
: 高频交易相关的示例。README.md
: 高频交易示例的说明。highfreq_handler.py
: 高频数据处理器。highfreq_ops.py
: 高频操作。highfreq_processor.py
: 高频处理器。workflow.py
: 高频交易工作流脚本。workflow_config_High_Freq_Tree_Alpha158.yaml
: 高频树 Alpha158 工作流配置。
hyperparameter/
: 超参数优化示例。LightGBM/
: LightGBM 超参数优化示例。
model_interpreter/
: 模型解释器示例。feature.py
: 特征解释脚本。
model_rolling/
: 模型滚动训练示例。requirements.txt
: 滚动训练的依赖。task_manager_rolling.py
: 滚动任务管理器。
nested_decision_execution/
: 嵌套决策执行示例。README.md
: 嵌套决策执行的说明。workflow.py
: 嵌套决策执行工作流脚本。
online_srv/
: 在线服务示例。online_management_simulate.py
: 在线管理模拟脚本。rolling_online_management.py
: 滚动在线管理脚本。update_online_pred.py
: 更新在线预测脚本。
orderbook_data/
: 订单簿数据处理示例。README.md
: 订单簿数据示例的说明。create_dataset.py
: 创建数据集脚本。example.py
: 订单簿数据示例脚本。
portfolio/
: 投资组合管理示例。README.md
: 投资组合示例的说明。config_enhanced_indexing.yaml
: 增强索引配置。prepare_riskdata.py
: 准备风险数据脚本。
rl/
: 强化学习示例。simple_example.ipynb
: 简单强化学习示例 Jupyter Notebook。
rl_order_execution/
: 强化学习订单执行示例。README.md
: 强化学习订单执行的说明。exp_configs/
: 实验配置。scripts/
: 脚本。
rolling_process_data/
: 滚动数据处理示例。README.md
: 滚动数据处理的说明。rolling_handler.py
: 滚动数据处理器。workflow.py
: 滚动数据处理工作流脚本。
run_all_model.py
: 运行所有模型的脚本。tutorial/
: 教程示例。detailed_workflow.ipynb
: 详细工作流 Jupyter Notebook。
workflow_by_code.ipynb
: 通过代码定义工作流的 Jupyter Notebook 示例。workflow_by_code.py
: 通过代码定义工作流的 Python 脚本示例。
qlib/
: Qlib 框架的核心源代码目录。__init__.py
: Python 包初始化文件。backtest/
: 回测模块,包含账户、回测引擎、决策、交易所、执行器、高性能数据结构、持仓、利润归因、报告、信号、工具等。__init__.py
: 回测模块初始化文件。account.py
: 账户管理。backtest.py
: 回测核心逻辑。decision.py
: 决策逻辑。exchange.py
: 交易所模拟。executor.py
: 订单执行器。high_performance_ds.py
: 高性能数据结构。position.py
: 持仓管理。profit_attribution.py
: 利润归因。report.py
: 回测报告生成。signal.py
: 信号处理。utils.py
: 回测工具函数。
config.py
: 配置相关文件。constant.py
: 常量定义。contrib/
: 贡献模块,包含数据、评估、模型、在线、操作、报告、滚动、策略、PyTorch 相关、调优器、工作流等。__init__.py
: 贡献模块初始化文件。data/
: 贡献数据相关。eva/
: 贡献评估相关。evaluate.py
: 评估脚本。evaluate_portfolio.py
: 投资组合评估脚本。meta/
: 贡献元数据相关。model/
: 贡献模型相关。online/
: 贡献在线相关。ops/
: 贡献操作相关。report/
: 贡献报告相关。rolling/
: 贡献滚动相关。strategy/
: 贡献策略相关。torch.py
: PyTorch 相关工具。tuner/
: 贡献调优器相关。workflow/
: 贡献工作流相关。
data/
: 数据管理模块,包含数据源、缓存、客户端、数据集、过滤器、指令处理器、操作、PIT、存储等。__init__.py
: 数据模块初始化文件。_libs/
: 内部库。base.py
: 数据基类。cache.py
: 数据缓存。client.py
: 数据客户端。data.py
: 数据核心逻辑。dataset/
: 数据集。filter.py
: 数据过滤器。inst_processor.py
: 指令处理器。ops.py
: 数据操作。pit.py
: PIT (Point-in-Time) 数据处理。storage/
: 数据存储。
log.py
: 日志模块。model/
: 模型模块,包含各种机器学习和深度学习模型实现。rl/
: 强化学习模块,包含强化学习环境和算法实现。run/
: 运行模块,用于执行 Qlib 任务。strategy/
: 策略模块,包含各种交易策略实现。tests/
: 单元测试和集成测试。typehint.py
: 类型提示定义。utils/
: 工具函数和实用程序。workflow/
: 工作流模块,用于定义和执行复杂的任务流程。
scripts/
: 包含一些辅助脚本。get_data.py
: 获取数据的脚本。
tests/
: 项目的测试文件。