🚀 AI 一键生成 ptrade 策略代码

如何在 PTrade 平台筛选和交易公募 REITs 基金? (附 get_reits_list 用法)

ptrade | 发布时间: 2025/12/1
以下内容由 EasyQuant 生成。

问题描述

怎么获取市场上所有的公募 REITs 基金代码列表?

解决方案

在 PTrade 量化交易平台中,获取市场上所有公募 REITs(不动产投资信托基金)代码列表,可以使用内置的 get_reits_list 函数。

以下是具体的接口说明和代码示例。

PTrade 获取公募 REITs 基金代码列表

核心函数:get_reits_list

该函数用于获取指定日期沪深市场的所有公募 REITs 基金代码列表。

接口说明

get_reits_list(date=None)
  • 参数
    • date (str, 可选): 查询日期,格式为 'YYYYMMDD'(如 '20230403')。
      • 回测中:不传参默认取当前回测日期 (context.blotter.current_dt)。
      • 交易/研究中:不传参默认取当天日期。
  • 返回值
    • 返回一个包含 REITs 代码的列表 (list),例如 ['180101.SZ', '508001.SS', ...]
  • 适用范围
    • 研究、回测、交易模块均可用。

策略代码示例

以下代码展示了如何在策略初始化阶段获取并打印当前的公募 REITs 列表:

def initialize(context):
    # 1. 获取当前回测日期或交易日的所有公募REITs代码
    reits_list = get_reits_list()
    
    # 打印列表内容
    log.info("当前市场公募REITs代码列表: %s" % reits_list)
    
    # 打印数量
    log.info("公募REITs数量: %s" % len(reits_list))
    
    # 2. (可选) 获取指定历史日期的REITs列表
    # history_reits = get_reits_list(date='20220101')
    # log.info("20220101时的REITs数量: %s" % len(history_reits))

def handle_data(context, data):
    pass

常见问题 (Q&A)

Q: get_reits_list 返回的代码包含后缀吗?
A: 是的,返回的代码包含交易所后缀,例如上海市场的 .SS 和深圳市场的 .SZ

Q: 如果我想获取这些 REITs 的行情数据怎么办?
A: 获取到代码列表后,您可以直接将该列表传入 get_historyget_price 函数中来获取开盘价、收盘价等行情数据。例如:get_price(reits_list, count=10, frequency='1d')

Q: 这个函数能获取到已经退市的 REITs 吗?
A: 如果您传入的 date 是历史日期,且在该日期该 REITs 仍在上市交易,则可以获取到。如果不传参(默认当天),则只返回当前上市交易的品种。