浮动收益计算方法、装置、设备及计算机可读存储介质与流程

文档序号:16812840发布日期:2019-02-10 13:54阅读:236来源:国知局
浮动收益计算方法、装置、设备及计算机可读存储介质与流程

本公开实施例涉及互联网技术领域,尤其涉及浮动收益计算方法、装置、设备及计算机可读存储介质。



背景技术:

浮动收益是和固定收益相对的概念。固定收益是指在金融产品到期时,实际收益是根据固定的收益率计算得到。浮动收益类金融产品采用按日复利计息的方式计算收益。复利计息指的是在计算利息时,上一期的利息会计入下一期的计息本金。浮动收益类复利计息产品指的是对于浮动收益类金融产品,采取按日复利计息的方式计算收益。因此可以将这类金融产品简称为“浮动收益类产品”。常见的此类产品包括:货币基金、一般开放式基金、股票、定期开放型保险等。机构会提供“万份收益”或“日涨跌幅”数据。万份收益指的是当日每万份份额产生的收益。货币基金、定期开放型保险等浮动收益类产品通常采用该方式计算收益。日涨跌幅指的是当日单位份额的最新净值或成交价相较于上一日的变化。一般开放式基金、股票等浮动收益类产品通常采用该方式计算收益。当计算浮动收益产品在任意n日内的收益时,需要取出产品在n日内的“万份收益”或“日涨跌幅”数据,按日依次计算。因此,该问题的复杂度是o(n)的。即,该问题的时间开销是随着计算收益的天数(n)线性增长的,无法保证在有限时间内计算出结果。



技术实现要素:

有鉴于此,本公开第一方面提供了一种浮动收益计算方法,包括:

根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从所述开始日至所述结束日的计息周期;

获取所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额;

根据所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额计算所述计息周期内的收益率,从而计算所述计息周期内的收益。

本公开第二方面提供了一种浮动收益计算装置,包括:

第一计算模块,被配置为根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从所述开始日至所述结束日的计息周期;

获取模块,被配置为获取所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额;

第二计算模块,被配置为根据所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额计算所述计息周期内的收益率,从而计算所述计息周期内的收益。

本公开第三方面提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面所述的方法。

本公开第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面所述的方法。

在本公开实施方式中,通过根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从所述开始日至所述结束日的计息周期;获取所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额;根据所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额计算所述计息周期内的收益率,从而计算所述计息周期内的收益,可以通过以空间换时间的方式,降低时间复杂度。即,对于“计算浮动收益类金融产品在任意n日内的收益”这一复杂度为o(n)的问题,提出了一种时间复杂度为o(1)的方案,显著提升了运行速度以及服务耗时的稳定性。

本公开的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对示例性实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些示例性实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出根据本公开一实施方式的浮动收益计算方法的流程图;

图2示出根据本公开一实施方式的浮动收益计算装置的结构框图;

图3示出根据本公开一实施方式的设备的结构框图;

图4是适于用来实现根据本公开一实施方式的浮动收益计算方法的计算机系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述。

在本公开的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。.

在相关技术的一个实施方式中,解决“计算浮动收益类金融产品在任意n日内的收益”的问题采用的是时间复杂度是o(n)的方案。

一个示例的方案包括如下步骤:

1.取出n日的“万份收益”或“日涨跌幅”数据。

2.根据第n日的本金、以及第n日的“万份收益”或“日涨跌幅”数据,计算第n日的收益。第n日的收益和第n日的本金,共同作为第n+1日的本金。

3.将步骤2重复n次,得到产品的n日收益。

另一个示例的方案包括如下步骤:

1.取出n日的“万份收益”或“日涨跌幅”数据。

2.根据第n日的“万份收益”或“日涨跌幅”数据,计算“第n日的期末本金和收益之和”与“第n日的期初本金”的比值。将该比值,乘以第n-1日的结果,得到第n日的结果。

3.将步骤2重复n次,得到产品“第n日的期末本金和收益之和”与“第1目的期初本金”的比值,即该产品的n日收益率。将该数值写入数据库或缓存,后续直接从数据库或缓存读取。

4.将产品的n日收益率乘以本金,即可得到产品的n日收益。

因此,相关技术中的的计算n日计息周期内的浮动收益的方案的时间复杂度是o(n)、空间复杂度是o(1)或者o(n)。

与相关技术系统,本公开实施方式的方案计算n日计息周期内的浮动收益的时间复杂度是o(1)、空间复杂度是o(n)。因此,可以在有限时间内计算出结果,显著提升了运行速度以及服务耗时的稳定性。

图1示出根据本公开一实施方式的浮动收益计算方法的流程图。该方法可以包括步骤s101、s102和s103。

在步骤s101中,根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从开始日至结束日的计息周期。

在步骤s102中,获取金融产品在开始日前一日的本息余额以及在结束日的本息余额。

在步骤s103中,根据金融产品在开始日前一日的本息余额以及在结束日的本息余额计算计息周期内的收益率,从而计算计息周期内的收益。

在本公开的一个实施例中,计息周期指的是要对从金融产品的浮动收益进行计算的开始日至结束日。例如,计息周期可以是从金融产品的整个寿命中截取的一个时间段。

在本公开的一个实施例中,步骤s102包括:

利用下式(1)计算在开始日前一日的本息余额以及在结束日的本息余额,

bd=bd-1*(1+rd)(1)

其中,bd是第d日的本息余额,d∈[dx-1,dy],dx是开始日,dx-1是开始日前一日,dy是结束日,bd-1是第d-1日的本息余额,rd是金融产品在第d日的涨跌幅。

在本公开的一个实施例中,步骤s103包括:

利用下式(2)计算计息周期内的收益率,

其中,rx,y是金融产品在计息周期[dx,dy]内的收益率,是结束日dy的本息余额,是开始日前一日dx-1的本息余额。

在本公开的一个实施例中,步骤s103包括:

通过用d-1日的本息余额bd-1乘以所述金融产品在所述计息周期[dx,dy]内的收益率rx,y,计算计息周期内的收益。

在本公开的一个实施例中,步骤s102包括:

对d日的本息余额bd进行持久化。

在本公开的一个实施例中,可以在获取金融产品的第d日涨跌幅时,读取第d-1日的数据,然后计算d日的本息余额并持久化。对于金融产品尚未同步过收益的情况,则需要首先构造第d-1日的初始数据并进行持久化。构造初始数据时,初始金额是可以随意指定的。例如,在上述算法说明以及实际实现时,选择10000.00元作为初始金额。计算产品的n日收益时,首先需要计算出产品的计息周期[dx,dy]。然后分别读取dx-1以及dy日的数据,由于读取时是没有依赖关系的,因此可以并发读取。读取完毕后,根据即可以计算得到产品的n日收益率,进而计算得到产品的n日收益。

在本公开的一个实施例中,在对第d日的本息余额bd数据进行持久化时,使用了关系型数据库进行持久化。另外,bd数据和产品的日涨跌幅数据相关。由于产品的第d日涨跌幅数据是不会变化的,因此bd数据也是不会变化的。通过增加缓存的方式,可以进一步提升bd数据的读取性能。

在相关技术的一个实施例中,可以按照下式(3)计算第d日的本息余额bd,在第d0日前购入产品,本金为10000.00元。此时,产品在第d日有本息余额,设为bd,d∈[d0,d0+n]。

其中,ri是金融产品在第i日的涨跌幅。

在相关技术的实施方式中,可以通过下式(4)计算产品在计息周期[dx,dy]内的产品收益rx,y:

实际上,相关技术中的式(4)与本公开实施方式中的式(2)计算出的产品在计息周期[dx,dy]内的产品收益rx,y相同。

从以上内容可知,相关技术中计算产品收益rx,y的时间复杂度是o(n),导致该问题的时间开销是随着计算收益的天数(n)线性增长的,无法保证在有限时间内计算出结果。相较而言,本公开实施方式中的计算计算产品收益rx,y的时间复杂度是o(1),可以显著提升运行速度以及服务耗时的稳定性。

在本公开实施方式中,通过根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从所述开始日至所述结束日的计息周期;获取所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额;根据所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额计算所述计息周期内的收益率,从而计算所述计息周期内的收益,可以通过以空间换时间的方式,降低时间复杂度。即,对于“计算浮动收益类金融产品在任意n日内的收益”这一复杂度为o(n)的问题,提出了一种时间复杂度为o(1)的方案,显著提升了运行速度以及服务耗时的稳定性。

以下参照图2对本公开的浮动收益计算装置进行描述。

图2示出根据本公开一实施方式的浮动收益计算装置的结构框图。

如图2所示的浮动收益计算装置包括第一计算模块201、获取模块202和第二计算模块203。

第一计算模块201被配置为根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从开始日至结束日的计息周期。

获取模块202被配置为获取金融产品在开始日前一日的本息余额以及在结束日的本息余额。

第二计算模块203被配置为根据金融产品在开始日前一日的本息余额以及在结束日的本息余额计算计息周期内的收益率,从而计算计息周期内的收益。

在本公开的一个实施例中,计息周期指的是要对从金融产品的浮动收益进行计算的开始日至结束日。例如,计息周期可以是从金融产品的整个寿命中截取的一个时间段。

在本公开的一个实施例中,获取模块202被配置为:

利用下式(1)计算在开始日前一日的本息余额以及在结束日的本息余额,

bd=bd-1*(1+rd)(1)

其中,bd是第d日的本息余额,d∈[dx-1,dy],dx是开始日,dx-1是开始日前一日,dy是结束日,bd-1是第d-1日的本息余额,rd是金融产品在第d日的涨跌幅。

在本公开的一个实施例中,第二计算模块203被配置为:

利用下式(2)计算计息周期内的收益率,

其中,rx,y是金融产品在计息周期[dx,dy]内的收益率,是结束日dy的本息余额,是开始日前一日dx-1的本息余额。

在本公开的一个实施例中,第二计算模块203被配置为:

通过用d-1日的本息余额bd-1乘以所述金融产品在所述计息周期[dx,dy]内的收益率rx,y计算计息周期内的收益。

在本公开的一个实施例中,获取模块202被配置为:

对d日的本息余额bd进行持久化。

在本公开的一个实施例中,可以在获取金融产品的第d日涨跌幅时,读取第d-1日的数据,然后计算d日的本息余额并持久化。对于金融产品尚未同步过收益的情况,则需要首先构造第d-1日的初始数据并进行持久化。构造初始数据时,初始金额是可以随意指定的。例如,在上述算法说明以及实际实现时,选择10000.00元作为初始金额。计算产品的n日收益时,首先需要计算出产品的计息周期[dx,dy]。然后分别读取dx-1以及dy日的数据,由于读取时是没有依赖关系的,因此可以并发读取。读取完毕后,根据即可以计算得到产品的n日收益率,进而计算得到产品的n日收益。

在本公开的一个实施例中,在对第d日的本息余额bd数据进行持久化时,使用了关系型数据库进行持久化。另外,bd数据和产品的日涨跌幅数据相关。由于产品的第d日涨跌幅数据是不会变化的,因此bd数据也是不会变化的。通过增加缓存的方式,可以进一步提升bd数据的读取性能。

在本公开实施方式中,通过第一计算模块,被配置为根据金融产品的浮动收益计算的开始日和结束日计算金融产品的从所述开始日至所述结束日的计息周期;获取模块,被配置为获取所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额;第二计算模块,被配置为根据所述金融产品在所述开始日前一日的本息余额以及在所述结束日的本息余额计算所述计息周期内的收益率,从而计算所述计息周期内的收益,可以通过以空间换时间的方式,降低时间复杂度。即,对于“计算浮动收益类金融产品在任意n日内的收益”这一复杂度为o(n)的问题,提出了一种时间复杂度为o(1)的方案,显著提升了运行速度以及服务耗时的稳定性。

以上描述了文本内容标识装置的内部功能和结构,在一个可能的设计中,该文本内容标识装置的结构可实现为文本内容标识设备,如图3中所示,该处理设备300可以包括处理器301以及存储器302。

所述存储器302用于存储支持文本内容标识装置执行上述任一实施例中文本内容标识方法的程序,所述处理器301被配置为用于执行所述存储器302中存储的程序。

所述存储器302用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器301执行。

所述处理器301用于执行前述各方法步骤中的全部或部分步骤。

其中,所述文本内容标识设备的结构中还可以包括通信接口,用于文本内容标识设备与其他设备或通信网络通信。

本公开示例性实施例还提供了一种计算机存储介质,用于储存所述文本内容标识装置所用的计算机软件指令,其包含用于执行上述任一实施例中文本内容标识方法所涉及的程序。

图4是适于用来实现根据本公开一实施方式的文本内容标识方法的计算机系统的结构示意图。

如图4所示,计算机系统400包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行上述图1所示的实施方式中的各种处理。在ram403中,还存储有系统400操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的数据处理方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。

附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,并且/或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1