3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant (聚宽) 量化平台中,关于 get_price 函数的限制,具体情况如下:
与 get_fundamentals(限制 5000 条)或 finance.run_query(限制 4000 条)不同,get_price 函数在 API 设计层面没有明确限制传入的股票代码个数,也没有硬性限制返回的数据行数。你可以传入一个包含几百甚至上千只股票代码的列表,也可以请求长达数年的历史数据。
虽然 API 没有硬性限制,但在实际的回测或模拟交易环境中,您的策略会受到平台分配的物理资源限制。如果一次性请求的数据量过大,会导致以下两种常见错误:
为了保证策略的稳定运行,避免因数据量过大导致崩溃,建议采取以下最佳实践:
panel=False:当获取多只股票的数据时,get_price 默认返回 pandas.Panel 对象。由于 Panel 结构在内存占用上不够高效,且在较新版本的 pandas 中已被彻底移除,强烈建议在调用时设置 panel=False,让其返回等效的 DataFrame 或 Dict,这能显著降低内存占用并提高处理速度。fields 参数仅指定您真正需要的字段(如仅获取 ['close', 'volume']),不要默认拉取所有字段。history 或 attribute_history:在 handle_data 等周期性调用的函数中,如果只需要获取当前股票池过去几天的少量数据,使用 history 或 attribute_history 通常比 get_price 更高效。