3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant 聚宽平台上,这三个模块各自承担着不同的功能,具体导入场景如下:
jqdata 模块:
get_price, get_bars)、财务数据(如 get_fundamentals)、宏观经济数据、行业概念板块数据、龙虎榜数据等。import jqdata 或 from jqdata import *。jqlib 模块:
jqlib.alpha101)、Alpha 191 因子 (jqlib.alpha191)、技术分析指标 (jqlib.technical_analysis) 以及 投资组合优化器 (jqlib.optimizer)。jqfactor 模块:
get_factor_values)、进行因子数据预处理(如去极值 winsorize、标准化 standardlize、中性化 neutralize)、自定义因子计算 (Factor 类) 以及进行单因子分析 (analyze_factor)。在早期的 JoinQuant 回测引擎中,部分基础 API 是作为全局函数直接注入的,可以直接调用。但是,为了代码的规范性、可读性以及与研究环境(Jupyter Notebook)的兼容性,强烈建议在所有策略代码的开头显式导入 import jqdata 或 from jqdata import *。显式导入可以避免很多不必要的 NameError,并且是目前官方推荐的标准写法。
import jqlib 与 import jqlib.optimizer 的问题这是由 Python 的包(Package)导入机制 决定的。
jqlib 是一个包(通常对应一个文件夹),而 optimizer 是这个包下的一个子模块(对应一个 .py 文件)。import jqlib 时,Python 只加载了 jqlib 包的初始化文件(__init__.py)。如果官方在 __init__.py 中没有显式地把 optimizer 模块暴露出来(即没有写 from . import optimizer),那么 jqlib 命名空间下就不会有 optimizer 这个属性。import jqlib.optimizer 或者 from jqlib.optimizer import *。这不仅适用于聚宽的库,也是 Python 编程的通用规则。这三个模块的详细使用说明均包含在 JoinQuant 的官方 API 文档中,你可以按照以下结构在文档中查找:
jqdata 文档:请查阅 API 文档中的 “数据获取函数” 章节(包含 get_price, get_fundamentals 等)以及 “对象” 章节。jqlib 文档:请查阅 API 文档中的 “jqlib” 章节(包含 Alpha101、Alpha191、技术分析指标)以及 “组合优化函数” 章节(包含 portfolio_optimizer 及各种约束条件)。jqfactor 文档:请查阅 API 文档中的 “聚宽因子库” 章节。该章节详细介绍了如何获取因子值、因子数据处理函数(中性化、去极值等)、因子定义与计算方法,以及单因子分析(analyze_factor)的完整流程和图表绘制方法。