首页 » 软件开发 » 学习QMT股票量化系统:定时任务(定时涨停股票策略函数)

学习QMT股票量化系统:定时任务(定时涨停股票策略函数)

落叶飘零 2024-07-24 23:42:44 0

扫一扫用手机浏览

文章目录 [+]

常见的策略结构主要有 3 类:

1、定时任务;

2、事件驱动任务;

学习QMT股票量化系统:定时任务(定时涨停股票策略函数) 软件开发
(图片来自网络侵删)

3、定时任务+事件驱动任务。

我们之前学习的单均线策略,双均线策略和四日法则等等都是事件驱动任务。
事件驱动任务是一种基于特定事件的触发来执行相应操作的方式,例如价格达到了某个值、或是短期均线上穿了长期均线,当这样的事件发生后,执行了下单交易,就是事件驱动任务。

二、什么是定时任务

在量化策略中,定时任务是指按照预先设定的固定时间间隔或特定时间点来执行的任务。
例如像小市值策略,每月或每季度获取一次股票市值数据,然后进行从小到大排序,并以此对自己的投资组合进行调整。

不过今年上半年因为ST和退市隐患的原因,小市值策略就一言难尽了,我们还是另外找个例子吧。

三、定时任务实例

实例:在每个交易日的10:00选出涨停了的股票

“每个交易日的10:00”,这就是固定的时间,“选出涨停了的股票”,就是所执行的操作。
我们先来看看完整代码:

#encoding:gbk'''十点钟定时选出涨停股票'''import time, datetimeclass a():passA = a()def init(C):# 获取沪深A股的股票列表A.hsa = C.get_stock_list_in_sector('沪深A股')# 排除创业板和科创板股票A.hsa = [stock for stock in A.hsa if not stock.startswith(('300', '688','301'))]# 设置定时任务,每个交易日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[stock]['lastClose']last_price = full_tick[stock]['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)

在本例中ContextInfo可以简写成C,参数funcName是回调函数名,本例回调函数名为f ,period为重复调用的时间间隔,1nDay表示每1天运行一次回调函数,如果写成5nSecond,就是每5秒钟就运行一次回调函数。
startTime仅是策略第一次运行时间,我们可以设定一个较早的历史时间,定时器会立即启动。

#夏日生活打卡季#

标签:

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读1 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0