《金融数量分析——基于MATLAB编程》在商品经济中,货币的时间价值是客观存在的。货币时间价值是指货币经历一定时间的投资和再投资所增加的价值,也称为资金的时间价值(货币时间价值是指货币随着时间的推移而发生的增值,也称为资金时间价值)。由于货币的时间价值,今天的100元和一年后的100元是不等值的。今天将100元存入银行,在银行利息率10%的情况下,一年以后会得到110元,多出的10元利息就是100元经过一年时间的投资所增加的价值,即货币的时间价值。显然,今天的100元与一年后的110元相等。由于不同时间的资金价值不同,所以,在进行价值大小对比时,必须将不同时间的资金折算为同一时间后才能进行大小的比较。点睛:例如,某银行说某产品初始投资1万元,若是在最坏的情况下,该产品一年后到期保本即1万元,若不考虑货币的时间价值投资人没有亏损,但在年利率6%的情况下,根据货币的时间价值理论,投资人则已经损失了600元。5.1货币时间价值计算计算货币时间价值量,首先引入“现值”和“终值”两个概念表示不同时期的货币时间价值。现值,又称本金,是指资金现在的价值。终值,又称本利和,是指资金经过若干时期后包括本金和时间价值在内的未来价值。通常有单利终值与现值、复利终值与现值、年金终值与现值。5.1.1单利终值与现值单利是指只对借贷的原始金额或本金支付(收取)的利息。我国银行一般是按照单利计算利息的。在单利计算中,设定以下符号:PV:本金(现值);R:利率;FV:终值;T:时间。FV=PV+PV×R×T=PV(1+R×T)PV=FV/(1+R×T)例5.1假设银行存款利率为10%,为3年后获得20000元现金,某人现在应存入银行多少钱?R=10%,FV=20000元,T=3;求PV?PV=20000元/(1+10%×3)=15384.62元(四舍五入)5.1.2复利终值与现值金融分析中常用复利方法进行货币的贴现计算。复利,就是不仅本金要计算利息,本金所生的利息在下期也要加入本金一起计算利息,即通常所说的“利滚利”。在复利的计算中,PV:本金(现值);R:利率;FV:终值;T:时间。FV=PV(1+R)^TPV=FV/(1+R)^T注:(1+R)^T表示(1+R)的T次方,与MATLAB表示方法一致。在例5.1中,使用复利计算现值。R=10%,FV=20000元;T=3;求PV?PV=20000元/(1+10%)3=15026.30元复利计息频数是指利息在一年中付利息多少次。在前面的终值与现值的计算中,都是假定利息是每年支付一次的,因为在这样的假设下,最容易理解货币的时间价值。但是在实际理财中,常出现计息期以半年、季度、月,甚至以天为期间的计息期,相应复利计息频数为每年2次、4次、12次、360次。如贷款买房按月计息,1年计息为12个月。5.1.3连续复利计算连续复利则是指在期数趋于无限大的极限情况下得到的利率,此时不同期之间的间隔很短,可以看作是无穷小量。设本金为PV,年利率为R,当每年含有m个复利结算周期(若一个月为一个复利结算周期,则m=12,若以一季度为一个复利结算周期,则m=4)时,则n年后的本利和为当复利结算的周期数m→∞(这意味着资金运用率最大限度的提高)时,的极限为e,即在例5.1中,使用连续复利计算现值。R=10%,FV=20000元,T=3;求PV?PV=20000元×exp(-0.1×3)=14816.36元注:同样的20000元,年利率为10%,采用不同的贴现或计息方式得到的现值分别为15384.62元、15026.30元和14816.36元。由此发现,在利率一定时,连续复利的计算方式,对于投资者是最优的。所以当m→∞连续复利本利和公式为FVnm=PVenR时间n=t,即FV=PVeRt或PV=FVe-Rt5.1.3连续复利计算5.2固定现金流计算在实际金融产品中,通常不是简单的一次存入(取出),例如国债、住房贷款、分期贷款、养老保险等都是以现金流的方式存在的。例5.2这里以国债为例,10年期面值为1000元的国债,票面利率为5%,国债投资者每年在付息日都会收到50元利息,并在第10年(最后一年)收到1000元本金。假设:Rate(贴现率)为6%(贴现率不一定等于票面利率);NumPeriods(贴现周期)为10年;Payment(利息)为50元(周期现金流);ExtraPayment(本金)为1000元(最后一次非周期现金流)。则现值与终值的计算公式分别为:5.2.1固定现金流现值计算函数pvfix函数语法:PresentVal=pvfix(Rate,NumPeriods,Payment,ExtraPayment,Due)输入参数:Rate:贴现率;NumPeriods:贴现周期;Payment:周期现金流,正表示流入,负表示流出;ExtraPayment:最后一次非周期现金流,函数默认为0;Due:现金流计息方式(0为周期末付息,1为周期初付息)。输出参数:PresentVal:现金流现值。函数语法:FutureVal=fvfix(Rate,NumPeriods,Payment,PresentVal,Due)输入参数:Rate:贴现率;NumPeriods:贴现周期;Payment:周期现金流,正表示流入,负表示流出;Due:现金流计息方式(0为周期末付息,1为周期初付息);PresentVal:现金流现值。输出参数:FutureVal:现金流终值。5.2.2固定现金流现值计算函数fvfix5.3变化现金流计算例5.3购买设备A,花费8000元,设备使用年限5年,现金流依次为[-8000,2500,1500,3000,1000,2000],如果对于企业来说投资的必要收益率为8%,该投资是否合适?通常有两种方法:净现值(NPV)法与内部收益率(IRR)法,净现值法将现金流利用必要收益率贴现计算NPV值,若NPV0则可行;否则,不可行。内部收益率法假设NPV=0计算必要贴现率,若IRR大于必要收益率可行;否则不可行。参数:CashFlow(CF)现金流;Rate贴现率。CashFlow=[-8000,2500,1500,3000,1000,2000],Rate=0.081.净现值NPV计算函数pvvar函数语法:PresentVal=pvvar(CashFlow,Rate,IrrCFDates)输入参数:CashFlow:现金流序列向量;Rate:必要收益率;IrrCFDates:可选项,CF时间,默认为等间隔,例如每年一次。输出参数:PresentVal:现金流现值。5.3变化现金流计算2.内部收益率计算函数irr函数语法:Return=irr(CashFlow)输入参数:CashFlow:现金流。输出参数:Return:内部收益率。5.3变化现金流计算年金,国外叫annuity,是在定期或不定期的时间内一系列的现金流入或流出。年金终值包括各年存入的本金相加以及各年存入的本金所产生的利息,但是,由于这些本金存入的时间不同,所以所产生的利息也不相同,按揭贷款本质上是年金的一种。例5.4(1)比如投资人贷款50万元买房,还款期20年,每月还3000元,则贷款利率为多少?(2)若改为每月还4000元,贷款利率不变,则还贷期限为多长?NumPeriods:现金流周期。5.4年金现金流计算1.年金利率函数annurate函数语法:Rate=annurate(NumPeriods,Payment,PresentValue,FutureValue,Due)输入参数:NumPeriods:现金流周期;Payment:现金流收入(支出);PresentValue:现金流现值;FutureValue:现金流终值,默认为0;Due:现金流计息方式(0为周期末付息,1为周期初付息)。输出参数:Rate:利息率(贴现率)。5.4年金现金流计算利用annurate函数求解例5.4的贷款利率M文件annuratetest.m%贷款现值PresentValue=500000;%每次还款金额Payment=3000;%还款次数NumPeriods=20*12;FutureValue=0;%现金流终值为0,即还款完成Due=0;%每周期末还款一次,0为周期末付息(还款)%调用annurate计算,贷款利率Rate=annurate(NumPeriods,Payment,PresentValue,FutureValue,Due)Rate=0.0032(月利率)年利率:3.89%5.4年金现金流计算2.年金周期函数annuterm函数语法:NumPeriods=annuterm(Rate,Payment,PresentValue,FutureValue,Due)输入参数:Rate:利息率(贴现率);Payment:现金流收入(支出);PresentValue:现金流现值;FutureValue:现金流终值,默认为0;Due:现金流计息方式(0为周期末付息,1为周期初付息)。输出参数:NumPeriods:现金流周期。5.4年金现金流计算5.5商业按揭贷款分析“按揭”的通俗意义是指用预购的商品房进行贷款抵押。它是指按揭人将预购的物业产权转让于按揭受益人(银行)作为还款保证,还款后,按揭受益人将物业的产权转让给按揭人。具体地说,按揭贷款是指购房者以所预购的楼宇作为抵押品而从银行获得贷款,购房者按照按揭契约中规定的归还方式和期限分期付款给银行;银行按一定的利率收取利息。如果贷款人违约,银行有权收走房屋。5.5.1按揭贷款还款方式1.等额还款借款人每期以相等的金额偿还贷款,按还款周期逐期归还,在贷款截止日期前偿还全部本息。例如,贷款30万元,20年还款期,每月还款4000元。2.等额本金还款借款人每期须偿还等额本金,同时付清本期应付的贷款利息,而每期归还的本金等于贷款总额除以贷款期数。实际每期还款总额为递减数列。3.等额递增还款借款人每期以等额还款为基础,每次间隔固定期数还款额增加一个固定金额的还款方式(如三年期贷款,每隔12个月增加还款100元,若第一年每月还款1000元,则第二年每月还款额为1100元,第三年为1200元)。此种还款方式适用于当前收入较低,但收入曲线呈上升趋势的年轻客户。4.等额递减还款借款人每期以等额还款为基础,每次间隔固定期数还款额减少一个固定金额的还款方式(如三年期贷款,每隔12个月减少还款100元,若第一年每月还款1000元,则第二年每月还款额为900元,第三年为800元)。此种还款方式适用于当前收入较高,或有一定积蓄可用于还款的客户。5.按期付息还款借款人按期还本,按一间隔期(还本间隔)等额偿还贷款本金,再按另一间隔期(还息间隔)定期结息,如每三个月偿还一次贷款本金,每月偿还贷款利息。此种还款方式适合使用季度、年度奖金进行还款的客户。6.到期还本还款借款人在整个贷款期间不归还任何本金,在贷款到期日一次全部还清贷款本金。贷款利息可按月、按季或到期偿还,也可在贷款到期日一次性偿还。5.5.1按揭贷款还款方式5.5.2等额还款模型与计算借款人每期以相等的金额偿还贷款,按还款周期逐期归还,在贷款截止日期前全部还清本息。参数假设:R:月贷款利率;B:总借款额;MP:月还款额;n:还款期。①根据月初贷款余额计算该月还款额中的现金流,包括支付的利息和偿还的本金,月还款总额一定。YE(t+1)=YE(t)-BJ(t)BJ(t)=MP-IR(t)IR(t)=YE(t)×R式中:YE(t)为月初贷款余额;IR(t)为月利息偿还额;BJ(t)为月本金偿还额;t=1,…,n。②随着如期缴纳最后一期月供款,贷款全部还清,即YE(n)=0。通常情况下,贷款总额与利息是已知的,月还款额与还款期限未定,根据上述等额还款模型,月还款额与还款期限存在着关联关系,即MP为合适值时,当YE(1)=B,计算得到YE(t+1)=YE(t)-BJ(t)=0,最后的还款余额为0。在建立上述模型的基础上,通过M