乐于分享
好东西不私藏

QMT量化软件(09)-get_full_tick函数,自动监控多只股票

QMT量化软件(09)-get_full_tick函数,自动监控多只股票
嗨,我是小九。文章仅作分享,没有任何投资建议。
投资不能靠感觉,量化分析是王道。
大家在研究股票的时候有没有遇到过这样的问题:
自选股里面加了50只股票,开盘后想盯哪只突然拉升、哪只放量。
但是看了这只就看不到那只,恨不得长50双眼睛一起看。
我以前也是这样。
但是现在轻松多了,用QMT的get_full_tick函数接口写了一个小策略:同时监控所有自选股(假设全市场股票),一旦某只涨幅超过X%(假设涨停),自动提醒。
先看看运行结果:
结果很快就出来了。
那具体是怎么操作的呢?
首先要理解这个函数接口:get_full_tick
get_full_tick(stock_code=[])
用于获取最新分笔数据。
里面的参数stock_code=[]用于传入股票代码。
返回值:字典结构,{code: {field: value}},包含lastPrice(最新价)、open(开盘价)、askPrice(五档卖价)、bidPrice(五档买价)等20多个字段。
更新频率:50ms一次,即1秒更新20次,远超人工盯盘速度。
但是需要注意的是:如果全推数据每50ms更新一次,若回调函数计算复杂,CPU会100%卡死。解决方案:可以在回调中加time.sleep(0.1),将更新频率降至100ms。
然后就可以写代码了,
代码逻辑:
1、使用get_stock_list_in_sector函数接口获取全市场股票代码作为自选股。
2、用get_full_tick接口获取实时数据。
3、对数据进行处理,计算涨停价,判断是否涨停。
使用场景:
场景1:开盘涨停股扫描(打板策略)
9:25集合竞价结束后,需在3秒内找出所有涨停股。若用subscribe_quote逐个订阅5000只股票,耗时>15秒,机会已逝。
场景2:板块异动预警
当某板块5分钟内涨幅>X%时,需第一时间找出龙头。全推数据可以实时计算板块指数,无需轮询。
场景3:全市场风控监控
监控股票是否出现"黑天鹅"(如闪崩、停牌)。
大家还知道有哪些场景吗?可以评论区一起交流。