如何在PTrade中设置股票池?
发布时间:11小时前阅读:30
在 PTrade 中,设置股票池(Stock Pool) 是进行量化交易的重要步骤之一。股票池决定了策略可以操作的标的范围,是构建策略、回测和实盘交易的基础。
一、什么是股票池?
股票池是指你希望在量化策略中关注并进行交易的股票集合。你可以通过以下几种方式来设置股票池:
- 手动添加个股;
- 使用
set_universe函数动态设置; - 利用
get_Ashares()获取全 A 股; - 通过
get_index_stocks()获取指数成分股; - 通过
get_industry_stocks()获取行业股票。
二、PTrade 设置股票池的方法
✅ 方法1:手动设置单只股票
def initialize(context):
# 设置单只股票
set_universe('600570.SS') # '600570.SS' 是恒生电子的股票代码
⚠️ 注意:股票代码需带后缀,如 .SS 表示上交所,.SZ 表示深交所。
✅ 方法2:设置多只股票(列表形式)
def initialize(context):
# 设置多个股票
stock_list = ['600570.SS', '600000.SS', '000001.SZ']
set_universe(stock_list)
✅ 方法3:使用 get_Ashares() 获取全 A 股
如果你想要对 全部 A 股 进行筛选或分析,可以使用 get_Ashares() 函数获取所有可交易的 A 股。
def initialize(context):
# 获取全 A 股
stock_list = get_Ashares()
set_universe(stock_list)
⚠️ 说明:该函数仅适用于 A 股市场,不包括港股、美股等。
✅ 方法4:获取特定指数的成分股
例如,获取 沪深 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 |
✅ 方法5:获取某行业的股票(申万一级行业)
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!
温馨提示:投资有风险,选择需谨慎。


问一问

+微信
分享该文章
