3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
遇到 get_industry() got an unexpected keyword argument 'date' 这个错误,通常是因为当前运行环境加载的 API 库版本与官方最新文档不一致导致的。结合您提到“刚刚平台崩了”,这大概率是平台后端的临时故障或环境回滚引起的。
根据 JoinQuant 官方 API 文档,get_industry 函数的标准签名确实包含 date 参数:
get_industry(security, date=None)
context.current_dt)。如果系统提示 unexpected keyword argument 'date',说明底层执行的 Python 环境中,该函数的定义被替换成了旧版本(旧版本可能不支持传入历史日期),这通常发生在平台服务器崩溃重启后,加载了旧版的 Docker 镜像或缓存。
date 参数(应急方案)如果您急需让策略跑通,且您的策略逻辑允许获取当前默认时间的行业数据,可以临时将 date 参数移除:
# 修改前(报错代码)
res = get_industry(security=['000001.XSHE'], date="2018-06-01")
# 修改后(临时应急代码)
res = get_industry(security=['000001.XSHE'])
注意:在回测中,不传 date 默认获取的是 context.current_dt 的数据,这在大多数情况下是符合逻辑且不会引入未来函数的。
Kernel -> Restart & Clear Output,重新加载底层环境。既然是平台崩溃后出现的群体性问题,聚宽官方的运维团队通常会很快介入修复。建议您:
如果必须获取特定日期的行业信息,且 get_industry 持续不可用,可以尝试反向查询,即使用 get_industry_stocks(industry_code, date) 获取某行业在特定日期的所有股票,然后判断您的目标股票是否在该列表中(此方法效率较低,仅作极端情况下的备选)。