System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 减少内存使用的计算风险价值百分位数的方法、系统及存储介质技术方案_技高网

减少内存使用的计算风险价值百分位数的方法、系统及存储介质技术方案

技术编号:40070176 阅读:6 留言:0更新日期:2024-01-17 00:03
本发明专利技术提供了一种减少内存使用的计算风险价值百分位数的方法、系统及存储介质,包括如下步骤:步骤1:读取与所需百分位数相对应的数据,将读取的数据记为数组A,将其数据量记为M;步骤2:对数组A进行排序,将数组A中的最大值设定为第一阈值;步骤3:继续读取数据,仅存储小于第一阈值的数据,数据量达到M或已读取完所有数据时停下,记为数组B;步骤4:对数组B进行排序;步骤5:依升序合并数组A和数组B,取最小的M个数据,记为数组C;步骤6:将数组C中的最大值设定为第二阈值;步骤7:判断是否已读取和处理完所有数据,若是,那么执行步骤8,否则给数组A赋值数组C的值,然后清空数组B和数组C,然后返回执行步骤3;步骤8:输出数组C的最大值,数组C的最大值即为所求风险价值百分位数。本发明专利技术的有益效果是:本发明专利技术通过优化风险价值百分位数计算,显著减少内存占用,提高计算速度,从而满足金融分析领域的需求。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及减少内存使用的计算风险价值百分位数的方法、系统及存储介质


技术介绍

1、风险价值提供了一个统计度量,用于估计在特定置信水平下,某一金融资产或证券组合在特定时间范围内的最大潜在损失。它作为金融机构、投资公司和个人投资者的关键决策指标,使它们能够评估自己在各种金融资产和投资组合中潜在损失的风险敞口。为了计算风险价值,通常需要对利润数据的分布进行百分位数计算,以确定在特定置信水平下的损失值。

2、已经有大量研究致力于估计或模拟利润的分布,并开发了各种技术来计算或估计风险价值,如历史模拟、参数方法和蒙特卡洛模拟等技术。大多数风险价值估计方法都假定或模拟了利润的分布,然后在模拟的利润分布或利润数组上进行百分位数计算。然而,在确定历史或模拟数据的分布之后,计算风险价值百分位函数的过程仍然具有挑战。传统方法一次性读取,存储,和排序整个数据集,然后确定给定百分比所对应的百分位数。

3、虽然现有方法在概念和实现上很简单,但当处理大型数据集时会遇到计算复杂性和内存消耗的问题。具体来说,以下是现有技术中的关键问题:

4、1.内存消耗大:现有的风险价值百分位数计算方法需要一次性存储和排序整个数据集。由于金融机构通常需要处理数千万到数亿条记录,现有方法会消耗大量内存资源,使内存占用成为一个瓶颈。

5、2.计算速度慢:一次性排序整个数据集的计算复杂度会随着数据集的规模增加而增加,因此在大型数据集上的计算速度较慢。这会妨碍及时决策和高效的风险管理。

6、3.不适用于动态市场:现有方法无法有效应对金融市场的动态变化,特别是在快速变动的市场环境下,当新的数据进入时必须重新排序,计算风险价值可能会变得更加困难。

7、随着金融数据量日益庞大,有限的硬件内存与存储并排序大量金融数据的需求之间的矛盾日益突出,给风险价值百分位数的计算带来了极大的困难。现有技术在处理大规模金融数据集时存在内存消耗大和计算速度慢的问题,需要一种新的方法来解决这些问题,以加速风险价值百分位数计算,减少内存使用,同时不影响结果的准确性。


技术实现思路

1、本专利技术提供了一种减少内存使用的计算风险价值百分位数的方法,包括如下步骤:

2、步骤1:读取与所需百分位数相对应的数据,将读取的数据记为数组a,将其数据量记为m;

3、步骤2:对数组a进行排序,将数组a中的最大值设定为第一阈值;

4、步骤3:继续读取数据,仅存储小于第一阈值的数据,数据量达到m或已读取完所有数据时停下,记为数组b;

5、步骤4:对数组b进行排序;

6、步骤5:依升序合并数组a和数组b,取最小的m个数据,记为数组c;

7、步骤6:将数组c中的最大值设定为第二阈值;

8、步骤7:判断是否已读取和处理完所有数据,若是,那么执行步骤8,否则给数组a赋值数组c的值,然后清空数组b和数组c,然后返回执行步骤3;

9、步骤8:输出数组c的最大值,数组c的最大值即为所求风险价值百分位数。

10、作为本专利技术的进一步改进,在所述步骤1中,读取并存储n*p%个数据,将读取的数据记为数组a,n表示整个数据集的大小,p%表示给定的所需百分位数,n*p%被定义为百分位计数,即所需百分位数相对应的数据量。

11、作为本专利技术的进一步改进,在所述步骤2中,按从小到大排序数组a,将数组a中的最大值设定为第一阈值。

12、作为本专利技术的进一步改进,在所述步骤3中,继续读取数据,仅存储小于第一阈值的数据,直到存储的数据达到n*p%个,记为数组b。

13、作为本专利技术的进一步改进,在所述步骤4中,按从小到大排序数组b。

14、作为本专利技术的进一步改进,在所述步骤5中,合并数组a和数组b,数据达到n*p%个停止,记为数组c。

15、作为本专利技术的进一步改进,在所述步骤5中,从最小值开始,按从小到大顺序合并排序好的合并数组a和数组b,数据达到n*p%个停止,记为数组c。

16、本专利技术还提供了一种减少内存使用的计算风险价值百分位数的系统,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本专利技术所述方法的步骤。

17、本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本专利技术所述方法的步骤。

18、本专利技术的有益效果是:本专利技术通过优化风险价值百分位数计算,显著减少内存占用,提高计算速度,从而满足金融分析领域的需求。

本文档来自技高网...

【技术保护点】

1.一种减少内存使用的计算风险价值百分位数的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的方法,其特征在于:在所述步骤1中,读取并存储N*p%个数据,将读取的数据记为数组A,N表示整个数据集的大小,p%表示给定的所需百分位数,N*p%即为所需百分位数相对应的数据量。

3.根据权利要求1所述的方法,其特征在于:在所述步骤2中,按从小到大排序数组A,将数组A中的最大值设定为第一阈值。

4.根据权利要求2所述的方法,其特征在于:在所述步骤3中,继续读取数据,仅存储小于第一阈值的数据,直到存储的数据达到N*p%个,记为数组B。

5.根据权利要求1所述的方法,其特征在于:在所述步骤4中,按从小到大排序数组B。

6.根据权利要求2所述的方法,其特征在于:在所述步骤5中,合并数组A和数组B,数据达到N*p%个停止,记为数组C。

7.根据权利要求6所述的方法,其特征在于:在所述步骤5中,从最小值开始,按从小到大顺序合并排序好的合并数组A和数组B,数据达到N*p%个停止,记为数组C。

8.根据权利要求1所述的方法,其特征在于:在所述步骤5中,依升序合并数组A和数组B,取最小的M个数据,记为数组C。

9.一种减少内存使用的计算风险价值百分位数的系统,其特征在于,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-8中任一项所述方法的步骤。

10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-8中任一项所述方法的步骤。

...

【技术特征摘要】

1.一种减少内存使用的计算风险价值百分位数的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的方法,其特征在于:在所述步骤1中,读取并存储n*p%个数据,将读取的数据记为数组a,n表示整个数据集的大小,p%表示给定的所需百分位数,n*p%即为所需百分位数相对应的数据量。

3.根据权利要求1所述的方法,其特征在于:在所述步骤2中,按从小到大排序数组a,将数组a中的最大值设定为第一阈值。

4.根据权利要求2所述的方法,其特征在于:在所述步骤3中,继续读取数据,仅存储小于第一阈值的数据,直到存储的数据达到n*p%个,记为数组b。

5.根据权利要求1所述的方法,其特征在于:在所述步骤4中,按从小到大排序数组b。

6.根据权利要求2所述的方法,其特征在于:在所述步骤5中,...

【专利技术属性】
技术研发人员:沈建明
申请(专利权)人:弈酷高科技深圳有限公司
类型:发明
国别省市:

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

1