複利計算機
處理存款與貸款的複利議題,分期付款到最後得還多少?定存多久才能達到目標額?在這篇一次處理掉!
封面是 Bing 繪製的「錢與計算機」。
這篇文章想處理的是「考慮利息因素 r」的「定額存款或定額還款 c」的問題,簡單來說就是,令 an 為第 n 期金額,r 為每期利息,c 為每期的還款或存款額:
an=(1+r)an−1+c接著從討論出 an 的通式,以此推論所需期數、所需還款額等議題。
在挖掘這個議題時,發現我計算的結果與銀行業給出的結果不同,原因是銀行業給出的利息往往是年利,但還款卻是每月還,因此會有期數 n 的單位究竟是年還是月的混亂問題。其正式的解決方案為,通通轉換成還款單位,例如年與月的轉換為:
月利息=12年利息例如說,銀行的年利息是 0.03,則其月利息則是 0.03/12=0.0025
存款 (定存)
起始資金 a0 元,期利率 r,若每期存 c 元,則第 n 期時還有多少欠款?令 an 表示第 n 期存款額,則遞迴關係為
an=(1+r)an−1+c,n=1,2,⋯每期存款額的通式為
an=a0(1+r)n+c(r(1+r)n−1),n=0,1,2,⋯若每期存 c 元,則達到某目標額 aN 所需期數為
N=ln(1+r)ln(aN+c/r)−ln(a0+c/r)若想在 N 期時達到目標額 aN,則每期所存入數量 c 為
c=(1+r)N−1r[aN−a0(1+r)N]存款額曲線
每期都存 c,那 N 期後有多少錢?
預期存款期數
每期都存 c 元?那需要多久才能達到目標 aN?
預期存款額
連續存款了 N 期,每期多要存多少才能達到目標 aN?
貸款 (本息平均攤還)
貸款 a0 元,每期利率 r,若每期還 c 元,則第 n 期時還有多少欠款?其中一種償還方法稱為「本息平均攤還」,令 an 表示第 n 期所剩的欠款,遞迴關係為
an=(1+r)an−1−c,n=1,2,⋯每期所剩欠款的通式為
an=a0(1+r)n−c(r(1+r)n−1),n=0,1,2,⋯若每期償還 c,首先得滿足 c>a0r,否則將連利息也還不完,所需償還期數為
N=−ln(1+r)ln(1−a0r/c)若想分 M 期還完,則每期還款比例 μ 與還款額 c 為
μc=(1+r)M−1r(1+r)M=a0μ欠款額曲線
預期還款期數
證明
要求出 an 的通式,可以用等差級數的方法處理,但這邊示範用
生成函數模型 (Generating Function Model)
,令 g(x)=∑n=0∞anxn,則會有
g(x)−a0=n=1∑∞anxn=n=1∑∞[(1+r)an−1+c]xn=(1+r)n=1∑∞an−1xn+cn=1∑∞xn=(1+r)xn=0∑∞anxn+cn=1∑∞xn=(1+r)xg(x)+cn=1∑∞xn移項後可得
g(x)=[1−(1+r)x]−1(a0+cn=1∑∞xn)=(n=0∑∞(1+r)nxn)(a0+cn=1∑∞xn)=(n=0∑∞a0(1+r)nxn)+c(n=0∑∞(1+r)nxn)(n=1∑∞xn)其中的
====(n=0∑∞(1+r)nxn)(n=1∑∞xn)(n=0∑∞(1+r)nxn)(n=0∑∞xn)x[n=0∑∞(m=0∑n(1+r)m)xn]xn=0∑∞(r(1+r)n+1−1)xn+1n=1∑∞(r(1+r)n−1)xn因此 g(x) 也能被寫為
g(x)=(n=0∑∞a0(1+r)nxn)+c(n=0∑∞(1+r)nxn)(n=1∑∞xn)=(a0+n=1∑∞a0(1+r)nxn)+[n=1∑∞c(r(1+r)n−1)xn]=a0x0+n=1∑∞[a0(1+r)n+c(r(1+r)n−1)]xn根據設定的 g(x)=∑n=0∞anxn 所對應的 an 係數得知
an=a0(1+r)n+c(r(1+r)n−1),n=1,2,⋯注意到 n=0 時帶入,也同時滿足起始條件 a0。