《中文Python穿云箭量化平台二次开发技术09》设计一个可视化股票池量化平台项目用于实现选股和自动交易

本文主要是介绍《中文Python穿云箭量化平台二次开发技术09》设计一个可视化股票池量化平台项目用于实现选股和自动交易,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《中文Python穿云箭量化平台》是纯Python开发的量化平台,因此其中很多Python模块,我们可以自己设计新的量化工具,例如自己新的行情软件、新的量化平台、以及各种量化研究工具。
穿云箭自带指标公式源码运行模块,可以为其他量化平台提供量化功能扩展或量化功能增强效果。
《中文Python穿云箭量化平台》包含有行情接口,指标运算模块,K线和指标显示模块。我们在投资分析研究和策略中,有很多可利用的资源和信息。
《中文Python穿云箭量化平台》是用Tkinter设计的,本身有强大的Tkinter高级工具,可以实现可视化部件操作。
我们想设计一个 《小白量化股票池平台》。全部可视化鼠标操作,只需要设计一些参数和指标,就能全自动选股或交易。
用户设置股票池,然后设置指标方案选股,最后生成的股票池直接交易。
公户操作过程:
1、放置【股票池】,给股票池选择股票。
2、放置【方案1】,设置方案,例如选择月K线,自编指标1。
3、放置【方案2】,设置方案,例如选择日K线,自编指标2。
3、放置【方案3】,设置方案,例如选择5分钟K线,自编指标3。
4、放置【输出】,设置股票池输出模式,发邮件,发微信,发QQ,发钉钉,同花顺下单。
这个是我们打算新开发的新量化工具,用穿云箭模块很容易设计出这样的量化工具。
GUI窗口可以利用tkinter和HP_tka模块来实现。这个量化平台是我们打算开发的新平台。我们这个给出界面方面的设计思路,后台算法完全可以依赖前面博客,通过循环处理股票池,通过获取行情,计算自编指标选股来实现。
下面给出界面方面的代码演示,为有可视化需求的朋友提供代码示范。

#小白量化快刀版
#开始开发日期:20240903
#设计:独狼 QQ:2775205
#电话微信:18578755056
import  tkinter  as  tk   #导入Tkinter
import  tkinter.ttk  as  ttk   #导入Tkinter.ttk
from PIL import Image, ImageTk, ImageDraw, ImageFont
import  HP_tka  as  htk   #导入htkclass gpc(tk.LabelFrame):   #股票池def __init__(self, root=None,x=0,y=0,width=140, height=80,text='股票池',bg='#AA8888',bd=0,font='Helvetic 12',tag='kaishi',**options):self.root=rootself.x=xself.y=yself.width=widthself.height=heightself.text=textself.bg=bgself.bd=bdself.font=fonttk.LabelFrame.__init__(self, root,text=text,bg=bg,bd=bd,font=font,**options)         self.scrollbar=tk.Scrollbar(self)self.scrollbar.pack(side=tk.RIGHT,fill=tk.Y)self.lb=tk.Listbox(self,selectmode=tk.BROWSE,yscrollcommand=self.scrollbar.set,font =font)  #height=5,self.lb.pack(expand=tk.YES,fill=tk.BOTH)self.scrollbar.config(command=self.lb.yview)self.place(x=self.x, y=self.y, width=self.width, height=self.height)self.update()class cl(tk.LabelFrame):   #策略方案def __init__(self, root=None,x=0,y=0,width=140, height=80,text='策略1',bg='#8888FF',bd=0,font='Helvetic 12',tag='kaishi',**options):self.root=rootself.x=xself.y=yself.width=widthself.height=heightself.text=textself.bg=bgself.bd=bdself.font=fonttk.LabelFrame.__init__(self, root,text=text,bg=bg,bd=bd,font=font,**options)         self.scrollbar=tk.Scrollbar(self)self.scrollbar.pack(side=tk.RIGHT,fill=tk.Y)self.lb=tk.Listbox(self,selectmode=tk.BROWSE,yscrollcommand=self.scrollbar.set,font =font)  #height=5,self.lb.pack(expand=tk.YES,fill=tk.BOTH)self.scrollbar.config(command=self.lb.yview)self.place(x=self.x, y=self.y, width=self.width, height=self.height)self.update()class sc(tk.LabelFrame):   #输出def __init__(self, root=None,x=0,y=0,width=140, height=80,text='输出',bg='#8888FF',bd=0,font='Helvetic 12',tag='kaishi',**options):self.root=rootself.x=xself.y=yself.width=widthself.height=heightself.text=textself.bg=bgself.bd=bdself.font=fonttk.LabelFrame.__init__(self, root,text=text,bg=bg,bd=bd,font=font,**options)         self.scrollbar=tk.Scrollbar(self)self.scrollbar.pack(side=tk.RIGHT,fill=tk.Y)self.lb=tk.Listbox(self,selectmode=tk.BROWSE,yscrollcommand=self.scrollbar.set,font =font)  #height=5,self.lb.pack(expand=tk.YES,fill=tk.BOTH)self.scrollbar.config(command=self.lb.yview)self.place(x=self.x, y=self.y, width=self.width, height=self.height)self.update()root=htk.MainWindow(title='小白量化股票池版',x=100,y=200,w=800,h=600)
root.iconbitmap('ico/py.ico')  #设置应用程序图标
root.SetCenter()  #移动到屏幕中央#建立菜单
menus = [['策略',['执行策略','-','新建','打开','运行','-','保存','另存为']],\['编辑',['撤销','重做','-','剪切','复制','粘贴','-','全选']],\['程序',['运行','运行插件','转中文','转英文']],\['项目',['项目目录','系统设置']],\['帮助',['关于软件','项目缩略图','退出']]]
mymenu=htk.windowMenu(root,menus=menus)#建立工具栏
toolsbar=htk.ToolsBar(root,10) #创建工具栏
toolsbar.pack(side=tk.TOP, fill=tk.X)   #把工具栏放到窗口顶部
png1= ImageTk.PhotoImage(Image.open('ico2/POINT13.ico'))
png2= ImageTk.PhotoImage(Image.open('ico2/new.jpg'))
png3= ImageTk.PhotoImage(Image.open('ico2/gpc.jpg'))
png4= ImageTk.PhotoImage(Image.open('ico2/cl.jpg'))
png5= ImageTk.PhotoImage(Image.open('ico2/左.jpg'))
png6= ImageTk.PhotoImage(Image.open('ico2/右.jpg'))
png7= ImageTk.PhotoImage(Image.open('ico2/上.jpg'))
png8= ImageTk.PhotoImage(Image.open('ico2/下.jpg'))
png9= ImageTk.PhotoImage(Image.open('ico2/箭.jpg'))
png10= ImageTk.PhotoImage(Image.open('ico2/模块.jpg'))#改变工具栏的图标
toolsbar.config(0,image=png1)
toolsbar.config(1,image=png2)
toolsbar.config(2,image=png3)
toolsbar.config(3,image=png4)
toolsbar.config(4,image=png5)
toolsbar.config(5,image=png6)
toolsbar.config(6,image=png7)
toolsbar.config(7,image=png8)
toolsbar.config(8,image=png9)
toolsbar.config(9,image=png10)#建立状态栏
status=htk.StatusBar(root)    #建立状态栏
status.pack(side=tk.BOTTOM, fill=tk.X) #把状态栏放到窗口底部
status.clear()
status.text(0,'状态栏') #在状态栏1输出信息
status.text(1,'超越自我!') #在状态栏2输出信息
status.text(2,'超越!是我们的每一步!')
status.text(3,'版权所有')
status.text(4,'侵权必究')
status.text(5,'设计:小白')
status.config(1,color='red') #改变状态栏2信息颜色
status.config(3,color='green') #改变状态栏2信息颜色
status.config(4,color='blue') #改变状态栏2信息颜色############免费培训课################
#会议主题:零基础学量化课(周四固定课)
#重复周期:2024/08/22-2024/08/29 19:30-20:30, 每周 (周四)
#腾讯会议:423-1511-5645
#####################################
#会议主题:Python量化培训(周日固定课)
#重复周期:2024/08/25-2024/09/22 19:30-20:30, 每周 (周日)
#腾讯会议:366-1282-4806top=htk.resizeCanvas(root)  #建立可视化画板
g=gpc(top,x=30, y=20, width=140, height=100,text='股票池',bg='#FF8888')   #创建一个股票池方案
top.setwidget(g)  #加入可调部件入可调部件cc=cl(top,x=300, y=120, width=140, height=100,text='策略1',bg='#8888FF')   #创建一个策略方案
top.setwidget(cc)  #加入可调部件入可调部件top.Line(170,60,300,170,fg='black',tag='lineA',width=4, arrow='last',dash=(4, 4) )  #由股票池到策略画线ss=sc(top,x=600, y=120, width=140, height=100,text='输出',bg='#FF88FF')   #创建一个输出方案
top.setwidget(ss)  #加入可调部件入可调部件top.Line(440,170,600,170,fg='red',tag='lineA',width=4, arrow='last',dash=(4, 4) )  #由策略到输出画线root.mainloop()      #进入Tkinter消息循环

上面程序运行结果如下。
在这里插入图片描述
本文代码是我们正在开发软件的部分源码,读者可以学习借鉴,不得用于商业软件。我们将在此基础上继续开发成为新的小白量化产品。

前面几篇博客,我们介绍了利用《中文Python穿云箭量化平台》的Python模块,打造自己新一代的量化工具。这些工具包括行情软件,量化框架平台,中文Python代码集成开发工具,以及任意Tkinter可视化操作的应用程序。

好了,欢迎继续关注我的博客。后面我们介绍更多的二次开发技术。

超越自己是我的每一步!我的进步就是你的进步!

这篇关于《中文Python穿云箭量化平台二次开发技术09》设计一个可视化股票池量化平台项目用于实现选股和自动交易的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1138131

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核