金融小白两周完成一个量化系统 (三)项目进度以及结构框架

前言

我在考虑是不是要改一下标题名称。原来定的两周时间应该完不成。现在已有十天时间了,才把东方财富网复制回来。超纲的时间花在股票分析模块上,因为原计划是没有这个模块的,后来新加上的,IT项目超标也是一件很正常的事情。

近几天的工作重心在K线图,指标计算和框架重构...。VNPY的K线图用的是pyqtgraph库实现的,其设计的思想需要花心思研究才能改得顺利。vnpy是以事件为驱动的框架,由于边学边写,前面写了很多,后面发现写出来的并不符合模块化和解耦分离的原则,又要重构。但也不得不赞叹这个框架,我用了大量的多线程,任务队列,多个SSE线程一起监听,用起来十分丝滑,没有卡顿。即使是在开盘交易时间,切换股票时的K线图,分时图,成交明细,实时行情的数据显示也做得十分流畅,大大超出了我的期望。

功能结构

任务队列和线程池,vnpy 是没有的。我认为有需要就加上了,主要是用于下载股票的历史数据,有可能批量添加多个股票,每个股票近十年的历史数据要保存到数据库,每个股票作为一个任务加到队列,由线程池去执行查询获取和保存到数据库。能大大提高系统的性能。

主要的核心还是事件引擎上,目前策略引擎,邮件引擎都还未用到。主要实现的是数据引擎,消息引擎的作用在于通知前端界面的弹窗消息。

K线图

vnpy 的K线图十分简陋,没有均线,没有指标,也没有分时图的显示,都要自已加上。现在修改得也不算完美,还是有几点小缺陷。但是比原来的好多了。把市面上常用的指标杂七杂八的都加上了。

现在是中午休盘时间,所以分时图只到中间,开盘交易会实时走动。

日K线13个指标,分时图也加了八个指标。不管有用没用,先加上再说。

基本上把东方财富网的基本功能都搬回来了。在获取数据的时间上几乎与它是等同的,同花顺app感觉会快一点,快1 - 2 秒。右上角的日期时间,批的是数据推送时间,并不是指当前时间。对比过,这个时间与北京时间大概相差7秒。对于低频交易用户,已经足够了。

代码重构

vnpy的整个框架,除了核心引擎之外,几乎全都改了一遍。vnpy 有些地方用得不是很顺手。比如表格监控器。

表格头是这样定义的, 会为每一个单元格都添加一个自定义Cell,然后控制该列数据的映射,格式化,文字颜色等

复制代码
headers = {
        "symbol": {"display": _("代码"), "cell": BaseCell, "update": False},
        "exchange": {"display": _("交易所"), "cell": EnumCell, "update": False},
        "direction": {"display": _("方向"), "cell": DirectionCell, "update": False},
}

我的是这样,把该列的特性写在 headers上,由代码实现去控制格式化,文字颜色等操作

复制代码
headers = {
        "symbol": {"display": _("代码")},
        "exchange": {"display": _("交易所")},
        "last_price": {"display": _("最新价"), "formatted": True, "color": True},
}

我实在是没看懂vnpy原来的实现方式。股票数据的格式化和文字颜色的变化是十分常见的。对于数据格式化,要针对每一列,甚至每一列的不同数据,用万还是亿来作单位等都要考虑,而文字颜色,是需要用同一行的某个数据去计算比较得出是显示绿色还是红色,实现起来较为复杂。原来的方法不顺手,就按自已的思路去设计实现了。

接下来的工作,就是主要的策略模块了。这个大模块,我还没有什么好的头绪。如果你有什么好的建议,欢迎来交流

以下是现阶段项目的演示

百度网盘 请输入提取码 kesu

相关推荐
清咖啡8 小时前
金融工程(一)
金融
中电金信8 小时前
中电金信:首个金融信创中试平台揭牌,架设国产软硬件落地应用的“高速通道”
金融
侠客软件开发10 小时前
程序+股票一年随笔
金融·股票·量化
极客先躯2 天前
高可用巡检脚本实战:一键掌握服务、网络、VIP、资源状态
运维·网络·金融
YangYang9YangYan3 天前
金融分析师核心能力构建:从数据解读到战略洞察
大数据·信息可视化·金融·数据分析
落雪财神意4 天前
股指10月想法
大数据·人工智能·金融·区块链·期股
九河云5 天前
如何选择适合的加密方法来保护云计算中的数据
网络·科技·物联网·金融·云计算
高频交易dragon5 天前
xgboost参数含义以及应付金融数据中的类别不平衡的套路
金融
cxr8285 天前
AI智能体赋能金融研究领域之仿真:流动性风暴下的高维战略 —— QT驱动的系统性失位与方舟部署蓝图
人工智能·qt·金融·ai赋能
每天的每一天6 天前
消费金融系统-风控系统
金融