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

ptrade 平台 get_stock_status 的 query_type 参数有哪些可选值?

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

问题描述

get_stock_status的query_type参数有哪些可选值?

使用get_stock_status时,query_type参数应该传入什么值,不同值有什么区别?

解决方案

在 ptrade 量化交易平台中,get_stock_status 函数用于获取指定日期股票的特定状态属性。其中,query_type 参数用于指定你要查询的具体状态类型。

query_type 可选值及区别

根据 ptrade API 文档,query_type 参数(字符串类型)支持以下三种可选值,默认值为 'ST'

  1. 'ST'
    • 含义:查询指定股票是否属于 ST(特别处理)股票。
    • 返回值:如果是 ST 股票返回 True,否则返回 False
  2. 'HALT'
    • 含义:查询指定股票是否处于停牌状态。
    • 返回值:如果处于停牌状态返回 True,否则返回 False
  3. 'DELISTING'
    • 含义:查询指定股票是否已经退市。
    • 返回值:如果已经退市返回 True,否则返回 False

代码示例

以下是如何在策略中使用不同 query_type 值的示例:

def initialize(context):
    # 设置股票池
    g.security = ['600397.SS', '600701.SS', '000001.SZ']
    set_universe(g.security)

def handle_data(context, data):
    stocks_list = g.security
    
    # 1. 查询是否为 ST 股票 (默认 query_type='ST')
    st_status = get_stock_status(stocks_list, 'ST')
    log.info('ST 状态: %s' % st_status)
    
    # 过滤掉 ST 股票
    filter_stocks = [stock for stock in stocks_list if not st_status.get(stock)]
    log.info('非 ST 股票列表: %s' % filter_stocks)
    
    # 2. 查询是否停牌
    halt_status = get_stock_status(stocks_list, 'HALT')
    log.info('停牌状态: %s' % halt_status)
    
    # 3. 查询是否退市
    delist_status = get_stock_status(stocks_list, 'DELISTING')
    log.info('退市状态: %s' % delist_status)

注意get_stock_status 返回的是一个字典(dict),键为股票代码,值为布尔值(TrueFalse)。如果查询不到数据或输入有误,对应的值可能为 None。在编写策略时,建议做好 None 值的异常处理。