圓州率
🌐

Feature Image

複利計算機

數學, 作品集
處理存款與貸款的複利議題,分期付款到最後得還多少?定存多久才能達到目標額?在這篇一次處理掉!

封面是 Bing 繪製的「錢與計算機」。

這篇文章想處理的是「考慮利息因素 rr」的「定額存款或定額還款 cc」的問題,簡單來說就是,令 ana_n 為第 nn 期金額,rr 為每期利息,cc 為每期的還款或存款額:

an=(1+r)an1+c \begin{align*} a_n & = (1 + r) a_{n - 1} + c \end{align*}

接著從討論出 ana_n 的通式,以此推論所需期數、所需還款額等議題。

在挖掘這個議題時,發現我計算的結果與銀行業給出的結果不同,原因是銀行業給出的利息往往是年利,但還款卻是每月還,因此會有期數 nn 的單位究竟是年還是月的混亂問題。其正式的解決方案為,通通轉換成還款單位,例如年與月的轉換為:

月利息=年利息12 \begin{align*} \text{月利息} = \frac{\text{年利息}}{12} \end{align*}

例如說,銀行的年利息是 0.030.03,則其月利息則是 0.03/12=0.00250.03 / 12 = 0.0025

存款 (定存)

起始資金 a0a_0 元,期利率 rr,若每期存 cc 元,則第 nn 期時還有多少欠款?令 ana_n 表示第 nn 期存款額,則遞迴關係為

an=(1+r)an1+c,n=1,2, \begin{align*} a_n & = (1 + r) a_{n - 1} + c, \quad n = \contii \end{align*}

每期存款額的通式為

an=a0(1+r)n+c((1+r)n1r),n=0,1,2, \begin{align*} a_n & = a_0 (1 + r)^n + c \left( \frac{(1 + r)^{n} - 1}{r} \right), \quad n = \contioi \end{align*}

若每期存 cc 元,則達到某目標額 aNa_N 所需期數為

N=ln(aN+c/r)ln(a0+c/r)ln(1+r) \begin{align*} N = \frac{\ln (a_N + c / r) - \ln (a_0 + c / r)}{\ln (1 + r)} \end{align*}

若想在 NN 期時達到目標額 aNa_N,則每期所存入數量 cc

c=r[aNa0(1+r)N](1+r)N1 \begin{align*} c = \frac{r \left[ a_N - a_0 (1 + r)^N \right]}{(1 + r)^N - 1} \end{align*}

存款額曲線

每期都存 cc,那 NN 期後有多少錢?

預期存款期數

每期都存 cc 元?那需要多久才能達到目標 aNa_N

預期存款額

連續存款了 NN 期,每期多要存多少才能達到目標 aNa_N

貸款 (本息平均攤還)

貸款 a0a_0 元,每期利率 rr,若每期還 cc 元,則第 nn 期時還有多少欠款?其中一種償還方法稱為「本息平均攤還」,令 ana_n 表示第 nn 期所剩的欠款,遞迴關係為

an=(1+r)an1c,n=1,2, \begin{align*} a_n & = (1 + r) a_{n - 1} - c, \quad n = \contii \end{align*}

每期所剩欠款的通式為

an=a0(1+r)nc((1+r)n1r),n=0,1,2, \begin{align*} a_n & = a_0 (1 + r)^n - c \left( \frac{(1 + r)^{n} - 1}{r} \right), \quad n = \contioi \end{align*}

若每期償還 cc,首先得滿足 c>a0rc > a_0 r,否則將連利息也還不完,所需償還期數為

N=ln(1a0r/c)ln(1+r) \begin{align*} N = - \frac{\ln (1 - a_0 r / c)}{\ln (1 + r)} \end{align*}

若想分 MM 期還完,則每期還款比例 μ\mu 與還款額 cc

μ=r(1+r)M(1+r)M1c=a0μ \begin{align*} \mu & = \frac{r (1 + r)^{M}}{(1 + r)^{M} - 1} \\ c & = a_0 \mu \end{align*}

欠款額曲線

預期還款期數

證明

要求出 ana_n 的通式,可以用等差級數的方法處理,但這邊示範用 生成函數模型 (Generating Function Model) ,令 g(x)=n=0anxng (x) = \sum_{n = 0}^{\infty} a_n x^n,則會有

g(x)a0=n=1anxn=n=1[(1+r)an1+c]xn=(1+r)n=1an1xn+cn=1xn=(1+r)xn=0anxn+cn=1xn=(1+r)xg(x)+cn=1xn \begin{align*} g (x) - a_0 & = \sum_{n = 1}^{\infty} a_n x^n \\ & = \sum_{n = 1}^{\infty} [(1 + r) a_{n - 1} + c] x^n \\ & = (1 + r) \sum_{n = 1}^{\infty} a_{n - 1} x^n + c \sum_{n = 1}^{\infty} x^n \\ & = (1 + r) x \sum_{n = 0}^{\infty} a_{n} x^{n} + c \sum_{n = 1}^{\infty} x^n \\ & = (1 + r) x g (x) + c \sum_{n = 1}^{\infty} x^n \\ \end{align*}

移項後可得

g(x)=[1(1+r)x]1(a0+cn=1xn)=(n=0(1+r)nxn)(a0+cn=1xn)=(n=0a0(1+r)nxn)+c(n=0(1+r)nxn)(n=1xn) \begin{align*} g (x) & = [1 - (1 + r) x]^{-1} \left( a_0 + c \sum_{n = 1}^{\infty} x^n \right) \\ & = \left( \sum_{n = 0}^{\infty} (1 + r)^n x^n \right) \left( a_0 + c \sum_{n = 1}^{\infty} x^n \right) \\ & = \left( \sum_{n = 0}^{\infty} a_0 (1 + r)^n x^n \right) + c \left( \sum_{n = 0}^{\infty} (1 + r)^n x^n \right) \left( \sum_{n = 1}^{\infty} x^n \right) \end{align*}

其中的

(n=0(1+r)nxn)(n=1xn)=(n=0(1+r)nxn)(n=0xn)x=[n=0(m=0n(1+r)m)xn]x=n=0((1+r)n+11r)xn+1=n=1((1+r)n1r)xn \begin{align*} & \, \left( \sum_{n = 0}^{\infty} (1 + r)^n x^n \right) \left( \sum_{n = 1}^{\infty} x^n \right) \\ = & \, \left( \sum_{n = 0}^{\infty} (1 + r)^n x^n \right) \left( \sum_{n = 0}^{\infty} x^n \right) x \\ = & \, \left[ \sum_{n = 0}^{\infty} \left( \sum_{m = 0}^{n} (1 + r)^m \right) x^n \right] x \\ = & \, \sum_{n = 0}^{\infty} \left( \frac{(1 + r)^{n + 1} - 1}{r} \right) x^{n + 1} \\ = & \, \sum_{n = 1}^{\infty} \left( \frac{(1 + r)^{n} - 1}{r} \right) x^{n} \end{align*}

因此 g(x)g (x) 也能被寫為

g(x)=(n=0a0(1+r)nxn)+c(n=0(1+r)nxn)(n=1xn)=(a0+n=1a0(1+r)nxn)+[n=1c((1+r)n1r)xn]=a0x0+n=1[a0(1+r)n+c((1+r)n1r)]xn \begin{align*} g (x) & = \left( \sum_{n = 0}^{\infty} a_0 (1 + r)^n x^n \right) + c \left( \sum_{n = 0}^{\infty} (1 + r)^n x^n \right) \left( \sum_{n = 1}^{\infty} x^n \right) \\ & = \left( a_0 + \sum_{n = 1}^{\infty} a_0 (1 + r)^n x^n \right) + \left[ \sum_{n = 1}^{\infty} c \left( \frac{(1 + r)^{n} - 1}{r} \right) x^{n} \right] \\ & = a_0 x^0 + \sum_{n = 1}^{\infty} \left[ a_0 (1 + r)^n + c \left( \frac{(1 + r)^{n} - 1}{r} \right) \right] x^n \end{align*}

根據設定的 g(x)=n=0anxng (x) = \sum_{n = 0}^{\infty} a_n x^n 所對應的 ana_n 係數得知

an=a0(1+r)n+c((1+r)n1r),n=1,2, \begin{align*} a_n & = a_0 (1 + r)^n + c \left( \frac{(1 + r)^{n} - 1}{r} \right), \quad n = \contii \end{align*}

注意到 n=0n = 0 時帶入,也同時滿足起始條件 a0a_0