QMT中的事件驱动策略:基于业绩预告的短线交易
发布时间:11小时前阅读:15

上市公司发布业绩预告后,股价往往出现跳空。事件驱动策略可以在公告后迅速介入,博取短期收益。本文介绍如何用QMT实现基于业绩预告的量化交易。
第一步,获取业绩预告数据。可以使用Tushare等数据源,获取每日发布的业绩预告,包括股票代码、预告类型(预增、预减、扭亏等)、净利润变动幅度等。
第二步,筛选事件。预增幅度超过50%的股票,或者扭亏为盈的股票,通常有正面反应。预减超过50%的股票,可能下跌。
第三步,在QMT策略中,每日盘前读取最新的业绩预告数据,选出符合条件的股票,在开盘时买入。持有3-5天后卖出。
代码框架:
`python
def init(context):
context.hold_days = 3 # 持有3天
context.bought_date = {}
def before_trading(context):
获取今日业绩预告
events = get_earnings_forecast() # 自定义函数,从文件读取
context.today_events = [e for e in events if e['change'] > 50]
def handle_bar(context):
开盘买入今日事件股票
for event in context.today_events:
stock = event['stock']
if stock not in context.portfolio.positions:
order_target_percent(stock, 0.1) # 每只10%仓位
context.bought_date[stock] = context.now.date()
卖出持有超过3天的股票
for stock, buy_date in list(context.bought_date.items()):
if (context.now.date() - buy_date).days >= context.hold_days:
order_target_percent(stock, 0)
del context.bought_date[stock]
`
回测需要注意:业绩预告的具体发布时间,如果是盘后发布,策略应该次日开盘交易;如果是盘前发布,可以在当日开盘交易。数据时间要精确。
事件驱动策略的挑战:跳空高开后买入可能追高,需要设置过滤(如跳空幅度超过5%不追)。另外,业绩预告可能提前泄露,导致利好出尽。
国金证券的QMT支持自定义数据接入,10万资金即可开通。量化社群中有业绩预告数据的获取和清洗代码。事件驱动是alpha的重要来源,需要结合市场微观结构分析。
温馨提示:投资有风险,选择需谨慎。


问一问

+微信
分享该文章
