3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在聚宽(JoinQuant)量化交易平台中,可以通过调用 API 函数 get_industry_stocks(industry_code, date=None) 来根据特定行业代码快速筛选该行业在指定日期的所有成分股。
get_industry_stocks(industry_code, date=None)
'801780'、聚宽一级代码 'HY007' 或证监会行业代码 'I64' 等)。'2023-01-01')或 datetime.date/datetime.datetime 对象。在回测模块中默认为 context.current_dt,在研究模块中默认为当天。list。在筛选股票之前,可以使用 get_industries() 获取完整的行业列表和对应的代码:
from jqdata import *
# 获取证监会行业列表
zjw_industries = get_industries(name='zjw')
# 获取申万一级行业列表
sw_l1_industries = get_industries(name='sw_l1')
# 获取聚宽一级行业列表
jq_l1_industries = get_industries(name='jq_l1')
以下是一个简单的聚宽策略示例,演示如何在开盘前获取计算机/互联网行业(证监会行业代码 'I64' 和 'I65')的成分股并构建动态股票池:
import jqdata
def initialize(context):
# 设定基准
set_benchmark('000300.XSHG')
# 开启动态复权模式(真实价格)
set_option('use_real_price', True)
# 设置定时运行函数:每天开盘前更新股票池
run_daily(before_market_open, time='09:00')
def before_market_open(context):
# 根据行业代码获取信息技术/互联网行业成分股
stocks_i64 = get_industry_stocks('I64', date=context.current_dt)
stocks_i65 = get_industry_stocks('I65', date=context.current_dt)
# 合并股票池并去重
g.stocks = list(set(stocks_i64 + stocks_i65))
log.info("今日获取到的行业成分股数量:", len(g.stocks))
def handle_data(context, data):
# 在此处根据 g.stocks 编写买卖逻辑
pass
date 参数可有效防止未来函数,确保获取的是历史上当天的真实成分股。set() 进行去重,防止重复下单。