3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在量化交易中,早盘集合竞价(09:15 - 09:25)包含着市场主力资金的重要信号。利用 PTrade 平台的 get_trend_data 接口,投资者可以在开盘前快速获取集中竞价期间的代码数据,预判个股的开盘强度并制定相应的交易策略。
get_trend_data 用于获取集中竞价期间的代码数据。可以在研究、回测以及交易模块中使用。
get_trend_data(date=None, stocks=None, market=None)
'YYYYMMDD'(如 '20230308')。交易/回测场景默认当前交易日。'600570.SS' 或 ['600570.SS', '000001.SZ'])。'XSHG'、'XSHE')。stocks 与 market 不能同时入参。若都不传,默认返回当日上海与深圳市场所有代码的数据。返回一个 dict 对象,Key 为股票代码,Value 为包含集合竞价数据的字典,常用字段包括:
time_stamp: 时间戳 (int)hq_px: 竞价价格 (float)wavg_px: 加权价格 (float)business_amount: 总成交量 (int)business_balance: 总成交额 (int)amount: 持仓量 (int)结合 run_daily 定时任务,在早盘 09:23 - 09:25 之间获取竞价数据,对比前一交易日收盘价或涨停价,可以评估开盘强度并下单:
def initialize(context):
# 设置监控的目标股票
g.security = '600570.SS'
set_universe(g.security)
# 每天 09:24 分运行早盘竞价分析函数
run_daily(context, check_auction_strength, time='09:24')
def check_auction_strength(context):
stock = g.security
# 1. 获取集合竞价数据
trend_data = get_trend_data(stocks=stock)
if not trend_data or stock not in trend_data:
log.warning(f"未获取到 {stock} 的集合竞价数据")
return
auction_price = trend_data[stock].get('hq_px', 0)
auction_volume = trend_data[stock].get('business_amount', 0)
# 2. 获取行情快照(包含昨收盘价和涨停价信息)
snapshot = get_snapshot(stock)
if not snapshot or stock not in snapshot:
return
preclose_px = snapshot[stock]['preclose_px']
up_limit = snapshot[stock]['up_px']
# 3. 计算竞价涨幅
if preclose_px > 0:
pct_change = (auction_price - preclose_px) / preclose_px * 100
log.info(f"{stock} 集合竞价价格: {auction_price}, 竞价成交量: {auction_volume}, 竞价涨幅: {pct_change:.2f}%")
# 4. 判定开盘强度并执行策略(示例:高开大于 2% 且成交量放大时买入)
if pct_change >= 2.0 and auction_price < up_limit:
log.info(f"{stock} 表现强劲,以涨停价或限价挂单买入")
order(stock, 100, limit_price=up_limit)
def handle_data(context, data):
pass
get_trend_data 真实度最高。建议在 09:23~09:25 之间进行数据调取与决策。if stock in trend_data:),确保策略运行稳健。