如何解决如果一个人投资了货币,然后每月将其每月收入用于投资,那是赚取的总金额?
假设我投资了1000欧元,并期望在一年内获得+ 10%的收益,即1100。 我每个月的收入为91.667,我每月再次投资一次,再加上91.667的10%,即额外的利息。
以下算法正确吗?
totalMoney=1100;
moneyPerMonth=0;
for i=1:12
moneyPerMonth=(moneyPerMonth+totalMoney)/12
totalMoney=totalMoney+moneyPerMonth/12
end
我得到以下结果:
moneyPerMonth = 91.667
totalMoney = 1107.6
moneyPerMonth = 99.942
totalMoney = 1116.0
moneyPerMonth = 101.33
totalMoney = 1124.4
moneyPerMonth = 102.14
totalMoney = 1132.9
moneyPerMonth = 102.92
totalMoney = 1141.5
moneyPerMonth = 103.70
totalMoney = 1150.1
moneyPerMonth = 104.49
totalMoney = 1158.8
moneyPerMonth = 105.28
totalMoney = 1167.6
moneyPerMonth = 106.08
totalMoney = 1176.5
moneyPerMonth = 106.88
totalMoney = 1185.4
moneyPerMonth = 107.69
totalMoney = 1194.3
moneyPerMonth = 108.50
totalMoney = 1203.4
这意味着我发现我的收入从+ 10%增加到20,034%,总收入为1203.4。
对吗?
解决方法
两件事情:首先,您不清楚复利问题-如果每年按10%的比例复利,那么到年底您确实会拥有1,100,但是您的每月利率不会是0.1/12
或0.008333
。如果将该数字用于每月计算,则您将按月计算利息,这将导致10.471%
的有效年利率,而不是10%。要使实际年利率达到10%,您的月利率仅为0.007974
。
一旦您决定要使用哪一个,其余的就很简单了。使用例如python:
annual = 0.007974 #the code below uses this rate,but you can easily change it to "monthly"
monthly = 0.008333
months = 12
investment = 1000
balance = investment
print('after month',"\taccrued int","\tbalance",)
for m in range(months):
interest = balance*annual
balance+=interest
print(m+1,'\t\t',format(interest,".2f"),format(balance,".2f"))
输出:
after month accrued int balance
1 7.97 1007.97
2 8.04 1016.01
3 8.10 1024.11
4 8.17 1032.28
5 8.23 1040.51
6 8.30 1048.81
7 8.36 1057.17
8 8.43 1065.60
9 8.50 1074.10
10 8.56 1082.66
11 8.63 1091.30
12 8.70 1100.00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。