Skip to content
ShenzhenLime edited this page Apr 5, 2026 · 1 revision

quant

quant 是一个面向 A 股量化研究与策略验证 的低门槛、本地化基础设施项目,聚焦于从数据获取、存储管理、因子构建、因子评估到交易模拟的一体化研究流程,目标是提供一套结构清晰、便于扩展、适合个人研究与教学实践的量化开发底座。


项目定位

本项目定位为量化研究基础框架(Quant Research Infrastructure),强调以下几个方面:

  • 本地化研究环境:不依赖云端编译器平台,在本地完成数据管理与代码编写与运行
  • 模块化设计:将数据提取、因子构建、因子分析、模拟交易等能力拆分为独立模块,便于维护与扩展
  • 面向 A 股市场:当前主要围绕 A 股场景进行设计与实现
  • 研究闭环完整:覆盖“数据准备 → 因子计算 → 因子检验 → 模拟交易”的核心链路
  • 兼顾入门与进阶:既适合作为量化学习项目,也可作为后续策略研究的基础框架

核心能力

当前项目已具备或明确体现出以下核心能力:

1. 数据获取与基础信息管理

项目基于 Tushare 获取市场数据与基础信息,包括但不限于:

  • 交易日历
  • 指数成分股
  • 日频行情数据
  • 日频指标数据
  • 财务数据

通过统一的数据获取逻辑,降低研究过程中的重复性工作。

2. 本地数据库存储

项目使用 DuckDB 作为本地数据存储引擎,用于高效地进行文件读写,具备以下优势:

  • 查询速度更快
  • 更适合结构化数据管理
  • 便于通过 SQL 统一读取与处理数据
  • 降低多文件散落带来的维护成本

这一设计使项目更接近真正可持续演进的研究型工程,而不只是零散脚本集合。

3. 因子计算框架

项目包含独立的因子计算模块,可用于构建和处理量化研究中的常见因子逻辑。
目前已涉及定价因子与相关计算流程,具备进一步扩展自定义因子的良好基础。

4. 因子分析与效果评估

项目提供因子分析能力,用于评估因子的有效性与稳定性,支持研究阶段常见的分析任务,例如:

  • 因子分组表现观察
  • 因子IC半衰期计算
  • 回测曲线可视化
  • 不同交易日多轨道回测

5. 交易模拟与策略验证

项目包含交易模拟模块,重点关注更接近真实环境的小资金交易场景,已体现出如下设计思路:

  • 考虑手续费与交易滑点
  • 股票池筛选与交易限制处理
  • 持仓记录导出
  • 评价因子地头部选股能力

这使得项目不仅停留在“因子能不能解释收益”的研究层面,也开始向“策略是否具备可交易属性”的验证阶段延伸。


技术栈

本项目当前主要采用以下技术组件:

  • Python 3.12+
  • Pandas / NumPy:数据处理与数值计算
  • Pathlib:路径管理
  • DuckDB:本地数据库存储
  • Tushare:A 股数据接口
  • Joblib:并行计算
  • Matplotlib:结果可视化
  • tqdm:任务进度展示

项目结构

当前仓库的核心代码主要位于 src/quant_infra,按职责可大致理解为以下模块:

  • const.py
    项目常量定义,包括指数代码、频率映射、数据存储路径、更新周期等基础配置

  • db_utils.py
    DuckDB 数据库工具模块,负责数据库初始化、SQL 读取与数据写入

  • get_data.py
    数据获取模块,负责从 Tushare 拉取交易日、指数成分股、行情等数据

  • factor_calc.py
    因子计算模块,用于构建和计算研究所需的基础定价因子及相关数据

  • factor_analyze.py
    因子分析模块,用于评估因子效果并支持可视化展示

  • trade.py
    交易模拟模块,用于在更接近真实约束的条件下验证策略与因子表现


适用场景

本项目适用于以下场景:

  • 量化投资方法地学习与实验
  • A 股因子研究与选股验证
  • 个人量化研究环境搭建
  • 本地化回测框架原型开发
  • 从零理解量化研究完整流程

如果你希望摆脱“平台黑箱”,真正理解量化研究每个环节如何落地,这个项目会是一个很好的起点。


使用原则

本项目更强调研究基础设施而不是“开箱即用的高频策略库”。
因此,在使用上建议遵循以下原则:

  1. 先完成数据环境配置
    包括 Python 环境、依赖安装、Tushare Token 配置等

  2. 先理解数据链路,再扩展策略
    优先跑通数据获取、入库、读取与基本分析流程

  3. 先验证因子,再构建策略
    避免直接进入交易逻辑开发,而忽视因子本身的统计有效性

  4. 先做小规模实验,再完善工程化能力
    在确认研究逻辑可行后,再逐步补充日志、配置管理、参数管理与结果归档能力


当前特点

相较于许多“只提供单个策略脚本”或“只演示几段回测代码”的项目,quant 的特点在于:

  • 不是单点脚本,而是完整研究链路
  • 不是纯 CSV 堆叠,而是引入 DuckDB 做本地数据管理
  • 不是只做指标计算,也覆盖 分析与交易模拟
  • 不只是教学示例,也具备进一步扩展为小资金量化交易工具的潜力

后续规划

未来本项目可以继续沿以下方向演进:

数据层

  • 扩展更多数据下载方式
  • 提升异常处理与数据质量校验能力
  • 增加更多风格因子、技术指标因子与基本面因子

回测层

  • 完善组合构建逻辑
  • 增加调仓规则与仓位管理机制

工程层

  • 增加配置文件管理
  • 优化目录结构与输出管理
  • 补充示例文档、研究范式与最佳实践
  • 提高项目可复用性与可维护性

说明

本项目当前仍在持续迭代中。

欢迎将其作为你的个人量化研究底座,不断补充、重构和演进。