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

前言

我在考虑是不是要改一下标题名称。原来定的两周时间应该完不成。现在已有十天时间了,才把东方财富网复制回来。超纲的时间花在股票分析模块上,因为原计划是没有这个模块的,后来新加上的,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

相关推荐
wayz113 小时前
3.1 标准化流程:数据清洗→因子计算→分层回测→IC/IR分析
金融·量化交易
Agent产品评测局7 小时前
保险行业自动化工具选型,核保理赔全流程优化:2026年大模型Agent重塑数智金融新基座
大数据·人工智能·ai·金融·自动化
想你依然心痛11 小时前
HarmonyOS 5.0金融安全APP开发实战:基于可信执行环境与分布式风控的移动支付系统
安全·金融·harmonyos
2501_9216494911 小时前
从WebSocket到SQL查询:金融数据落库存储及查询接口全流程开发
java·sql·websocket·程序人生·spring cloud·金融·系统架构
无忧智库12 小时前
破局与重构:金融行业新一代 IT 基础架构的全景演进与落地指南(PPT)
金融·重构
极创信息1 天前
信创软件安全加固指南,信创软件的纵深防御体系
java·大数据·数据库·金融·php·mvc·软件工程
财经汇报1 天前
“蜂联AI Agent”推动普惠创新 看AI如何助力供应链金融
大数据·人工智能·金融
国服第二切图仔1 天前
证券交易中普通交易和信用交易两种模式扫盲
金融·证券·互联网金融
芯盾时代2 天前
金融行业AI治理与安全解决方案
人工智能·安全·金融
CDA数据分析师干货分享2 天前
民办本科金融工程背景,如何考过CDA数据分析师二级成功转行数据岗
金融·转行·cda证书·cda数据分析师·民办本科