[BIZ] - 1.金融交易系统数据特点

2024-02-15 13:36

本文主要是介绍[BIZ] - 1.金融交易系统数据特点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 典型数据汇总

数据

说明

新增数据量(条/天)

Qps(条/s)

消息大小(Byte)

实时性

可丢失性

可恢复性

实时行情

1.使用场景:交易,报价,策略验证;

2.冷热分离:彭博行情/其他行情;黄金&期货行情/固守行情

5亿

3万

1.5K

< 5ms

< 5%

N

风控数据

容易造成BigKey问题

数据事后风控

500万

3万

50K

分钟级别

可丢失

N

监控数据

数据种类:

1.中间件监控

2.应用监控

10亿

5万

215

亚分钟级别

可丢失

N

excel报价数据

做市报价

3亿

2万

3M

压秒

可丢失

N

订单数据

含做市

1千万

1万

1.5K

< 3ms

不可丢失

Y

权限数据

权限控制粒度小

容易造成HotKey问题

1千万5万215< 1ms不可丢失Y

通过上表,我们可以知道,金融交易系统的数据具有以下特点:

1.1 数据量极大

交易系统的数据量特大,主要来自以下几种类型的数据。

1.1.1 行情

    行情是交易系统最为重要的数据,交易就是在不断变化的行情中寻找时机来实现盈利的。海量的行情主要分成两种,一种是tick数据(也叫逐笔行情),例如彭博行情数据,它会将每一笔交易的行情都发布出来,这种数据量巨大,一天就有4亿多条数据;另一种是每隔500ms发布一次行情,这种相对来说数据量少很多,一天大概1亿条左右。再加上各家公司会根据需求对行情进行进一步的加工,如聚合多种行情形成的聚合行情。数据量一天就会达到5亿多条。   

1.1.2 报价

    作为做市商,需要根据行情,通过一定的算法(如跟随当前行情报价、根据设定的差值及当前行情报价,根据行情计算曲线,然后报价)对外报价。报价数据一天的数据量能达到3亿条。

1.1.3 监控

    监控数据主要包括中间件的监控数据,服务实例的内存和CPU监控数据等,数据量和QPS非常高。一天的数据量能达到10亿条,在进行监控图标展示时,必须进行采样处理。

1.2 并发性极高

1.2.1 行情

    对于行情而言,QPS基本保持在3万/s以上,高峰时段(国内交易时间9:00 - 11:30左右,国外交易时间21:.00 - 23:00)的QPS能达到3万/s。

1.2.2 权限

    对于交易高峰时段(手动单,电子单,做市,量化),会造成权限数据的访问频繁达到5万/s。主要是读高峰,权限写操作比较少,而且一般在开始交易前就已经完成。

1.2.3 监控

    监控数据的峰值能达到5万/s,主要是写操作并发高。

1.2.4 风控

    风控数据分成两种,一种是partial batch,数据量少,时间间隔短,例如每10s计算一次;另一种是full batch,会根据当前行情全量计算一次所有产品的风控指标数据,例如每30min计算一次。由于full batch的计算量大,而且希望结果能够一次性给到交易员查看,议事交易员能够看到不同产品的统一切面数据,导致风控数据的瞬间并发值特别高,达到3万/s。

1.2.5 报价

    由于做市交易和量化交易的存在,导致报价数据量特别大,峰值能够达到2万/s。

1.2.6 订单

    交易方式的多样化,如手工单,电子单,做市交易以及量化交易,再加上订单策略,如冰山策略等,导致订单的并发量在高峰时可以达到1万/s。

1.3 延时要求极低

1.3.1 行情

1.3.1.1 实时行情

    实时行情分量两大类,一类是当前会进行交易的产品行情数据,另一类是计划以后会进行交易,当前只是用于策略测试的行情数据。

    对于会进行交易的产品行情数据,要求交易所或数据商的数据进入交易系统后,必须在3ms以内推送到各个下游服务。

    数据流的大致过程:

交易所 --> 行情接入服务(接入数据,加工数据) -> MQ(MQ间消息同步) -> 下游服务 

1.3.1.2 历史行情

行情,报价,交易,权限相关的延时必须极低;监控,

差异大

1.4 消息体大

差异也大

1.5 数据质量根据场景差异明显

例如行情,实时行情延时要求在3ms以内;对于历史行情,如果三年内的行情,延时可以在亚秒级别;对于五年内的行情,延时可以在分钟级别;五年以外的行情,可以存档。

对于订单数据,要求绝对不能丢失,延时在5ms以内。

权限数据,要求不能丢失,且延时在3ms以内。

这篇关于[BIZ] - 1.金融交易系统数据特点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711526

相关文章

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB