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

前言

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

相关推荐
证卡识读张工3 天前
中软高科身份证云解码金融(银行)解决方案介绍
金融
智慧城市20304 天前
204页PPT金税四期监管要求与最新政策及风险防范-培训课件
金融
Q39575332375 天前
中阳科技:从量化交易到智能金融的创新实践
科技·金融
ai_lian_shuo5 天前
三、基于langchain使用Qwen搭建金融RAG问答机器人--检索增强生成
python·金融·langchain·aigc
美团测试工程师5 天前
银行金融项目测试+常问面试题(附答案)
软件测试·金融
ai_lian_shuo5 天前
二、基于langchain使用Qwen搭建金融RAG问答机器人--数据清洗和切片
python·金融·langchain·机器人·aigc
130252015125 天前
企业直播间媒体分发新闻转播拉流推广名单(金融财经科技类)
人工智能·金融·媒体
期魔方6 天前
期魔方量化投研平台麦语言编写学习案例
经验分享·金融·量化交易·期魔方·麦语言
珠穆拉玛峰10 天前
数字货币金融研究,深度学习虚拟币价格预测 数据集 市值top20 (2014年—2024年)
深度学习·金融·区块链