优秀实验报告二上海交通大学数学系.docx
- 文档编号:1866623
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:22
- 大小:135.94KB
优秀实验报告二上海交通大学数学系.docx
《优秀实验报告二上海交通大学数学系.docx》由会员分享,可在线阅读,更多相关《优秀实验报告二上海交通大学数学系.docx(22页珍藏版)》请在冰豆网上搜索。
优秀实验报告二上海交通大学数学系
个人住房抵押贷款及其它金融问题的数学模型
颜齐,F1502008,515020910184
指导老师陈贤峰
上海交通大学机械与动力工程学院
目录
个人住房抵押贷款及其它金融问题的数学模型1
一、实验背景1
二、实际任务及相应解法1
2.1制定住房商业性贷款利率表和(月)还款表2
2.2请自己到银行了解最新住房贷款利率,试制作一张为期1-20年的贷款利率表和(月)还款表2
2.3一个购房贷款的比较4
2.4还款周期比较5
2.5某保险公司的推出结合养老的寿险计划6
2.6金融公司的支付基金问题一9
2.7等额本息与等额本金还款10
2.8金融公司的支付基金问题二12
2.9国债收益率问题13
三、小程序说明14
四、对某些任务的分析讨论15
4.1任务2.5的思路一与思路二之争15
4.2任务2.5思路2中的计算方法16
五、结语17
一、实验背景
个人住房商业抵押贷款是常见的一种额度大、期限长的贷款形式,每期还款的数额根据贷款期限的长短、年利率的高低、还款方式(等额本息、等额本金)、还款周期的不同而不同,这些因素的变更会导致累计支付的利息有一定差异。
在数额较大的贷款中,这种差异有时还会有相当大的区别,因此有必要建立数学模型研究其对分期还款的具体影响。
此外,对于养老保险、人寿保险、基金流动等问题,利率、周期等因素对结果也有不同程度的影响,可通过数学模型定量探究。
二、实际任务及相应解法
2.1制定住房商业性贷款利率表和(月)还款表
2.1.1模型建立
依照PPT的暗示,这种情况下为等额本息、按月还款的模式,否则采用等额本金还款办法的话,每月还款额将会有变化。
输入还款期限年数、年利率、贷款总额,可得到总期次、月利率,设为完成第期还款后还剩下的欠款总额,则有:
为等额本息下每月的固定还款额度。
迭代后可以得到
从而可得每期还款额
2.1.2MATLAB代码
function[m]=function_1(yr,rate)
if(nargin~=2)
error(‘输入的参数不正确’);
else
r=0.01*rate/12;
n=yr*12;
m=10000*(1+r)^n*r/((1+r)^n-1);
end
2.1.3运行结果
(以2年、6.25%利率为例,详细列表见任务2)
>>function_1(2,6.25)
ans=
444.3334
此即为2年期、6.25%年利率的贷款,按等额本息的还款模式的每月还款额。
完整的表格请见任务2的结果。
2.2请自己到银行了解最新住房贷款利率,试制作一张为期1-20年的贷款利率表和(月)还款表
2.2.1模型建立
基本思路与2.1一样,只是输入了具体真实的年利率和贷款期限。
查得:
贷款年限
年利率
0-6月(含6月)
4.35%
6月-1年(含1年)
4.35%
1-3年(含3年)
4.75%
3-5年(含5年)
4.75%
5-30年(含30年)
4.90%
由此,修改代码,使之输入贷款期限之后内部自动匹配年利率,然后输出表格。
2.2.2MATLAB代码
functionfunction_2()
A=zeros(2,30);
clc;
foryr=1:
30
if(yr==1)
rate=4.35;
elseif(yr<=5)
rate=4.75;
elseif(yr<=30)
rate=4.9;
end
end
end
r=0.01*rate/12;
n=yr*12;
m=10000*(1+r)^n*r/((1+r)^n-1);
A(1,yr)=yr;
A(2,yr)=m;
A(3,yr)=rate;
end
array2table(A(:
1:
10),'rownames',{'还款年份','每月还款额','年利率'})
array2table(A(:
11:
20),'rownames',{'还款年份','每月还款额','年利率'})
array2table(A(:
21:
30),'rownames',{'还款年份','每月还款额','年利率'})
end
2.2.3运行结果
2.3一个购房贷款的比较
小李夫妇曾经准备申请商业贷款10万元用于购置住房,每月还款880.66元,25年还清.房产商介绍的一家金融机构提出:
贷款10万元,每半月还款440.33元,22年还清,不过由于中介费手续费等原因,贷款时要预付4000元..
小李考虑,虽然预付费用不少,可是减少三年还款期意味着减少还款近3万2千元,而每月多跑一趟,那不算什么.这机构的条件似乎还是蛮优惠的.
试分析情况是否这样?
2.3.1模型建立
本题的关键在于求解两种方案的年利率,年利率低者更优惠,并不是累计还款额越少越优惠,这点需要明确,因此求解等效年利率即可。
2.3.2MATLAB代码
functionfuncion_3()
clc;
m=input('请输入每期还款额(元):
');
n=input('请输入还款年份:
');
temp=input('是否是半月还款?
(Y/N)','s');
if(temp=='Y'||temp=='y')
n=24*n;
N=24;
elseif(temp=='N'||temp=='n')
n=12*n;
N=12;
end
end
a=10000*input('请输入贷款额度(万元):
');
f=@(r)(a*(1+r)^n*r)/((1+r)^n-1)-m;
r=fzero(f,1e-6);
rate=r*N*100
end
2.3.3运行结果
方案一:
请输入每期还款额(元):
880.66
请输入还款年份:
25
是否是半月还款?
(Y/N)n
请输入贷款额度(万元):
10
rate=
9.6000
方案二:
请输入每期还款额(元):
440.33
请输入还款年份:
22
是否是半月还款?
(Y/N)y
请输入贷款额度(万元):
10
rate=
9.1511
通过比较可以发现,该金融机构提供的贷款方案年利率为9.1511%,比银行9.6%的利率更低,因而可以认为前者更优惠。
2.4还款周期比较
从还款周期的比较看出,逐月还款比逐年还款付出较少的本息总额,那么逐周还款情况又将如何?
考虑是否有必要采取尽可能短的周期(比如每一日)还款?
2.4.1模型建立
这里的还款方式仍为等额本息,不同之处仅在于周期不同,即下式:
中的n、r发生了相应的变化,基本思路与2.1一致,不再赘述。
2.4.2MATLAB代码
functionfunction_4(yr,rate)
clc;
if(nargin~=2)
error('输入变量必须为2个,依次为年份、年利率');
else
fors=1:
4
switch(s)
case1
r=0.01*rate;n=yr;m=10000*(1+r)^n*r/((1+r)^n-1);
case2
r=0.01*rate/12;n=yr*12;m=10000*(1+r)^n*r/((1+r)^n-1);
case3
r=0.01*rate/12/4;n=yr*12*4;m=10000*(1+r)^n*r/((1+r)^n-1);
case4
r=0.01*rate/365;n=yr*365;m=10000*(1+r)^n*r/((1+r)^n-1);
end
sum=n*m;ints=sum-10000;
disp(['累计还款为:
',num2str(sum)]);
disp(['累计支付利息为:
',num2str(ints)]);
disp('');
end
end
2.4.3运行结果
输入“function_4(2,4.5)”后得到:
累计还款为:
10679.9511
累计支付利息为:
679.9511
累计还款为:
10475.4748
累计支付利息为:
475.4748
累计还款为:
10461.4327
累计支付利息为:
461.4327
累计还款为:
10457.3651
累计支付利息为:
457.3651
从上到下依次为按年、按月、按周、按日的累计还款及累计利息总额,可以看到随着周期的减小,利息的确在减小。
使还款周期尽可能地短,确实可以有效减小还款利息。
2.5某保险公司的推出结合养老的寿险计划
例子为:
若40岁的男性投保人每年交保险费1540元,交费期20年至60岁则在他生存时期,45岁时(投保满5年)可获返还补贴4000元,50岁时可获返还补贴5000元,其后每隔5年可获增幅为1000元的返还补贴;而在投保人去世或残废时,其受益人可获保险金20000元。
试分析:
若该投保人的寿命为76岁,其交保险费所获得的实际年利率是多少?
若该投保人的寿命为74岁,其交保险费所获得的实际年利率又是多少?
2.5.1模型建立
两种情况下,投保人均需缴纳同等数目的金额,但74岁离世与76岁离世所获得的保险费不同,等效年利率也不同,需要计算。
74岁离世时获得总保险费=4000+5000+6000+7000+8000+9000+20000=59000元;76岁离世时获得总保险费为4000+5000+6000+7000+8000+9000+10000+20000=69000元。
思路一:
设投保人在投保后第k年所交保险费及利息之和为元,假设投保人所得到的钱全部由其缴纳的保费以及利息生成,可以得到:
是每年缴纳的保费;为当年领取的补贴,没发放补贴时为0;,n为寿命。
它们满足以下的条件
此题中认为所有补贴来自缴纳保费产生的本息和,即有
经验算,此方法无法得出合理的年利率,故放弃,下面部分所采用的是思路二。
思路二:
设投保人所获得的全部补贴等效于其缴纳的保金及利息在其离世那一年的总和。
有下列关系式:
2.5.2MATLAB代码
functionfuncion_5()
clc;
n=input('请输入投保人寿命:
');
if(n>70&&n<75)
sum=59000;
elseif(n>=75&&n<80)
sum=69000;
end
end
N=n-40;
F=zeros(N,1);
Q=zeros(N,1);
r=0;
bool=0;
while(bool==0)
p=1540;
fork=1:
N
%定义P
if(k>20)
p=0;
end
%定义F(k)迭代规则
if(k==1)
F(k)=p;
else
F(k)=(1+r)*F(k-1)+p;
end
end
%disp(Q);
%disp(F(N));
if(abs(F(N)-sum)<1)
disp('计算成功!
等效年利率为:
');
disp(r);
return;
elser=r+1e-9;
end
if(r>0.1)
disp('计算失败!
');
return;
end
end
end
2.5.3运行结果
请输入投保人寿命:
74
计算成功!
等效年利率为:
0.0275
请输入投保人寿命:
76
计算成功!
等效年利率为:
0.0315
由于没有采用手动推到迭代方程的办法,我直接让年利率r在for循环中不断叠加(步长为1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优秀 实验 报告 上海交通大学 数学系