一、立项背景和目标
(一)立项背景
当前量化交易工具在高频场景中,存在数据交互延迟高、策略执行不实时、界面体验欠佳等问题,难以满足专业投资者需求,故启动本项目。
(二)立项目标
满足高频交易低延迟数据交互需求;
支持复杂策略实时运算与执行;
打造直观流畅的专业操作界面;
基于 MVVM、GRPC、PostgreSQL 等技术,构建稳定可维护系统。
二、软件功能、核心功能模块介绍
(一)整体功能
涵盖账户管理(含资方交易账号配置)、市场数据查看、策略管理、订单执行与监控、数据统计分析等量化交易全流程功能。
(二)核心模块
用户界面模块:基于 MVVM 架构,用 CommunityToolkit.Mvvm 解耦,dynamicData 实现数据实时同步,支持界面自定义布局。
策略管理模块:支持策略创建、编辑、回测与上线,提供股票池配置及自动买卖撤单阈值设置,无策略模板。
交易执行模块:依托 GRPC 实现低延迟通信,支持多订单类型,实时展示订单状态,具备风险控制功能。
数据存储模块:用 PostgreSQL 存储数据,设计缓存与本地持久化方案,保障数据安全与高效读写。
账户管理模块:支持系统登录账号操作,资方交易账号需在设置页面提前配置(非系统登录账号);提供账户注册、资产查看、交易记录查询与报表导出功能,一个资方交易账号对应一个服务器节点,含上交所、深交所两个交易节点。
操作日志模块:记录交易员操作日志,便于追溯与管理。
三、业务流程、功能路径描述
(一)业务流程
登录流程:打开客户端→输入系统登录账号密码→选择已在设置页面配置的资方交易账号及对应节点→GRPC 传输验证→通过则加载界面与数据,失败则提示重试。
策略流程:进入策略管理→配置股票池与交易阈值→创建策略→回测→优化→上线→触发条件时生成订单→发送交易所→同步结果。
订单流程:进入交易模块→选品种与订单类型→输信息→校验→GRPC 传后端→发交易所→监控状态→记录结果。
(二)功能路径
登录:打开客户端→输系统登录账号密码→选资方交易账号及节点→登录→进主界面。
交易账号配置:主界面→设置页面→资方交易账号配置→保存。
策略管理:主界面→策略管理→配置参数→创建→回测→上线。
订单操作:主界面→交易订单→选品种→输信息→提交→监控。
日志查看:主界面→操作日志→按条件查询。
一、整体架构和设计思路及技术栈
(一)整体架构与设计思路
项目采用分层架构 + MVVM 模式设计,以 “解耦高效、低延迟、可维护” 为核心思路。整体分为界面层、业务逻辑层、数据交互层、存储层四层:界面层负责用户交互与数据展示,业务逻辑层处理策略运算、订单管理等核心业务,数据交互层保障客户端与后端低延迟通信,存储层实现数据安全读写。各层独立开发、协同调用,同时通过 MVVM 模式分离视图与业务逻辑,提升代码复用性与后期迭代效率。
(二)各模块技术栈
界面层(用户界面模块):基于 WPF 框架开发,采用 CommunityToolkit.Mvvm 实现 MVVM 解耦,通过 dynamicData 完成界面与底层数据的动态绑定,确保行情、订单等数据实时更新;自定义 39 个个性化组件替代开源库,优化界面性能与适配性。
业务逻辑层(策略管理 / 交易执行模块):使用 C# 语言编写核心逻辑,策略管理模块集成轻量级回测引擎,支持股票池配置与交易阈值计算;交易执行模块嵌入风险控制算法,实现订单合法性校验与实时状态追踪。
数据交互层(服务通信模块):基于 GRPC 协议构建客户端与后端的通信链路,采用 Protobuf 序列化数据,降低传输延迟;同时设计断线重连机制,保障高频交易场景下的通信稳定性。
存储层(数据存储模块):以 PostgreSQL 作为主数据库,存储账户信息、交易日志等核心数据;本地采用 SQLite 实现数据持久化缓存,结合 LRU 缓存策略,提升常用数据(如行情快照)的读取速度。
二、“我” 的负责模块和结果
作为独立开发者,“我” 全程负责客户端全流程工作,涵盖需求调研、原型设计、编码实现、测试优化四大阶段,具体成果如下:
需求调研与原型设计(1.5 个月):完成 3 类核心用户(机构投资者、量化交易员、资方管理员)的需求访谈,输出《量化交易客户端需求规格说明书》(含 28 项功能点定义);使用 慕客 制作高保真原型(共7大模块页面),原型通过率达 100%,获团队认可。
编码实现(3 个月):独立完成全部模块的开发,编写代码量超 3 万行(超过一半由AI实现),代码注释率达 85%;实现 39 个个性化组件开发(如行情 K 线组件、策略参数配置组件),组件复用率超 70%;完成 GRPC 通信链路搭建,实现客户端与后端的平均通信延迟控制在 50ms 以内,满足高频交易需求。
测试与优化(1 个月):设计 120 + 条测试用例(含功能测试、性能测试、异常场景测试),发现并修复 Bug 共 38 个,客户端测试通过率达 99%;优化界面加载速度,主界面启动时间从初始的 3.2 秒降至 1.5 秒。
交付成果:最终交付可直接上线的客户端安装包(支持 Windows 10/11 系统)。