3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant (聚宽) 平台上运行代码时,如果遇到 database 'finance' has no table 'CCTV_NEWS' 的报错,通常是因为该数据表已经被官方下线或移除了。
CCTV_NEWS(新闻联播文本数据)可能因为版权、数据维护成本或使用率等原因,已经被官方从 finance 数据库中移除。df=finance.run_query(query(finance.CCTV_NEWS).filter(finance.CCTV_NEWS.day=='2019-02-19').limit(10)) 在语法上是完全正确的 SQLAlchemy 查询格式。报错纯粹是因为底层数据库中找不到对应的表。finance 模块下支持的所有表。目前 finance 模块主要支持深沪港通、股东信息、公司概况、财务数据等。macro.run_query() 查询宏观经济指标。read_file 或直接在研究环境中处理后,再应用到策略中。finance.run_query 的示例为了验证您的 finance.run_query 功能正常,您可以尝试查询一个目前确实存在的表,例如查询深沪港通数据或股东信息:
from jqdata import *
# 查询恒瑞医药(600276.XSHG)的十大股东情况
q = query(finance.STK_SHAREHOLDER_TOP10).filter(
finance.STK_SHAREHOLDER_TOP10.code == '600276.XSHG',
finance.STK_SHAREHOLDER_TOP10.pub_date > '2015-01-01'
).limit(10)
df = finance.run_query(q)
print(df)
总之,这不是您的代码写错了,而是平台数据表发生了变动。建议调整策略的数据依赖,或向聚宽官方客服确认该数据是否转移到了其他模块(如 JQData 商业版)。