🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade 平台如何使用 get_stock_name 批量获取多只股票名称?

ptrade | 发布时间: 2026/6/8
以下内容由 EasyQuant 生成。

问题描述

get_stock_name可以同时查询多只股票吗?

需要同时获取多只股票名称,是否需要循环调用get_stock_name多次?

解决方案

核心解答

可以同时查询多只股票,不需要循环调用。

在 ptrade 量化平台中,get_stock_name 接口的参数 stocks 支持传入单个股票代码(字符串 str),也支持传入多个股票代码组成的列表(list[str])。

为了提高策略的运行效率,强烈建议直接传入列表进行批量查询,而不是在 for 循环中多次调用该接口。批量查询可以显著减少与底层数据接口的交互次数,降低延迟。

代码示例

以下是如何批量获取多只股票名称的示例代码:

def initialize(context):
    # 设置股票池,包含多只股票
    g.security = ['600570.SS', '600571.SS', '000001.SZ']
    set_universe(g.security)

def handle_data(context, data):
    # 错误做法(不推荐):循环调用,效率低
    # for stock in g.security:
    #     name = get_stock_name(stock)
    #     log.info(name)

    # 正确做法(推荐):直接传入列表,批量获取
    stock_names_dict = get_stock_name(g.security)
    
    # 打印返回的字典
    log.info("批量获取的股票名称: %s" % stock_names_dict)
    
    # 从字典中提取特定股票的名称
    if '600570.SS' in stock_names_dict:
        log.info("600570.SS 的名称是: %s" % stock_names_dict['600570.SS'])

返回值说明

当传入列表时,get_stock_name 会返回一个字典(dict)

  • Key(键):你传入的股票代码(如 '600570.SS')。
  • Value(值):对应的股票名称(如 '恒生电子')。

如果某只股票代码输入有误或查询不到相关数据,该键对应的值将为 None

返回数据格式示例:

{'600570.SS': '恒生电子', '600571.SS': '信雅达', '000001.SZ': '平安银行'}