news 2026/6/1 5:25:56

量化系统难题2_结构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
量化系统难题2_结构

关于做量化系统遇到的难题,系统内各种类,方法的问题

前言

时光飞逝,转眼间几小时就过去了,而我却没有研究怎么改好数据,而是在这写系统结构的问题。这是为什么呢?因为我实在没头绪,不如先把这篇博客写好。

难题

对于一个经验丰富的开发者来说,这应该不是什么难题,但是对我来说是个问题。问题是这样的,我的目的是建立一个日k级别的量化分析系统,能够做到市场数据获取,策略回测,策略定义,指标定义,结果可视化,等等功能。由于这是我第一次做包含这么多东西的项目,所以就在类,方法之间的相互依赖关系这个问题上犯了难。

有哪些问题呢?举几个例子,数据获取我定义了两个类,一个是基于akshare做的数据爬取fetcher类,一个是负责本地数据管理的local_storage类,此刻我定义一个数据获取方法get_data我该定义在哪,怎样合理复用这两个类中的方法?

如果我更新了数据爬取的方法,会不会对所有依赖它的方法造成影响?

类似的,我又定义了一个批量获取数据的方法,此时我是否要复用get_data?如果不复用get_data的话,一般是需要对获取过程做单独的优化,比如数据获取时优先使用哪个源。

思考

做这种问题其实是一种思维的转变,面向过程是一条线,如:获取数据→回测策略(可选)→可视化分析(可选)→根据策略生成买卖点,创建一个文件从头写到尾就可以解决问题。但是这种模式在需要测试不同的策略的时候就会出现问题,这也就催促我们把各种方法封装好。

而面向对象则是一张网,每一个步骤都可能调用上一步的任何一个方法,这是不止是对代码能力的考验,也是对系统整体架构思路清晰与否的考验。

当时想着做这个系统之前,其实我只是想做个选股器,但是做个选股器就需要检验策略,检验策略又需要数据,检验结果又需要可视化,数据存储形式需要优化,数据也需要增量更新,回测又需要高效率,选股结果又需要生成个报告,生成报告又需要接入大模型,大模型报告中间又需要加入图表,没完没了了,某种角度上,这个项目名称称为apeiria_stock还真没毛病,因为apeiria寓意为无限嘛,各种问题没完没了也是一种无限😂。

至于为什么名叫apeiria_stock,其实很简单,因为流景之海的艾佩莉娅这个游戏剧情我很喜欢,自然也就把女主的名字拿来用了。

本文配图使用 Avilia Blog Illustrations 流程生成。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/1 5:23:21

「GTR 终极圣域」主题沙龙中,嘉宾们深度畅谈了哪些核心话题?

有人说,中国改装圈缺的不是技术和钱,缺的是一个能让所有人为同一个信仰坐在一起的场。上个月,在APAxpo佛山改装展的「GTR 终极圣域」主题沙龙暨粉丝见面会上,我就亲眼见证了这种稀缺的场。这个活动,与其说是一场沙龙&a…

作者头像 李华
网站建设 2026/6/1 5:16:30

BERT:基于深度双向 Transformer 的语言理解预训练模型

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding摘要1. 引言2. BERT2.1 介绍2.2 BERT架构2.3 输入/输出表示3. 预训练bert3.1 任务 1:掩码语言模型3.2 任务 2:下一句预测(NSP)3.3 预训练数据4. 微调bert4.1 方法4.2 不同任务的微调4.3 bert…

作者头像 李华
网站建设 2026/6/1 5:09:04

基于Azure AI Studio与RAG架构构建私有数据AI助手实战指南

1. 项目概述:打造你的专属AI助手 你是否曾想过,让ChatGPT这样的AI不仅能回答通用问题,还能成为你的私人知识库,回答关于你公司内部文档、个人笔记或专业资料的特定问题?这个想法听起来很酷,但实现起来似乎…

作者头像 李华
网站建设 2026/6/1 5:04:58

CRAFT框架:大模型驱动的多机器人协同训练技术解析

1. CRAFT框架:大模型驱动的多机器人协同训练新范式在机器人协同控制领域,让多个智能体学会配合完成复杂任务一直是个棘手难题。想象一下让两只机械臂配合抬起一口锅——不仅需要各自精准控制动作,还得实时协调力度和角度,传统方法…

作者头像 李华