如何用wxPython搭建Python量化交易GUI
如何用wxPython搭建Python量化交易GUI
元宵大师
这个作者很懒,什么都没留下…
展开
-
我用wxPython搭建GUI量化系统之财务选股工具剔除ST股和次新股
前言最近交易所公布了上证指数改编方案,其中有两条是和本篇文章相关的。第一条是围绕ST个股改编。当上市公司变更为ST后一个月将从指数样板中剔除。第二条围绕新股改编。上证指数新上市的日均市值前十的证券,上市满三个月才可以计入指数,其他证券上市后满一年计入指数。我们选股时候也是应该考虑着两类股票的。对于ST股来说,面临着极高的退市风险,股民们应该避之不及,而新股上市后处于暴涨暴跌的态势,走势并不稳定,也没有足够的数据进行回测。因此,有的时候在选股时我们是应该提前把这两类股票给剔除掉的,接下来我们就在选股原创 2020-06-25 21:46:11 · 1443 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之财务选股工具与股票行情界面切换
前言当我们在选股小工具上一顿操作之后,依据财务指标选出了若干值心仪的股票,下一步是不是该观察下这几只股票的走势了!!!我们已经分别制作了“多股票行情界面”和“财务指标选股界面”,于是我们通过wxPython的Frame切换机制,实现了两个界面的无缝切换。也就是说,当我们在“财务指标选股界面”选好股票之后,我们跳转到“多股票行情界面”去查看走势,反过来觉得这些股票走势不怎么行,那么可以跳回到“财务指标选股界面”重新选择,以此类推。同样,后期我们会把选股、行情、回测三个界面无缝切换,其中基于的原理是一致原创 2020-06-25 21:16:50 · 1133 阅读 · 2 评论 -
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
前言上一期我们构建了一个GUI版上市公司财务数据选股工具。通过这个工具,我们可以根据换手率、量比、市盈率、市净率、市销率、股息率、总股本、流通股本、自由流通股本、总市值、流通市值等指标来筛选更有前景的股票。上一期我们提示大家说表格中间有挺多NaN数据,这里说明下是因为上市公司亏损所导致某些选项数值的缺失。这一期我们要更新的内容是和一个经典量化策略的应用场景所相关的。这个量化策略就是小市值轮动策略。实现过程概述在小市值轮动策略中,我们是以固定周期滚动地去持有市值排名最小的若干只股票,比如这个月初我们原创 2020-06-22 21:34:08 · 498 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之Pandas特性的财务选股工具
前言股票分析中选股是很重要的一个环节,对于大多数股民来说,除了根据股价走势来选股之外,也会加入一些基本面选股的条件,比如换手率、量比、市盈率、市净率、市销率、股息率、总股本、流通股本、自由流通股本、总市值、流通市值等等。虽然通过数据库方式也是可以根据条件来选股的,不过掌握数据库的使用需要一定的基础和学习过程,如果还不会数据库的话,我们就来教大家构建一个GUI版基本面选股工具。实现过程概述首先是获取数据,我们要得到A股市场的全部股票的基本面指标清单,这里我们用了tushare的两个接口组合而成,一个是原创 2020-06-22 21:10:40 · 996 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之多只股票走势对比界面
股票分析过程中往往会查看一只股票的多个周期的走势,也会同时查看一个板块中多只股票的走势,量化分析的时候也会同时查看单只股票多个回测指标可视化结果……所以在我们搭建的量化交易系统中,除了实现多子图之间的嵌套之外,在界面中实现多个面板之间的嵌套也是非常有必要的。本文我们通过wxPython布局管理实现多只股票走势对比界面。原理上很简单,我用了wx.FlexGridSizer的网格布局功能,把不同的Panel嵌入其中,如下所示:# 创建FlexGridSizer布局网格 vgap定义垂直方向上行间距/hg原创 2020-06-19 14:19:19 · 1181 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之wx.html实现浏览器
随着Web技术的蓬勃发展,以网页形式在浏览器上显示图表已经逐渐成为一种主流的形式。网页的实现是由HTML、CSS和Javascript三者相结合完成的,HTML负责网页的结构,CSS渲染网页元素的样式,而Javascript给网页增加了动态的行为,总体来看,网页版本的图表在显示效果上可以达到更加生动、炫酷的要求。不过话说回来,对于本地的交互来说,GUI使用起来更为便捷。那么,能不能鱼和熊掌兼得呢?本文来介绍下如何在Python的GUI工具中嵌入HTML页面。wxPython的wx.html和wx.ht原创 2020-06-19 13:47:04 · 3217 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之wx.Toolbar实现工具栏
本文介绍下如何在量化小工具上添加wxPython的工具栏Toolbar。工具栏包括文本文字说明或图标按钮的一个或多个水平条,通常被放置在MenuBar顶层帧的正下方。不同特征的工具按钮可以添加到工具栏。wx.Toolbar类的创建如下所示:wx.ToolBar(self, parent=None, id=None, pos=None, size=None, style=None, name=None)其中style参数用于定义wx.ToolBar样式 ,该参数支持以下这些效果:wx.TB_FL原创 2020-06-19 10:47:06 · 1551 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之wx.grid实现excel功能
在数据分析中少不了会使用到像excel一样的表格来显示和编辑数据。本节我们介绍下wx.grid.Grid的使用。首先我们跑一个关于wx.grid.Grid测试的例程,看看整体的显示效果。class GridFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent) self.grid = wx.grid.Grid(self, -1) def TestF...原创 2020-06-19 10:18:40 · 2444 阅读 · 1 评论 -
我用wxPython搭建GUI量化系统之wx.TextCtrl实现文本框
通常文本框是GUI中最常见的控件,不仅可以显示文本,还能收集用户使用键盘键入的文本内容。在wxPython中文本框为wx.TextCtrl类,该类可以显示和编辑文本。TextCtrl类的构造函数形式如下 :wx.TextCtrl(self, parent=None, id=None, value=None, pos=None, size=None, style=0, validator=None, name=None):接下来我们在量化小工具的显示区面板创建一个文本框,如下所示:self.Sto原创 2020-06-19 11:08:50 · 2004 阅读 · 1 评论 -
我用wxPython搭建GUI量化系统之Sizer布局管理与页面切换
GUI程序的开发中界面布局是很重要的一个部分,合理的页面布局能够给予用户良好使用体验。虽然在GUI的控件和窗口布局上可以使用坐标,但更多且更方便的是用sizer来布局。本文主要介绍wxPython的布局管理应用以及在此基础上实现的页面切换功能。布局管理控件可通过绝对坐标形式定位在容器中,由构造函数中pos参数指定以像素为单位的坐标值。如wx.TextCtrl的构造函数所示:wx.TextCtrl(parent,id,value='',pos=wx.DefaultPostion,size=wx.De原创 2020-06-19 13:34:24 · 623 阅读 · 0 评论 -
我用wxPython搭建GUI量化系统之最小架构的运行
wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现。wxPython程序由组件wx.App、wx.Frame、wx.Panel以及其他widget控件/窗体(如wx.ComboBox, wx.Button)组成。一个wxPython程序只有一个wx.App创建的实例用于执行事件循环,至少一个Frame对象作为控件的容器,调用Show()方法使其显示,Frame中至少有一个Panel用来控制布局的窗口,而其他的控件建立在Panel之上。在App类中未定原创 2020-06-19 13:29:04 · 774 阅读 · 0 评论