利率与收益
来源:互联网 发布:淘宝九块九包邮专区 编辑:程序博客网 时间:2024/04/27 19:51
钱存在银行,是继续按照当前的利率方式存储,还是取出来,按照另一种方式继续储蓄,能得到最大的收益呢?很明显,这里涉及到运算。
以招商银行(比四大行的利率高)为例:
储蓄时间(月) 利率/月
1(活) 0.00385/12
3(定) 0.0286/4
6(定) 0.0308/2
12(定) 0.033
24(定) 0.0375 * 2
36(定) 0.0425 * 3
60(定) 0.0475 * 5
那么,倘若你计划存x元钱,计划将其放入银行的时间是n个月,得到的最大收益为:f(x, n);
储蓄收益f(x,n)=k*x,(k为大于1的实数),即f(x,n)在n一定的情况下,是一个关于x的线性函数。
所以对于f(x,n)有:
(1)f(x1+x2, n) = f(x1, n) + f(x2, n);
那么在储蓄时,将100块掰成两半50+50,存相同的时间的做法,并不能得到更高的收益。尽管你为此付出了更多的精力和时间。
如果f(x, n-1)是x元,按照某种方案存放n-1个月时得到的最大收益,那么f(x, n) = f{f(x, n-1), 1}。很明显,这是递归!
当储蓄时间n>=3,而小于6时。比如存放时间是4个月,由于4个月时间里,你可以自由选择的利率有两种,按照怎样的方式能得到最大,就有必要进行比较。
f(x, n) = MAX{f[f(x, n-1), 1], f(x, n-3) * (1 + 0.0286/4)}
当储蓄时间n>=6,而小于12是。自由选择的利率变成了三种:
f(x, n) = MAX{f[f(x, n-1), 1], f[f(x, n-3), 3], f(x, n-6) * (1 + 0.0308/2)}
...
可以看出这个递归式有一个有趣的形式:
(2)f(x, n) = MAX{f[f(x, n-m), month[m]]},(m的范围是0~6, month[] = {1, 3, 6, 12, 24, 36, 60]);
而递归的终点:
f(x, 0) = x;
f(x, 1) = x * (1 + 0.00385/12);
...
以(1)为已知,按照(2)编写算法,就可一求出将x元存入银行n个月的最大收益,如果想要得到储蓄方案,即分成几个阶段,各个阶段按照哪种利率存储,则需要在算法实现过程中进行记录。
众所周知,递归算法会反复的运算曾经运算出来过的结果,使用动态规划,将结果保存在一维数组里面gain[MAX],gain[i]表示第i个月的最大收益。
从第1个月计算起,后面的月份的最大收益使用前面计算的结果,减少重复计算。
// ----------------------------------------------------------------------------------------------------运算结果
5000块存23个月
5000块存66个月
5000块存22个月
// ------------------------------------------------------------------------------------------------------- 代码不贴了
5000块存66个月
5000块存22个月
// ------------------------------------------------------------------------------------------------------- 代码不贴了
ps:所有计算都是基于一个基础:银行汇率固定不变。似乎,这个前提相当不受控!所以,不要把运算结果当真。
0 0
- 利率与收益
- 利率
- 管理成本与收益
- 无风险的短期国债回购利率收益最高竟然是余额宝的几十倍!
- 股价与收益的关系?
- 收益
- 浅谈技术难度与公司收益
- 浅谈技术难度与公司收益
- 人民币升值与升值预期收益股票
- 股票投资在尼日利亚其过程与收益
- 债券基金收益与哪些因素有关?
- 学理财:单利率与复利率---银行的骗局
- 关于利率波动与银行业利润波动的思考
- 鲁政委利率市场化应与金融市场深化协调推进 ,
- FRM笔记之金融市场与产品-关于利率
- 实际利率
- 银行存款利率
- 利率问题
- 树状数组
- 自考进行时
- 使用github之:TortoiseGit和msysGit配置
- Android学习之——收藏的资料整理、分享
- 解决linux ping: unknown host www.baidu.com
- 利率与收益
- tomcat配置多个项目
- Android开发——onclicklistener()到底怎么用?
- 求空间中线段上到已知直线距离最近的点
- OpenCV学习笔记(一)
- c# 快速 将大量数据插入数据库
- HDU - 3030 Increasing Speed Limits
- 蚂蚁觅食
- 又搭载8核MTK!魅族或推机海战术应战4G