金融 - PHP 计算用户的累计收益

WBOY
リリース: 2016-06-06 20:31:45
オリジナル
1361 人が閲覧しました

求计算思路。
需求:

有一个投资产品(投资周期1年,到期赎回),收益率是这样的:
金融 - PHP 计算用户的累计收益
例如 我2015年5月10号投资10万,2016年5月9号满一年,我能够获得10万+10万*0.13 = 113000

现在有这么个需求:累计收益率。

就是比如我第一笔投资10万,收益率是13%

然后在第一笔赎回之前的时间内比如2015年8月15号,我又投资了一笔45万。如果按照原来的规定,这笔45万的投资收益率还是13%。

现在要求看这个用户的累计在投的投资,也就是在第二笔投资时,第二笔的年化收益率要按照投资金额10万+45万= 55万,也就是13.5%来算,同时第一笔投资在第二笔投资的第二天,年化收益率也要变成13.5%。

同样,在第一笔投资赎回之后(2016.5.9之后),第二笔投资的收益率要变回13%。

现在要计算用户的累计收益。

投资记录全部存储在投资记录表中(字段包括投资编号、投资金额、投资时间、结束时间、年化收益率)

我想了很久,好像很复杂(每新投资一笔都有可能影响到之前所有投资的收益率区间)。一笔投资好算,两笔投资可能要算3次,三笔投资可能要算5次。

不论用什么语言描述都可以,主要是求解决思路。

回复内容:

求计算思路。
需求:

有一个投资产品(投资周期1年,到期赎回),收益率是这样的:
金融 - PHP 计算用户的累计收益
例如 我2015年5月10号投资10万,2016年5月9号满一年,我能够获得10万+10万*0.13 = 113000

现在有这么个需求:累计收益率。

就是比如我第一笔投资10万,收益率是13%

然后在第一笔赎回之前的时间内比如2015年8月15号,我又投资了一笔45万。如果按照原来的规定,这笔45万的投资收益率还是13%。

现在要求看这个用户的累计在投的投资,也就是在第二笔投资时,第二笔的年化收益率要按照投资金额10万+45万= 55万,也就是13.5%来算,同时第一笔投资在第二笔投资的第二天,年化收益率也要变成13.5%。

同样,在第一笔投资赎回之后(2016.5.9之后),第二笔投资的收益率要变回13%。

现在要计算用户的累计收益。

投资记录全部存储在投资记录表中(字段包括投资编号、投资金额、投资时间、结束时间、年化收益率)

我想了很久,好像很复杂(每新投资一笔都有可能影响到之前所有投资的收益率区间)。一笔投资好算,两笔投资可能要算3次,三笔投资可能要算5次。

不论用什么语言描述都可以,主要是求解决思路。

考虑一种思路.大致的数据格式如下(不知道怎么搞表格,见谅)
金额 10W
年华率1 5day
年化率2 100day
年化率3 36day
每天计算一次,当天的总额是处于哪个年化率区间,就在对应的字段上面+1day.这样只要在结算周期结束的时候,根据不同的年化率所处的天数进行收益计算就可以了.

在客户投资、撤资之后,对数据库该客户对应的投资金额进行加减,再比对累计投资金额,调整相应收益率

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート