首页 > 其他分享 >[QMT量化交易小白入门]-二十一、涨停排板后,如何通过miniQMT在炸板前撤单

[QMT量化交易小白入门]-二十一、涨停排板后,如何通过miniQMT在炸板前撤单

时间:2025-01-02 09:56:33浏览次数:3  
标签:code 排板 QMT id 炸板 cancel 撤单 order stock

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。
QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

相关阅读

小白也能做量化:零门槛QMT、Ptrade免费送
量化交易入门:如何在QMT中配置Python环境,安装第三方依赖包
量化交易策略:多因子选股结合布林带择时


文章目录


一旦涨停板形成,市场往往会迅速反应,但如果封单量剧减,可能炸板,造成封板失败,本文将通过Python代码展示如何在炸板前进行有效的撤单操作。

1. 定时任务设置

需要设置一个定时任务,每隔3秒执行一次multi_stop.stop_flag_all()函数。这个函数的作用是检查所有股票的涨停状态,并在满足条件时执行撤单操作。

schedule.every(3).seconds.do(lambda: multi_stop.stop_flag_all())

2. 定义止损函数

接下来,定义一个名为stop_flag_all的函数,该函数用于检查每只股票是否满足撤单条件。

def stop_flag_all(stock_code):
    # 获取当天的涨停价格
    up_price = price_util.higher(A.tick_dicts[stock_code]['lastClose'])
    for stock_code, order_dict in A.order_list.items():
        # 涨停后1分钟操作,刚涨停时封单量变化剧烈,容易导致过早撤单
        if (datetime.now() - order_dict['order_date']).total_seconds() > 60 and A.tick_dicts[stock_code]['lastPrice'] >= price_util.higher(A.tick_dicts[stock_code]['lastClose']):
            # 如果还处于涨停价格、封单金额小于3000万元
            if A.tick_dicts[stock_code]['bidVol'][0] * 100 * A.tick_dicts[stock_code]['bidPrice'][0] < 30000000:
                log.info('封板量过少!')
                # 获取订单的id,xt_trader为XtQuant API实例对象,变更撤单状态
                order_util.cancel(order_dict['order_id'])
2.1 获取涨停价格

通过price_util.higher函数获取当天的涨停价格。

up_price = price_util.higher(A.tick_dicts[stock_code]['lastClose'])
2.2 遍历订单列表

然后,遍历所有订单,检查每只股票是否满足撤单条件。

for stock_code, order_dict in A.order_list.items():
2.3 判断时间与价格条件

接着,判断当前时间是否已经超过了下单时间1分钟,并且当前价格是否仍然处于涨停状态。

if (datetime.now() - order_dict['order_date']).total_seconds() > 60 and A.tick_dicts[stock_code]['lastPrice'] >= price_util.higher(A.tick_dicts[stock_code]['lastClose']):
2.4 判断封单金额

判断封单金额是否小于3000万元,如果满足条件则执行撤单操作。

if A.tick_dicts[stock_code]['bidVol'][0] * 100 * A.tick_dicts[stock_code]['bidPrice'][0] < 30000000:
    log.info('封板量过少!')
    order_util.cancel(order_dict['order_id'])

3. 定义撤单函数

接下来,定义一个名为cancel的函数,该函数用于执行撤单操作。

def cancel(order_id=1):
    log.info(f'开始同步撤单order_id:{order_id}')
    # 获取订单的id,xt_trader为XtQuant API实例对象,变更撤单状态
    cancel_result = xt_trader.cancel_order_stock(acc, order_id)
    log.info(f'order_id:{order_id},撤单结果cancel_result:{cancel_result}')
3.1 记录日志信息

记录下要撤单的订单ID。

log.info(f'开始同步撤单order_id:{order_id}')
3.2 调用API执行撤单操作

然后,调用xt_trader.cancel_order_stock函数执行撤单操作,并记录撤单结果。

cancel_result = xt_trader.cancel_order_stock(acc, order_id)
log.info(f'order_id:{order_id},撤单结果cancel_result:{cancel_result}')

cancel_result返回是否成功发出撤单指令,0: 成功, -1: 表示撤单失败。

标签:code,排板,QMT,id,炸板,cancel,撤单,order,stock
From: https://blog.csdn.net/luansj/article/details/144702598

相关文章

  • [QMT量化交易小白入门]-八、miniQMT定时任务实现可转债双低策略
    本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。文章目录相关阅读1.环境准备与依赖......
  • [QMT量化交易小白入门]-九、如何用Python记录每一笔交易和调试,报错信息?
    本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。文章目录相关阅读1.准备工作2.配置日志......
  • 只会Python编程,做量化交易策略用QMT怎么样?听说QMT是支持Python的!
    QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端,拥有高速行情、极速交易、策略交易、多维度风控等专业功能,满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。适合用QMT的投资者:机构投资者:对系统交易工具和交......
  • 可转债量化策略研究,QMT如何获取可转债合约信息?
    获取可转债合约信息此函数被设计为专门用于单一转债的查询,能够提供详尽的转债信息。通过使用这个函数,您可以获取到深度的特定转债数据,包括其涨跌停价格、上市日期、退市日期和期权到期日等关键信息。这种全面的信息将成为您理解和分析转债历史趋势以及当前状态的有力工具。调......
  • XtQuant是什么?哪家券商支持miniQMT,XtQuant?
    XtQuant是基于迅投MiniQMT衍生出来的一套完善的Python策略运行框架,对外以Python库的形式提供策略交易所需要的行情和交易相关的API接口。XtQuant运行依赖环境XtQuant目前提供的库包括64位Python 3.6、3.7、3.8、3.9、3.10、3.11、3.12版本,不同版本的Python导入时会......
  • MiniQMT国债逆回购策略Python代码全解析
    文章目录......
  • 量化交易:如何在QMT中运行Python策略并在VSCode中高效调试?
    哈喽,大家好,我是木头左!为何选择QMT和VSCode进行量化策略开发?在量化交易的世界里,选择正确的工具与拥有优秀的策略同等重要。调用用VisualStudioCode(简称VSCode)或pycharm,方式都差不多。结合QMT的数据处理能力和VSCode的便捷调试功能,可以极大地提高量化策略的开发效率和质量。......
  • 量化交易入门:如何在QMT中配置Python环境,安装第三方依赖包
    哈喽,大家好,我是木头左!引言QMT,作为量化交易系统中的佼佼者,以其强大的功能和灵活的操作性,受到了广大投资者的青睐。但是,对于很多新手来说,如何在QMT中配置Python环境,安装第三方依赖包,却是一个让人头疼的问题。本文将从零开始,手把手教你如何在QMT中配置Python环境,安装第三方依赖包......
  • 量化交易系统QMT与PTrade的区别、优势、量化交易策略,
    前面我们说过对于量化初学者而言,不建议自己搭建量化框架/平台,应该以实现量化策略为主,所以就给大家推荐了一些量化平台,比如:聚宽、优矿、掘金、QMT、PTrade等等,但只是寥寥几句,并未做太多的介绍。那么今天我们便来说说其中两款比较优秀的量化交易平台:QMT与PTrade。一、那QMT是什么......
  • 量化交易:miniQMT的可转债与正股折价套利策略python代码
    哈喽,大家好,我是木头左!套利是一种艺术,一种利用市场的价格差异来获取无风险利润的艺术。而可转债与正股之间的折价套利,更是量化交易者眼中的香饽饽。今天,我们将一起揭开这层神秘的面纱,探索如何使用miniQMT和Python来实现这一策略。......