3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
你好!出现 NameError: name 'finance' is not defined 这个报错,并不是因为 finance 库改名字了,而是因为在研究环境(Jupyter Notebook)中,你需要显式地导入聚宽的数据包才能使用相关的模块。
在官方文档的示例中,通常会默认你已经导入了基础库。要解决这个问题,你只需要在代码的最上方加上一行导入语句:
from jqdata import *
# 1. 必须先导入 jqdata 库
from jqdata import *
# 2. 指定查询对象为万科(000002.XSHE)的股东户数情况,返回条数为10条
q = query(finance.STK_HOLDER_NUM).filter(
finance.STK_HOLDER_NUM.code=='000002.XSHE',
finance.STK_HOLDER_NUM.pub_date>'2015-01-01'
).limit(10)
# 3. 运行查询
df = finance.run_query(q)
# 4. 打印结果
print(df)
不仅是 finance 模块,如果你在研究环境中需要使用 macro(宏观经济数据)、opt(期权数据)或者 get_price、get_fundamentals 等聚宽特有的 API,都需要确保在当前 Notebook 的第一个运行单元格中执行了 from jqdata import *。回测环境中系统通常会在底层自动加载部分环境,但在研究环境中必须手动导入。