home / house / loan ローン支払額計算方法

 拙作のJava Scriptローン計算機はこちら: ローン計算機

 一般的にローンの支払方法には元利均等元金均等(あるいは元本均等)がある。元利均等は毎月の支払額(元本+利息)が一定(均等)になる方式。元金均等は毎月一定の元本と、それに利息を上乗せした額を支払う方式。元本の残高は支払いごとに減っていくため、それに一定の利率をかけた利息も支払いごとに減っていく。支払額から利息を引いたものを元本に充当するのが元利均等元金均等は毎月の支払額が徐々に減っていく。

 同じ利率・金額・期間のローンを組むと、最初のうちの支払額は元利均等の方が元金均等よりも少なくなる。しかし、元本の減り方が元金均等の方が早いため、利息も元金均等の方が早く少なくなる。従って、総支払額は元金均等の方が少なくなる。ただし、住宅ローン控除の税額控除の額は年末ローン残高の1%という計算のしかたをするため、元本の減り方の遅い元利均等の方が多くなる。

 余談だが、変動金利で元利均等を選択している場合、利率が上がると利息を返しきれなくなって(いわゆる未払利息が発生して)借金が増えてしまう場合がある。元金均等の場合は元金が必ず減っていくから、借金が増えてしまうことはないはずである。

home / house / loan 元金均等の計算

1. 元本充当分を求める。これは借入額を支払い回数で割ったもの。

2. 利息を求める。これはローン残高に毎回の利率をかけたもの。

3. 支払額を求める。1.と2.を足したものが支払額。

4. ローン残高は1.で求めた額だけ減る。

home / house / loan 元利均等の計算

1. 利息を求める。これはローン残高に毎回の利率をかけたもの。

2. 元本充当分を求める。毎月支払い額から1.を引いたもの。

3. ローン残高は2.で求めた額だけ減る。

 ここで問題になるのは、元利均等の毎月の支払額はどうやって決めてるの?ということである。元金均等の場合は借入金額と支払い回数が決まれば、毎月の支払額は簡単に計算できる。しかし、元利均等の場合はそうはいかないのである。まあ、返済額を早見表から求めればだいたいのローン返済シミュレーションはできるのだが、気になるところではある。

 元本(借入金残高)を \(y\) 、毎月の支払額を \(p\) 、毎回の利率を \(r\) (単位は%ではなく倍率そのもの)、支払い回数を \(n\) とする。 \(y_i\) と書いた場合、 \(i\) 回支払いを終えた時の残高を示すことにする。 \(y_0\) は一回も支払ってないから借入金そのものである。一回目の利息は \(y_0\cdot r\) である。支払額は \(p\) だから、一回目の元本充当分は \(p-y_0\cdot r\) である。一回目支払い後の借入金残高は \(y_0-(p-y_0\cdot r)\) になる。ちょっと書き換えると、

\begin{align*} y_1&=y_0-(p-y_0\cdot r) \eol &=y_0-p+y_0\cdot r \eol &=y_0+y_0\cdot r-p \end{align*}

つまり、利息を足してから支払額を引いた形になる。 さらに計算を進めると、

\begin{align*} y_1&=y_0+y_0\cdot r-p \eol &=(1+r)\cdot y_0-p \end{align*}

となる。 \(y_1\) は分かったので、 \(y_2\) を求める。 やり方は同じ。 \(y_1\) に利息をかけ、支払額 \(p\) から利息を引いたものが元本充当分であり、これを \(y_1\) から引いたものが \(y_2\) になる。

\begin{align*} y_2&=y_1-(p-y_1\cdot r) \eol &=y_1-p+y_1\cdot r \eol &=y_1+y_1\cdot r-p \eol &=(1+r)\cdot y_1-p \end{align*}

右辺の \(y_1\) にさっき求めた \(y_1\) を入れてみる。

\begin{align*} y_2&=(1+r)\cdot y_1-p \eol &=(1+r)\cdot\{(1+r)\cdot y_0-p\}-p \eol &=(1+r)\cdot(1+r)\cdot y_0-(1+r)\cdot p-p \eol &=(1+r)^2\cdot y_0-(1+r)\cdot p-p \end{align*}

これを次々に繰り返す。

\begin{align*} y_3&=(1+r)\cdot y_2-p \eol &=(1+r)\cdot\{(1+r)^2\cdot y_0-(1+r)\cdot p-p\}-p \eol &=(1+r)\cdot(1+r)^2\cdot y_0-(1+r)\cdot(1+r)\cdot p-(1+r)\cdot p-p \eol &=(1+r)^3\cdot y_0-(1+r)^2\cdot p-(1+r)\cdot p-p \eol y_4&=(1+r)\cdot y_3-p \eol &=(1+r)\cdot \{(1+r)^3\cdot y_0-(1+r)^2\cdot p-(1+r)\cdot p-p\}-p \eol &=(1+r)\cdot(1+r)^3\cdot y_0-(1+r)\cdot(1+r)^2\cdot p-(1+r)\cdot(1+r)\cdot p-(1+r)\cdot p-p \eol &=(1+r)^4\cdot y_0-(1+r)^3\cdot p-(1+r)^2\cdot p-(1+r)\cdot p-p \end{align*}

 原理的には \(y_n\) まで繰り返せばなんか方程式ができるはずだが、ひとつ進めるごとに項がひとつ増えちゃうので、これは現実的ではない。 でも、よく見ると、後ろの \(\sim\cdot p\) の項は、初項 \(p\) 、公比 \((1+r)\) の等比級数が並んだ形だ。 面倒なので初項1、公比 \(R\) の等比級数 \(n\) 項の和を \(S(R,\ n)\) で表しておくことにする。 つまり、 \(S(R,\ n)=1+R+R^2+\dots+R^{n-1}\) である。 最後の項は \(R^n\) ではなく、 \(R^{n-1}\) であることに注意。 すると、

\begin{align*} y_4&=(1+r)^4\cdot y_0-(1+r)^3\cdot p-(1+r)^2\cdot p-(1+r)\cdot p-p \eol &=(1+r)^4\cdot y_0-p\cdot\{(1+r)^3+(1+r)^2+(1+r)+1\} \eol &=(1+r)^4\cdot y_0-p\cdot\{1+(1+r)+(1+r)^2+(1+r)^3\} \eol &=(1+r)^4\cdot y_0-p\cdot S(1+r,\ 4) \end{align*}

と、とても簡単になる。 これを \(y_n\) まで繰り返す・・・のだが、繰り返すまでもなく、4を \(n\) に置き換えてしまえばよい。

\begin{align*} y_n=(1+r)^n\cdot y_0-p\cdot S(1+r,\ n) \end{align*}

さて、 \(y_n\) は何か? というと、 \(n\) 回支払いを終えた後の借入金残高である。 \(n\) 回支払ってるわけだから、支払いはこれで終わっているはずである。 つまり、借入金残高 \(y_n\) は0でなければならない。 従って、次のような方程式ができる。

\begin{align*} (1+r)^n\cdot y_0-p\cdot S(1+r,\ n)=0 \end{align*}

これを \(p\) について解けばいいわけだ。

\begin{align*} (1+r)^n\cdot y_0-p\cdot S(1+r,\ n)&=0 \eol -p\cdot S(1+r,\ n)&=-(1+r)^n\cdot y_0 \eol p\cdot S(1+r,\ n)&=(1+r)^n\cdot y_0 \eol p&=\frac{\ (1+r)^n\cdot y_0\ }{\ S(1+r,\ n)\ } \end{align*}

  \(S(R,\ n)\) は等比級数の和だから、こうやって求める。

\begin{alignat*}{4} &&S(R,\ n)&=1+&&R+R^2+\dots+R^{n-1}&& \eol -)&\ &R\cdot S(R,\ n)&=&&R+R^2+\dots+R^{n-1}&&+R^n \eol \hline &&S(R,\ n)-R\cdot S(R,\ n)&=1&&&&-R^n \eol &&(1-R)\cdot S(R,\ n)&=1-R^n&&&& \eol &&S(R,\ n)&=\frac{1-R^n}{1-R}&&&& \end{alignat*}

求めたいのは \(S(1+r,\ n)\) だから、 \(R\) に \(1+r\) を入れて計算すると、

\begin{align*} S(1+r,\ n)&=\frac{1-(1+r)^n}{1-(1+r)} \eol &=\frac{1-(1+r)^n}{-r} \eol &=\frac{(1+r)^n-1}{r} \end{align*}

これを元の式に入れて、

\begin{align*} p&=\frac{\ (1+r)^n\cdot y_0\ }{\ S(1+r,\ n)\ } \eol &=\frac{\ (1+r)^n\cdot y_0\ }{\sdfrac{(1+r)^n-1}{r}} \eol &=\frac{\ (1+r)^n\cdot y_0\cdot r\ }{(1+r)^n-1} \eol p&=\frac{\ (1+r)^n\cdot r\ }{(1+r)^n-1}\cdot y_0 \end{align*}

となる。 例えば、借入額100万円、年利2.6%、30年払とすると、 \(r=2.6/100/12=0.0021667\) 、 \(n=30\cdot 12=360\) であるから、

\begin{align*} (毎月の支払額)&=\frac{(1+0.0021667)^{360}\cdot 0.0021667}{(1+0.0021667)^{360}-1}\cdot 1000000 \eol &=4003.\cancel{418} \end{align*}

となる。公庫の早見表を見てみると確かに4003円になっている。

 高校数学の漸化式のとてもよい課題である。こういう問題をもっとたくさん扱えば、数学も面白くなるんじゃないかなぁ。

home / house / loan 途中で年利が変わる場合

 10年経ったら年利が上がるローンだったとしよう。 たとえば4%になったとする。 このときの支払い額はどうなるのだろうか? 上の式の \(r\) に \(4.0/100/12\) を入れればよい? 答えは×。 なぜか。 ひとつはローンを10年間一生懸命返してきたわけだから、借入金残高が減っている。 返済期間も全体で30年という約束だったから、残りは20年になっている。 したがって、年利2.6%で \(y_{120}\) を計算してから、それを新たな元本として年利4%・ \(n=240\) 回で \(p\) を計算しなおさなければならない。

  \(y_{120}\) については、先ほどの漸化式から求めた結果が使える。

\begin{align*} y_i&=(1+r)^i\cdot y_0-p\cdot S(1+r,\ i) \eol &=(1+r)^i\cdot y_0-p\cdot\frac{(1+r)^i-1}{r} \end{align*}

したがって、10年目の借入残高 \(y_{120}\) は、

\begin{align*} y_{120}&=(1+0.0021667)^{120}\cdot 1000000-4003\cdot\frac{(1+0.0021667)^{120}-1}{0.0021667} \eol &=748653.\cancel{4921} \end{align*}

残高は748,653円。 支払い期間は1/3過ぎたのに、借入残高は3/4くらい残っている。 これが元利均等方式の特徴である。 この先は \(r=4.0/100/12=0.0033333\) 、 \(n=20\cdot 12=240\) なので、

\begin{align*} (10年目からの支払額)&=\frac{(1+0.0033333)^{240}\cdot\ 0.0033333}{(1+0.0033333)^{240}-1}\cdot 748653 \eol &=4536.\cancel{67} \end{align*}

となる。これも公庫の早見表を見ると確かに4536円になっている。

home / house / loan ボーナス払い

 ボーナス払いは年二回というだけである。 たとえば、100万円を年利2.6%のボーナス払いだけで30年払にすると、各回の利率は \(r=2.6/100/2=0.013\) 、支払回数は \(n=30\cdot 2=60\) である。これをさっきの式に入れれば、

\begin{align*} (ボーナス払の支払額)&=\frac{(1+0.013)^{60}\cdot 0.013}{(1+0.013)^{60}-1}\cdot 1000000 \eol &=24106.\cancel{036} \end{align*}

となる。これも公庫の早見表を見ればあっていることが分かるだろう。年あたりの支払額を比べると、毎月払が4003*12=48036円、ボーナス払いは24106*2=48212円で、毎月払の方が一年あたり176円だけ得なことも分かる。1000万円借りて10年間で17600円という些細な差ですが。

 実際には初回支払までの利息の扱いなどで多少異なるはずなので、実際に借入する金融機関に確認のこと(借入月によってはボーナス払いの方が得の場合もある)。あんまり関係ないが、住宅ローン減税の事を考えると、ボーナス月は6月・12月で設定するより、1ヶ月遅らせて1月・7月で設定する方が有利のような気がする。案外、究極的には月払いなしで、12月借入、1月・7月のボーナス払いのみの方が得だったりして。

home / house / loan 初回支払までの利息

 あんまり扱っているページを見たことがないので、以下は全部机上論。 利息は返済間隔 \(t\) に対して \(r\) の割合で単利で増えるとする。 返済間隔 \(t\) だけ時間が経つと、元金 \(y\) に \(y\cdot r\) の利息がつく。 初回以外は常に返済間隔 \(t\)で返済がなされるのでこれでよい。 問題は借入から初回返済までの期間である。 例えば、ボーナス払いで借入の次の日に初回返済がくるのと、ボーナスの直後に借り入れて半年後に初回返済が来るのとでは、半年分の利差がなければおかしい。

 完全に初回から返済額を同じにしようとすると、ちょっと面倒な計算をしなければならない。しかし、実際には返済額を調整して対処しているようである。この場合、とりあえず何も考えずに初回の元本返済額を計算し、それに日割計算した利息を足して返済額を求めているようだ。

 例えば、借入額100万円、年利2.6%、360回(30年)払、元利均等とした場合、毎回の返済額は4,003円 となり、初回利息は \(1000000\cdot 2.6/100/12=2166.\cancel{666}\) 円だから、返済している元本は \(4003-2166=1837\) 円となる。 もし、借入日から初回返済日までが10日しかなかった場合、実際の利息は \(1000000\cdot(2.6/100)\cdot(10/365)=712.\cancel{328}\) 円なので、これと元本返済額を足して \(1837+712=2549\) 円 が初回返済額となる。

 ボーナス払いで、借入額100万円、年利2.6%、60回(30年)払、元利均等とした場合、毎回の返済額は24,106円となり、初回利息は \(1000000\cdot 2.6/100/2=13000\) 円だから、返済している元本は \(24106-13000=11106\) 円となる。もし、借入日から初回返済日まで30日しか経っていない場合、実際の利息は \(1000000\cdot(2.6/100)\cdot(30/365)=2136.\cancel{986}\) 円なので、これと元本返済額を足して \(11106+2136=13242\) 円が初回返済額になる。

 私の場合は、第1回支払日が通常の支払日と異なっており、第2回目も同様の計算がされていた。


 初回の返済額も二回目以降と同じにしたい場合は、例えば元利均等の場合を図にしてみるとこんな感じ。

 借入額 \(y_0\) (黒)のパターンでは、借り入れてからちょうど返済間隔tだけ時間が経過して初回返済になった場合である。 この図を見ると、今までの計算は全部このパターンだったことが分かる。 一方、 \(y_1\) (赤)のパターンでは、借入から \(t_1\)しか経っていないのに初回支払が来てしまっている。 この場合、 \(y_0\) と同じように返済していたのでは利息を払いすぎてしまう。

 本来の利息は、 \(y_0\) が \(y_0\cdot r\) だったのに対し、 \(y_1\) では \(y_1\cdot r\cdot (t_1/t)\) のはずである。この利息の額と初回返済までの期間 \(t_1\) から、本来の元金 \(y_1\) を計算できる。そのためには、 \(y_0\) と利息 \(y0\cdot r\) の和と、 \(y_1\) と利息 \(y_1\cdot r\cdot (t_1/t)\)の和が等しいという式を作ればよい。 \(y_0\) よりも \(y_1\) の方が大きいから、初回返済までは \(y_1\) の方が利息の増え方が速い。したがって、 \(y_0\) の利息増加直線の上には \(y_1\) の点はのらないことに注意。初回返済後は \(r\) と \(p\) が同じならば、あとは最後まで同じ経過をたどるはずである。

 逆に、返済したい元金 \(y_1\) から \(y_0\) の場合に変換すれば(図中の式)、あとは今までの説明で使ってきた式で返済額 \(p\) が求まることになる。例えば、当初10年2.6%・元利均等ボーナス払いで100万円を借りたとする。先ほどの計算では24106円だった。これは、借入から6ヶ月後に初回返済が来る場合である。もし、借入の1ヶ月後に初回返済が来る場合は、

\begin{align*} y_0&=1000000\cdot\frac{1+0.013\cdot(1/6)}{1.013} \eol &=989305.693 \end{align*}

を、半年後初回返済で借りた場合と同じになる。元金相当額が安くなったのだから、返済額も安くなるはずである。試しに返済額を求め直してみると、

\begin{align*} \frac{1.013^{60}\cdot 0.013}{1.013^{60}-1}\cdot 989305.693=23848.239 \end{align*}

となって、毎回の返済額が258円ほど安くなることが分かる。

 なお、元金均等の場合には、初回返済までの期間によらず、元金の返済額は初回も含めて毎回一定だから、違うのは初回利息だけのはずである。つまり、初回の支払額のみが計算と異なり、残りは全部計算通りになるはずだ。

home / house / loan 最終回(帳尻合わせ)

 計算結果が円単位ちょうどで端数が出ない、ということはほとんどなく、実際には小数以下に端数が出る。端数は切捨て・切上げ・四捨五入のいずれかで処理しなければならない。端数を処理すると当然誤差が出る。この誤差をどこかで調整しなければならない。

 元金均等の場合、元金が支払い回数で割り切れてしまえば調整の必要はない。割り切れない場合は端数を初回・最終回のどちらかに回すか、あるいは毎回±1円の範囲で調整すればよい。

 元利均等の場合、支払額は返済前に決められ、各回ごとに利息を計算して、支払額と利息の差額で返済元金が決まるため、総返済額(元金)に誤差が生じる。これを最後に調整しなければならない。例えば、借入額100万円、当初120回(10年)年利2.6%、以後4.0%、360回(30年)払、元利均等で、支払額と利息を切捨て計算してみる。

支払額 利息 返済額 残高 総支払額
1 4,003 2,166 1,837 998,163 4,003
2 4,003 2,162 1,841 996,322 8,006

 「支払額」は「元利均等の計算」で説明した方法で計算しておく。前回の「残高」に毎回の利率(年利2.6%なので2.6/100/12 = 0.0021666...)をかけたものが「利息」となる。「支払額」から「利息」を引いたものが「返済額」となり、前回の「残高」から「返済額」を引いたものが今回の「残高」となる。また、前回の「総支払額」に今回の「支払額」を足したものが今回の「総支払額」となる。これを120回まで続けると、

支払額 利息 返済額 残高 総支払額
118 4,003 1,637 2,366 753,318 472,354
119 4,003 1,632 2,371 750,947 476,357
120 4,003 1,627 2,376 748,571 480,360

こうなるので、借入額748,571円、年利4.0%、240回払、元利均等で支払額を計算しなおす(4,536円になる)。続けて359回まで計算するとこうなる。

支払額 利息 返済額 残高 総支払額
121 4,536 2,495 2,041 746,530 484,896
122 4,536 2,488 2,048 744,482 489,432
中略
358 4,536 44 4,492 8,914 1,559,928
359 4,536 29 4,507 4,407 1,564,464

 最後の支払を目前にして残高は4,407円である。利息は4407*4.0/100/12 = 14.69円、したがって、最終回は 4407+14 = 4421円 を支払えばよく、毎回の支払額4536円とは誤差が生じることが分かる。

支払額 利息 返済額 残高 総支払額
360 4,421 14 4,407 0 1,568,885

 ボーナス払いでも同様に計算できて、

支払額 利息 返済額 残高 総支払額
1 24,106 13,000 11,106 988,894 24,106
2 24,106 12,855 11,251 977,643 48,212
中略
18 24,106 10,272 13,834 776,386 433,908
19 24,106 10,093 14,013 762,373 458,014
20 24,106 9,910 14,196 748,177 482,120
21 27,350 14,963 12,387 735,790 509,470
22 27,350 14,715 12,635 723,155 536,820
中略
58 27,350 1,577 25,773 53,081 1,521,420
59 27,350 1,061 26,289 26,792 1,548,770

最終回は利息 26792*4.0/100/2 = 535.84円 と残高26,792円を足して、支払額は27,327円となる。

支払額 利息 返済額 残高 総支払額
60 27,327 535 26,792 0 1,576,097

 以下は余談。月払いボーナス払いの総支払額を比べてみると、1568885-1576097=-7212 となるから、月払いの方が7,212円総支払額が少ない。一般的に「月払いボーナス払いでは月払いの方が得」とされている論拠はここにある。

 しかし、もし借りた直後に初回返済が来れば、初回利息はほぼゼロになる。初回利息を見ると月払い2,166円ボーナス払い13,000円となっているから、その分を引くと、月払い1568885-2166 = 1566719円ボーナス払い1576097-13000 = 1563097円 が総支払額となる。比べると、1566719-1563097 = 3622 となり、ボーナス払いの方が3,622円総支払額が少ない

 つまり、時と場合によって、月払い・ボーナス払い、どちらが得か? は変わることになる。税額控除も考えると、12月に融資が実行され、1月の最初の方に初回支払が来るボーナス払いのパターンが一番お得になると考えられる。実際には融資実行時期は自由にならないため、運を天に任せるしかないのだが。


Copyright (C) 2002-2019 akamoz.jp

$Id: loan.htm,v 1.9 2019/04/09 14:33:57 you Exp $