在 PTrade 中,设置股票池(Stock Pool) 是进行量化交易
的重要步骤之一。股票池决定了策略可以操作的标的范围,是构建策略、回测和实盘交易的基础。
股票池是指你希望在量化策略中关注并进行交易的股票集合。你可以通过以下几种方式来设置股票池:
set_universe 函数动态设置;get_Ashares() 获取全 A 股;get_index_stocks() 获取指数成分股;get_industry_stocks() 获取行业股票。def initialize(context):
# 设置单只股票
set_universe('600570.SS') # '600570.SS' 是恒生电子的股票代码
️ 注意:股票代码需带后缀,如 .SS 表示上交所,.SZ 表示深交所。
def initialize(context):
# 设置多个股票
stock_list = ['600570.SS', '600000.SS', '000001.SZ']
set_universe(stock_list)
get_Ashares() 获取全 A 股如果你想要对 全部 A 股 进行筛选或分析,可以使用 get_Ashares() 函数获取所有可交易的 A 股。
def initialize(context):
# 获取全 A 股
stock_list = get_Ashares()
set_universe(stock_list)
️ 说明:该函数仅适用于 A 股市场,不包括港股、美股等。
例如,获取 沪深 300 指数 的成分股:
def initialize(context):
# 获取沪深300成分股
stock_list = get_index_stocks('000300.SS')
set_universe(stock_list)
常用指数代码:| 指数 | 代码 ||------|------|| 沪深300 | 000300.SS || 上证50 | 000016.SS || 中证500 | 000905.SS || 创业板指 | 399006.SZ |
def initialize(context):
# 获取“医药”行业的股票
stock_list = get_industry_stocks('801010') # 申万一级行业代码
set_universe(stock_list)
常用申万一级行业代码参考:| 行业 | 代码 ||------|------|| 医药 | 801010 || 电子 | 801020 || 计算机 | 801030 || 食品饮料 | 801040 || 传媒 | 801050 |
.SS、.SZ),否则可能报错。股票池只影响 get_history() 等函数的默认参数,并不限制实际交易。def initialize(context):
context.stock = '600570.SS'
context.n1 = 5
context.n2 = 20
# 设置股票池为单只股票
set_universe(context.stock)
def handle_data(context, data):
close_prices = data.history(context.stock, 'close', context.n2, '1d')
ma_short = close_prices[-context.n1:].mean()
ma_long = close_prices.mean()
current_price = data.current(context.stock)
if current_price > ma_short and current_price > ma_long:
order_target_percent(context.stock, 1) # 全仓买入
elif current_price < ma_short and current_price < ma_long:
order_target_percent(context.stock, 0) # 清仓卖出
| 方法 | 说明 | 适用场景 |
|---|---|---|
| 手动设置 | 直接指定股票 | 小规模测试、单一标的 |
get_Ashares() |
获取全 A 股 | 全市场选股、筛选 |
get_index_stocks() |
获取指数成分股 | 指数增强、行业聚焦 |
get_industry_stocks() |
获取行业股票 | 行业轮动、主题投资 |
如果你是 PTrade 新手,建议从手动设置单只股票开始,逐步掌握更多高级功能。
掌握了股票池设置,你就迈出了量化交易的第一步!股票开户找我!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!融资利率5%以下!优惠多多!免费量化!ptrade&QMT!