Qlib工程概述

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.txtworkflow_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/: 项目的测试文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花开明山

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

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

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

打赏作者

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

抵扣说明:

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

余额充值