优秀实验报告二上海交通大学数学系.docx

上传人:b****2 文档编号:1866623 上传时间:2022-10-24 格式:DOCX 页数:22 大小:135.94KB
下载 相关 举报
优秀实验报告二上海交通大学数学系.docx_第1页
第1页 / 共22页
优秀实验报告二上海交通大学数学系.docx_第2页
第2页 / 共22页
优秀实验报告二上海交通大学数学系.docx_第3页
第3页 / 共22页
优秀实验报告二上海交通大学数学系.docx_第4页
第4页 / 共22页
优秀实验报告二上海交通大学数学系.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

优秀实验报告二上海交通大学数学系.docx

《优秀实验报告二上海交通大学数学系.docx》由会员分享,可在线阅读,更多相关《优秀实验报告二上海交通大学数学系.docx(22页珍藏版)》请在冰豆网上搜索。

优秀实验报告二上海交通大学数学系.docx

优秀实验报告二上海交通大学数学系

个人住房抵押贷款及其它金融问题的数学模型

颜齐,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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1