3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,如果您想获取特定行业(例如 A01000.XBHS 农业)的所有股票列表,可以使用平台提供的内置函数 get_industry_stocks。
以下是该函数的详细使用指南、注意事项以及完整的策略代码示例。
用于获取一个行业的所有股票列表。该函数在研究、回测、交易模块中均可使用。
get_industry_stocks(industry_code)
industry_code (str):行业编码,尾缀必须是 .XBHS。例如农业股的编码为 'A01000.XBHS'。list[str]),例如:['300970.SZ', '300087.SZ', ..., '600108.SS']。⚠️ 注意事项(未来函数风险):
get_industry_stocks获取的是**当下(最新)**的行业成份股数据。因此在历史回测中,它无法获取到历史对应日期的精确成份股,可能会引入“未来数据”,在编写回测策略时请注意此特性。
以下是一个完整的 ptrade 策略示例。我们在盘前准备阶段(before_trading_start)获取农业行业(A01000.XBHS)的所有股票,并将其设置为策略的股票池(set_universe)。
def initialize(context):
# 初始化策略,设置默认操作的股票
g.security = '600570.SS'
set_universe(g.security)
def before_trading_start(context, data):
# 1. 获取农业行业(A01000.XBHS)的所有成份股
agriculture_stocks = get_industry_stocks('A01000.XBHS')
# 2. 打印获取到的股票列表及数量
log.info("获取到农业行业股票数量: %d" % len(agriculture_stocks))
log.info("农业行业股票列表: %s" % str(agriculture_stocks))
# 3. 将获取到的行业股票设置为策略的股票池
set_universe(agriculture_stocks)
def handle_data(context, data):
# 盘中交易逻辑(此处仅作展示,可根据需要对股票池中的股票进行买卖)
pass
除了农业(A01000.XBHS)之外,您还可以查询其他聚源行业或证监会行业的成份股,以下为部分常用行业编码: