QMT股票量化系统,定时任务策略的精细结构分类与优化应用
QMT(Quantum Multi-Threading)股票量化系统的定时任务策略结构可以根据不同的分类方式进行划分,以下是一些常见的分类方式:
1. "按任务执行频率分类":
- "高频策略":任务执行频率极高,通常以毫秒或微秒为单位,如秒杀、高频交易等。
- "中频策略":任务执行频率较高,通常以秒或分钟为单位,如日内交易等。
- "低频策略":任务执行频率较低,通常以小时或天为单位,如趋势跟踪等。
2. "按任务目的分类":
- "数据获取任务":定时获取市场数据、公司公告、财务报表等。
- "策略回测任务":定时运行策略回测,分析策略表现。
- "交易执行任务":定时执行交易指令,如买入、卖出等。
- "风险控制任务":定时检查风险指标,如持仓比例、杠杆率等。
3. "按任务触发条件分类":
- "时间触发":根据固定的时间点执行任务,如每天开盘前、收盘后等。
- "事件触发":根据特定事件执行任务,如股票价格突破某个阈值、成交量达到某个水平等。
- "周期触发":根据固定周期执行任务,如每5分钟、每15分钟等。
4. "按任务执行方式分类":
-
相关内容:
QMT股票量化系统的定时任务策略结构分类

一、常见的策略结构主要有3类:
1、定时任务;
2、事件驱动任务;
3、定时任务+事件驱动任务。
事件驱动任务是一种基于特定事件的触发来执行相应操作的方式,例如价格达到了某个值、或是短期均线上穿了长期均线,当这样的事件发生后,执行了下单交易,就是事件驱动任务。
二、什么是定时任务
在量化策略中,定时任务是指按照预先设定的固定时间间隔或特定时间点来执行的任务。例如像小市值策略,每月或每季度获取一次股票市值数据,然后进行从小到大排序,并以此对自己的投资组合进行调整。不过因为ST和退市隐患的原因,小市值策略就一言难尽了我们还是另外找个例子吧。
三、定时任务实例
实例:在每个交易日的10:00选出涨停了的股票。“每个交易日的10:00”,这就是固定的时间,“选出涨停了的股票”,就是所执行的操作。我们先来看看完整代码:
#encoding:gbk
十点钟定时选出涨停股票
import time, datetime
class a0:
pass
A=a0
def init(C):
# 获取沪深A股的股票列表# 排除创业板和科创板股票
A.hsa =c.get stock list in sector("沪深A股”)
A.hsa = # 设置定时任务,每个交易日10点运行f函数C.run time("f","1nDay","2024-07-12 10:00:00)
def f(C):
print("定时任务现在开始运行..")
# 获取当前时间# 获取最新分笔数据
now = datetime.datetime.now(
full tick = c.get full tick(A.hsa)
# 遍历股票列表,检查是否涨停
for stock in A.hsa:
last close =full tick[stocklf'lastclose"
last price = full tick[stockl['lastPrice"
# 计算涨停价,假设涨停限制为前收盘价的110%
limit up price = last close * 1.1
# 判断当前价格是否达到涨停价
if last price >= limit up_price:
# 获取股票名称
stock name= C.get stock name(stock)
# 获取股票价格
stock price = last price# 计算股票涨幅rise percentage=((stock price -last close)/last close)* 100# 打印涨停股票的代码、名称、价格和涨幅print(f"{now} 涨停股票: {stock} {stock name),价格: {stock_price:.2f}元,涨幅: {rise_percentage:.2f}%")
程序运行结果如下图:

在定时任务中,我们需要导入的库是time和datetime。
然后,我们就需要为将要执行的操作设定好一个“闹钟”,这个“闹钟”就是run time()函数。
用法:
ContextInfo.run time(funcName,period,startTime)
在本例中Contextlnfo可以简写成C,参数funcName是回调函数名,本例回调函数名为f,period为重复调用的时间间隔,1nDav表示每1天运行一次回调函数,如果写成5nSecond,就是每5秒钟就运行一次回调函数。startTime仅是策略第一次运行时间,我们可以设定一个较早的历史时间,定时器会立即启动。
大家明白了吗?欢迎和我一起交流量化。(以上内容只作案例分享,不做投资建议,请谨慎甄别)