我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现股票自动交易,目的是实现财务自由~
继续深度学习量化交易平台开发,上一篇讲到已经实现了数据下载和数据部分的内容:
数据已经下载完了,现在我最想做的事情有两件:
第一,确认一下下载的数据的总体概况,比如总共有多少只股票的数据、占用的空间等基本信息。 第二,任意选取其中的某一只股票,绘制其数据文件中的各类数据的图线,也就是数据的可视化。
下边来讲一下我实现了哪些功能。
1.可视化模块与主界面的衔接
由于数据的可视化并不是量化交易主流程中必不可少的步骤,所以该功能界面就不集成到平台主界面上了(太占地儿了),而是将其作为一个灵活的工具模块内置到平台当中。为此,我在交易平台中设置了“工具栏”,可视化模块将作为第一个工具放入其中。
点击这个图标,将会弹出此可视化界面:
特别值得一提的是,该模块实现了与主界面的智能联动。它会自动继承主界面当前的数据文件夹路径,这意味着用户在下载完数据后可以直接点击图标进行分析,无需重复设置路径。当然,用户也可以通过界面上的"浏览..."按钮随时切换到其他数据文件夹。
2.文件信息统计
它能自动扫描文件夹,解析每个文件名中包含的信息,并提供全面的数据概览:
统计信息包括:
这些信息直观地展示在界面右上角,帮助用户快速了解数据集的基本特征。这个功能特别适合在批量下载数据后使用,可以帮助快速核实数据的完整性。
3.智能可视化展示
在可视化功能设计时,我着重考虑了不同数据类型的展示需求。系统会根据数据特征自动调整显示模式。
在“股票”的下拉菜单中,可以选择当前文件夹中的所有股票。这里会将股票代号自动解析成为股票名称。
如果选取的数据是tic、1m或者5m类型的,那么在选择股票后还会自动生成一个日期选择的下拉菜单,在其中可以选择数据文件中涉及的日期。软件会自动识别并标注交易时段和休市时间,让数据展示更加清晰直观。
对于日线数据,系统会自动切换到适合长期趋势分析的显示模式。
值得一提的是,系统实现了智能的数据降采样机制。当数据量超过制定数量时,会自动进行降采样处理,这既保证了显示效果,又确保了系统的响应速度。
4.交互功能与用户体验
为了提供更好的数据分析体验,我实现了丰富的交互功能:
用户可以通过鼠标框选来放大查看特定时间段的数据,窗口支持拖动、缩放等基本操作,通过右键点击快速重置视图;鼠标悬停时还会显示该点的详细数据信息;通过点击图例,隐藏/显示部分数据类型。
这个可视化模块虽然看似简单,但在实现过程中考虑了很多实用性的细节。它既可以用来验证数据完整性,也能支持初步的技术分析。欢迎各位读者使用并提供宝贵意见。
5.该模块操作演示
目前平台更新的进展大致如下:
2024.10.11 完成历史数据下载模块初步版本。 2024.10.12 GUI界面更新了打开QMT终端和指示灯功能 数据可视化界面解决了部分bug 2024.11.08 1.将数据下载和数据清洗模块合并为GUI.py文件 2.加入了报错日志保存的功能 3.读取股票列表的函数文件,加入了支持各种编码模式。 2024.11.15 1.基本完成数据下载和数据清洗模块 2.完成软件界面可根据显示器分辨率自动调整大小,并保持界面居中 2024.11.16 完善重复数据清理的逻辑,需进行时间戳与数据双重验证,以判定是否为重复数据。 2024.11.17 1.添加了数据可视化模块 2.在平台主界面新增了工具栏,可通过工具栏打开可视化模块。3.重新整理了data文件夹,使其更具结构化 4.修正了1d数据下载可能存在的bug 5.修正底层下载数据的函数,对于下载1d数据,不再下载time列 2024.11.18 美化了界面,优化了软件界面布局,丰富了文件信息内容(增加了市场分部、周期类型、日期范围),图例解析为中文显示,日内数据休市时间使用灰色区域显示。 2024.11.20 在可视化模块中加入了重载文件夹数据功能。
结语
开发过程可以说是困难和成就感并存的,目前最大的希望就是能尽快有一个成型可用的结果。
我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,目的是实现财务自由~
感谢大家的关注,欢迎关注我的公众号“看海的城堡”,微信搜索“khscience”。