基于存算分离的指标计算引擎的实现方法技术

技术编号:39719524 阅读:9 留言:0更新日期:2023-12-17 23:26
本发明专利技术公开了一种基于存算分离的指标计算引擎的实现方法,包括:

【技术实现步骤摘要】
基于存算分离的指标计算引擎的实现方法


[0001]本专利技术涉及一种计算引擎实现方法,尤其涉及一种基于存算分离的指标计算引擎的实现方法


技术介绍

[0002]指标计算是资产管理公司信息技术重要基础性工作,为信息披露

客户服务和投资决策等场景做数据支撑

数字化转型的过程中逐步增长的数据和报表需求与目前金融计算支撑能力不足之间产生不可避免的矛盾,具备以面向服务为目标的金融指标计算能力,才能化解金融指标不完整和口径不统一等困局

资产管理行业软件多源于外购产品,底层数据结构和实现方式多样化,指标存于多个系统中,获取周期长和数据易用性差等问题突出,因此借助数据中台的数据加工和整合能力,提升指标口径一致性

缩短数据供应和数据应用之间的距离,并统一对外数据归口是指标计算引擎搭建的一个重要背景

[0003]现有的计算平台中指标计算是采用数据库存储过程技术

存储过程是在大型关系型数据库系统中,一组为了完成特定功能的
SQL
语句集

在具体实践过程中,采用存储过程用于指标计算的性能高度依赖数据库机器的配置,追加硬件的成本越来越高以及硬件边际效应的减弱,计算性能瓶颈愈专利技术显,制约着更多的应用系统的调用

另一方面,采用存储过程用于指标计算会用到大量的中间表,限制了代码的可移植性,代码复用能力和运维成本较高

缺乏横向扩展能力,灵活性不够,计算能力不足,不能有效支持高并发调用,不能支持复杂的应用场景

另外,数据和计算耦合在一块,计算依赖于数据库聚合类函数,在面对获取异构数据库数据方面要通过数据类型转化等环节,额外增加数据处理成本


技术实现思路

[0004]本专利技术所要解决的技术问题是提供一种基于存算分离的指标计算引擎的实现方法,能够屏蔽底层数据变化对算法的实现的影响,保障核心算法的稳定性,并能大幅度降低数据获取次数和重复计算,进而提升整体计算性能

[0005]本专利技术为解决上述技术问题而采用的技术方案是提供一种基于存算分离的指标计算引擎的实现方法,包括如下步骤:
S1)
配置
ETL
任务,抽取业务系统数据,经过数据清洗和汇总,产出基础金融模型数据,进一步加工成资产收益相关的中间变量数据,并将中间变量存放于数据库中;
S2)
通过数据源与计算模型分层设计,分离数据与计算模型,使得不同数据源共享算法;
S3)
将使用相同数据的算法进行归类,放到同一算法包中,并把取数的逻辑独立出来,对相同数据实现共享;
S4)
基于流式计算方式,使用一次或两次迭代实现同一算法包中的所有算法

[0006]进一步地,所述步骤
S1
中基础金融模型数据包括现金流

净值

持仓和交易,所述步骤
S1
中的中间变量数据包括组合日收益率

组合日收益金额

个券日收益额和小类资产日收益额

[0007]进一步地,所述步骤
S2
中计算模型包括业绩计算模型

归因计算模型

风险计算模
型和资产分布计算模型

[0008]进一步地,所述步骤
S3
将常见风险指标算法以及各算法的年化算法放到同一个算法包中,所述常见风险指标包括组合收益率

基准收益率

波动率

跟踪误差

夏普比率

信息比率

上行波动率

下行波动率

上行捕获

下行捕获
、Beta、Alpha、
索提诺

特雷诺

詹森指数

上行
Beta
和下行
Beta。
[0009]进一步地,所述步骤
S4
通过数学公式变形计算标准差,使用一次迭代循环计算出常见风险指标算法结果,数学公式变形过程如下:
[0010]变形前为:
[0011][0012]其中
χ

χ1到
χ
n
的平均值;
[0013]变形后为:
[0014][0015]进一步地,所述步骤
S3
中算法包依赖的计算数据源自提前加载到内存中的热数据和部分从数据库获取的冷数据,通过逻辑运算产生不同口径的计算结果

[0016]进一步地,所述步骤
S3
使用常驻内存及分批读取的方式来进行存储管理,将流式计算所需数据预先装载到内存中,数据一次循环流入到各个算法中

[0017]进一步地,所述步骤
S3
将经常使用的组合净值,组合日收率

基准日收益率和无风险收益率放到常驻内存中,并根据内存的配置分批加载历史数据,每次加载
n
年数据

[0018]本专利技术对比现有技术有如下的有益效果:本专利技术提供的基于存算分离的指标计算引擎的实现方法,将计算和数据的分离,解耦数据和算法,从而屏蔽底层数据变化对算法的实现的影响,保障核心算法的稳定性;同时建立面向数据流的计算模式,数据流向算法,大幅度降低数据获取次数,并建立具备“血缘”关系的同一算法包降低重复计算,进而提升整体计算性能

附图说明
[0019]图1为本专利技术中间变量加工流程图;
[0020]图2为本专利技术数据模型与算法模型示意图;
[0021]图3为传统封装模式示意图;
[0022]图4为本专利技术算法包封装模式示意图;
[0023]图5为本专利技术面向数据流的算法实现示意图;
[0024]图6为本专利技术数据预加载示意图;
[0025]图7为本专利技术数据获取方式示意图

具体实施方式
[0026]下面结合附图和实施例对本专利技术作进一步的描述

[0027]1.
中间变量的加工
[0028]请参见图1,配置
ETL
任务,抽取业务系统数据,经过数据清洗

轻度汇总和重度汇
总等加环节
(
参照图
1)
,产出现金流

净值

持仓和交易等基础金融模型数据,进一步加工成组合日收益率

组合日收益金额

个券日收益额和小类资产日收益额等中间变量数据,中间变量存放于数据库中,成为后续指标计算的基础数据要素

[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于存算分离的指标计算引擎的实现方法,其特征在于,包括如下步骤:
S1)
配置
ETL
任务,抽取业务系统数据,经过数据清洗和汇总,产出基础金融模型数据,进一步加工成资产收益相关的中间变量数据,并将中间变量存放于数据库中;
S2)
通过数据源与计算模型分层设计,分离数据与计算模型,使得不同数据源共享算法;
S3)
将使用相同数据的算法进行归类,放到同一算法包中,并把取数的逻辑独立出来,对相同数据实现共享;
S4)
基于流式计算方式,使用一次或两次迭代实现同一算法包中的所有算法
。2.
如权利要求1所述的基于存算分离的指标计算引擎的实现方法,其特征在于,所述步骤
S1
中基础金融模型数据包括现金流

净值

持仓和交易,所述步骤
S1
中的中间变量数据包括组合日收益率

组合日收益金额

个券日收益额和小类资产日收益额
。3.
如权利要求1所述的基于存算分离的指标计算引擎的实现方法,其特征在于,所述步骤
S2
中计算模型包括业绩计算模型

归因计算模型

风险计算模型和资产分布计算模型
。4.
如权利要求1所述的基于存算分离的指标计算引擎的实现方法,其特征在于,所所述步骤
S3
将常见风险指标算法以及各算法的年化算法放到同一个算法包中,所述常见风险指标包括组合收益率

基准收益率

波动率

跟踪误差

【专利技术属性】
技术研发人员:杨红松王昊
申请(专利权)人:长江养老保险股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1