当前位置: > 股票>正文

智牛股: 智牛股金融交易平台是服务于金融衍生产品, 包含外汇、贵金属、期货、股票等。 各产品具有不同属性与交易规则, 本项目对标MT4/MT5等大型交易平台, 遵循FIX全球最广泛的金融市场通用协议。 包含证券用户注册、交易开户、行情订阅与呈现、 市价下单、委托挂单、撤单、 撮合交易等核心业务功能。

2023-07-14 23:34:56 互联网 未知 股票
智牛股第1章 项目介绍1. 目标了解项目整体设计, 主要功能与所用到的技术栈掌握金融背景基础知识,拓展理解相关业务知识了解项目的技术特色与技术解决方案掌握技术选型与分析2. 路径项目简介服务架构图金融背景知识项目需求分析项目架构设计技术的比对分析案例3. 讲解3.1 项目简要介绍

金融交易平台是服务于金融衍生产品, 包含外汇、贵金属、期货、股票等。 各产品具有不同属性与交易规则, 本项目对标MT4/MT5等大型交易平台, 遵循FIX全球最广泛的金融市场通用协议。 包含证券用户注册、交易开户、行情订阅与呈现、 市价下单、委托挂单、撤单、 撮合交易等核心业务功能。项目特点: 专业化金融交易平台、高性能支撑海量交易数据、 完整的交易业务链, 实现竞价撮合机制, 具备广泛兼容性、高扩展性。

项目采用前后分离、遵循Restful规范设计,微服务架构、领域驱动设计、 以Spring Cloud生态为核心、采用众多主流组件实现。遵循OAUTH2授权标准, 统一认证鉴权。

服务无状态化设计、支持采用集群模式部署、无缝水平扩展、全链路式监控、统一日志管理, 完善的微服务治理体系。

技术栈: 项目设计充分考虑性能, 稳定性, 扩展性与可维护性,技术选型上横向与纵向详细对比,选取最新且主流的技术方案, 技术运用上,全面考虑, 高效结合, 充分发挥性能。 业务实现上, 针对不同业务场景选取最优技术方案, 不墨守成规,保障业务稳定性的同时, 提升业务处理性能, 发挥系统整体优势。主要技术栈包含Spring Boot、Spring Cloud Alibaba、CAT全链路监控、Sentinel熔断限流、RocketMQ订阅分发、Seata Server分布式事务、Spring Security OAuth2 统一鉴权、Ceph分布式文件系统操作、XXL-JOB分布式任务调度平台,持续集成(Jenkins+Git+Maven+Docker)、 微服务高效通讯方案(SpringBoot2.X+ Netty+Protobuf+gRpc集成运用)等等。

3.2 股票基础知识介绍什么是股票股票是一种由股份制有限公司签发的用以证明股东所持股份的凭证,它表明股票的持有者对股份公司的部分资本拥有所有权。由于股票包含有经济利益,且可以上市流通转让,股票也是一种有价证券。我国上市公司的股票是在上海证券交易所和深圳证券交易所发行,投资者一般在证券经纪公司开户交易。什么是K线股市及期货市场中的K线图的画法包含四个数据,即开盘价、最高价、最低价、收盘价,所有的k线都是围绕这四个数据展开,反映大势的状况和价格信息。如果把每日的K线图放在一张纸上,就能得到日K线图,同样也可画出周K线图、月K线图。基本规则

交易时间上午9:30 --11:30下午13:00 -- 15:00

涨跌幅限制每只证券的交易价格相对上一个交易日收市价的涨跌幅度不得超过10% 。

交易单位股票的交易单位为“股”,100股=1手, 委托买入数量必须为100股或其整数倍;

价格优先

较高价格买进申报优先于较低价格买进申报, 较低价格卖出申报优先于较高价格卖出申报;

时间优先

买卖方向、价格相同的, 先申报者优先于后申报者

如何交易

开设账户通过证券公司注册开设账户

传递买卖指令一般通过交易软件, 下达买卖指令, 由券商传递给交易所。

成交过程交易所接收到交易指令, 按撮合方式进行交易。

撮合处理

所有的买委托按照委托限价由高到低的顺序排列,限价相同者按照进入系统的时间先后排列;所有卖委托按委托限价由低到高的顺序排列,限价相同者按照进入系统的时间先后排列。

依序逐笔将排在前面的买委托与卖委托配对成交,即按照“价格优先,同等价格下时间优先”的成交顺序依次成交,直至成交条件不满足为止,即不存在限价高于等于成交价的叫买委托、或不存在限价低于等于成交价的叫卖委托。所有成交都以同一成交价成交。

交割买卖股票成交后,买主付出现金取得股票,卖主交出股票取得现金。

过户交割完毕后,新股东应到他持有股票的发行公司办理过户手续,即在该公司股东名册上登记他 自己的名字及持有股份数等。完成这个步骤,股票交易即算最终完成。过户是会收取一定手续费。

3.3 需求介绍

整个平台支持三个层级运作, 包含 B 端交易商、 营运中心与顶层集团。本项目侧重 B2C 的业务, 可以忽略营 运中心层级, 重点关注 B 端交易商与C 端用户的功能实现。

核心功能包含行情订阅、K线呈现、撮合交易、深度成交、市价成交、限价委托、手动撤单、仓位总览、资金总览等等。实现整个完整服务流程。

3.4 架构设计介绍

服务架构设计

功能架构设计

技术架构设计:

服务架构设计说明

接入层与前置服务在实际生产环境部署中, 采用Nginx主备模式接入,通过Spring Cloud Gateway调用业务集群, 根据请求路径,映射调用不同的微服务。

交易服务群代理服务负责交易与行情的处理, 采用Netty对接, 内部交易与行情微服务群采用SpringBoot2.X+Protobuf+gRpc连接调用, 交易是整个项目的核心, 主要分为代理服务, 负责客户端接入与数据的分发;行情服务,负责第三方行情源接入, 客户端的订阅与下发处理;交易服务, 处理核心交易逻辑, 包含撮合、深度、委托挂单、撤单等功能。还有仓位服务、资金服务、监控服务等,支撑完善交易服务功能。

基础服务群将系统底层基础模块抽离封装,划分为系统管理服务、用户中心服务、统一鉴权服务等。 这些基础模块职能单一, 划分清晰, 不能存在过度耦合与复杂逻辑, 便于扩展与其他业务服务的接入。

业务服务群包含派息分红、拆股强平服务、支付出金服务、报表服务, 活动服务等等。业务服务的拆分,需要认清业务的核心环节, 把控服务粒度, 微观解耦, 宏观统一, 整体有序。在服务治理, 部署, 规划上, 加强核心业务的管控与稳定性。

任务调度服务群整个交易平台存在异步计算、监听、返写、预警触发、通知记录以及业务数据处理等各种调度任务;解耦核心业务处理, 保障稳定性; 采用专业ElasticJob分布式任务调度与治理框架, 提升系统吞吐能力与稳定性。

同步服务群

交易数据与业务数据分离设计, 保障核心交易数据的稳定性, 同时提升业务数据处理的灵活性与扩展性, 需要实现交易与业务数据的同步, 主要分为用户信息与资金数据、产品配置与管理数据、订单交易与流水数据。 金融场景对数据存在较高的敏感, 同时又要求较高的实时性, 需要充分考虑数据的安全, 性能与稳定。

服务治理

微服务架构设计有众多优点, 但过多的服务也会带来一系列的治理问题, Spring Cloud 整个生态拥有丰富的开源服务治理组件, 具备完整服务治理能力。 包含负载均衡、动态路由、日志采集、全链路监控、熔断降级等。相比Istio服务网格治理理念,它是把微服务框架与服务治理进行拆分,适合更大规模的微服务群, 而数十个规模的微服务, 采用Spring Cloud 足够驾驭且便于研发人员设计与管控。

数据层服务

数据库采用PostgreSQL主从模式存储交易数据; MariaDB集群模式存储业务数据。从规划上做好读写分离, 保障主库数据处理的稳定性, 集群模式提升数据库的可扩展性及高可用, 支撑海量数据高效运行。

3.5 整体技术说明

整体服务层划分为前端交互、接入层、 接口层、服务中间件、数据层服务组件、服务管理组件。

支持Jenkins持续集成, Docker虚拟化与DevOps管理, 采用主流数据库技术, MariaDB集群作为业务数据库, PostgreSQL主从作为交易数据库, 多种技术结合, 发挥最佳性能, 支持大型数据项目应用。

接入层技术

接入服务, 采用LVS+NGINX+KEEPALIVED, 实现了整体服务的负载均衡与高可用。

业务服务, 集成Spring Cloud Gateway, 能够支持自定义路由转发, 支持OATUH2鉴权。

交易服务, 采用高效Netty NIO接入, 内部采用高性能的gRPC+ PB方式通讯。

服务注册与统一配置采用Nacos集群, 以MariaDB作为数据源, Nginx作负载。 支持所有微服务的注册发现与统一配置管理, 能够按不同环境管理不同的配置信息, 同实支持配置信息的动态更新。

应用层与通信技术

分为内部服务与外部服务, 业务服务通过Gateway与外部对接, 交易与行情服务通过代理服务与外部对接。代理服务根据头部信息做路由转发处理。内部通信采用异步架构设计,结合RocketMQ集群, 提升吞吐量与处理效率。

采用Spring Boot Starter gRPC + ProtoBuf实现,gRpc通讯性能要高于基于http方式的feign,PB数据效率要高于Json, 优点便捷、高效、广泛兼容性,主要用来实现用户交易数据的处理。采用Netty作为长连接的NIO框架, 处理交易数据与行情数据, 因为交易数据存在异步处理特征,以及行情数据的高频度特征, 使用高效的NIO框架加上长连接的方式更为合适。业务数据对外HTTP接口,遵循RestFul规范, 前后分离方式, 实现管理后台以及配置数据的处理。

中间件

REDIS集群: 三主三从集群部署模式, 支撑

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。