首页 » 软件开发 » 并将测试结果导入通达信观察(策略量化交易交易日导入)

并将测试结果导入通达信观察(策略量化交易交易日导入)

落叶飘零 2024-07-24 07:48:18 0

扫一扫用手机浏览

文章目录 [+]

本文简单地介绍向上跳空交易策略的一般方法,通过该示例展示量化交易策略的开发步骤。

策略思路描述

大跌后介入反弹的策略

大多数个股连续下跌多个交易日(如A股在今年一月初的情形),如果个股当天交易日相比前一个交易日向上跳开,即可买入。
另外,给该策略附加一个条件,即在最近至少3个交易日的低价都未填补前面的向上跳空,这样就变为针对震荡行情的交易策略。

并将测试结果导入通达信观察(策略量化交易交易日导入) 软件开发
(图片来自网络侵删)
策略适用背景与激活条件

本策略观察的中小盘股票,流通市值大于10亿且小于100亿,价格大于3元小于100元,筛选出了2685只股票(行情截至日期20240222);最近10个交易日至少有7根阴线(不含当前交易日)。
激活该策略转入监听的条件是2685只股票中有至少四分之三下跌,该策略激活后,开盘就扫描出现跳空的个股作为交易信号。

实施该策略的部分代码

def stockswithupgaps(daily_md,n): open_lst = daily_md.open_p.to_list()[n:] close_lst = daily_md.close_p.tolist()[n:] high_lst = daily_md.high_p.tolist()[n:] low_lst = daily_md.low_p.tolist()[n:] dt_lst = daily_md.dt_occured.tolist()[n:] md_lst = list(zip(open_lst,close_lst,high_lst,low_lst,dt_lst)) tmp_high = high_lst[0:-1] tmp_low = low_lst[1:] tmp_dt = dt_lst[1:] upgaps = [[i,tmp_dt[i]] for i, x in enumerate(list(zip(tmp_low,tmp_high))) if round((x[0]-x[1])/x[1],2) > 0.01] return upgapsstocks_withgaps = []for i in range(0,len(history_mddaily[0])): tmp_results = stockswithupgaps(history_mddaily[0][i],-10) if len(tmp_results)>0: stocks_withgaps.append([i,history_mddaily[0][i].symbol[0],tmp_results])for itm in stocks_withgaps: print(itm) print(len(stocks_withgaps))

输出结果(部分):

[9, '600052', [[5, Timestamp('2024-02-19 00:00:00')]]][17, '600080', [[6, Timestamp('2024-02-20 00:00:00')]]][21, '600084', [[5, Timestamp('2024-02-19 00:00:00')]]][31, '600113', [[5, Timestamp('2024-02-19 00:00:00')]]][46, '600167', [[4, Timestamp('2024-02-08 00:00:00')]]][61, '600212', [[5, Timestamp('2024-02-19 00:00:00')]]][63, '600215', [[5, Timestamp('2024-02-19 00:00:00')]]]...[2575, '301339', [[5, Timestamp('2024-02-19 00:00:00')]]][2582, '301380', [[5, Timestamp('2024-02-19 00:00:00')]]][2584, '301396', [[5, Timestamp('2024-02-19 00:00:00')]]]347

从结果看,该策略筛选出347只股票,其中335只上涨,12只下跌,涨幅超过5%的个股数量142只,12只下跌股票中,跌幅大于3%的2只,跌幅小于1%的9只,还有1只的跌幅为1.71%,总体看,策略在给定的行情环境和条件下,表现很好。

把这些股票的代码转换为通达信可导入的板块个股的文件格式 :stockswithupgaps.ebk,格式如下图:

转换代码如下:

with open('stockswithupgaps.ebk','w') as f: for line in stocks_withgaps: if line[1][0]=='6': x = '1'+str(line[1])+'\n' else: x = '0'+str(line[1])+'\n' f.write(x)

把stockswithupgaps.ebk文件作为通达信的自定义板块文件导入通达信客户端程序,部分结果如下:

通达信内置的量化编程功能毕竟还是很有限的,尤其是灵活性差,难以实现自动化。

本文仅为个人观点,供学习交流,不可作为投资依据。

标签:

相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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