參考文章:
【1】C語言計算內部回報率(或名內部收益率)(IRR)
【2】(精選版)IRR系列基礎篇:概念、計算方法和誤區
花唄、白條等等借貸產品的利率不像官方宣傳的那麼低,可以使用IRR公式計算其真實利率。
IRR內部收益率:一個現金流中的所有數字,按照固定的折現率計算至某年的淨現值之和爲0時,該折現率等於內部收益率,即真實收益率。
使用matlab實現IRR計算。
輸入一數組,元素分別爲:借貸金額、利率、分期數
function Result=IRR(inp)
loan=inp(1);%借貸金額
rate=inp(2);%官方給的利率
period=inp(3);分期數
money=loan*(1+rate)/period;%每期要還的錢
inp=zeros(1,period+1);
inp(1)=loan;
for i=2:period+1
inp(i)=-1*money;%現金流
end
len=length(inp);%現金流長度
power=len;%次數
left=0;
syms x;%未知數
for i=1:len
left=left+inp(i)*(1+x)^power;
power=power-1;%次數減一
end
eqn=left==0;%形成方程
temp=solve(eqn,x,'Real',true);
temp=vpa(temp);
len=length(temp);%解方程解的個數
for i=1:len
if (-1<temp(i)&temp<1)%篩選在-1~1之間的結果
Result=temp(i);%
end
end
each=Result;%每期利率
all=period*each;%年化利率
fprintf('標稱利率:\t%.4f%%\n每期利率:\t%.4f%%\n總利率:\t%.4f%%\n',rate*100,each*100,all*100);
fprintf('標稱利息:\t%.4f\n實際利息:\t%.4f\n多付利息:\t%.4f\n',loan*rate,loan*all,loan*(all-rate));
end
%main函數
clc;
INP=[2298,0.06,12];%借款金額—利率—分期數
IRR(INP);
輸出結果:
標稱利率: 6.0000%
每期利率: 0.9080%
總利率: 10.8964%
標稱利息: 137.8800
實際利息: 250.3989
多付利息: 112.5189