この記事は、株式会社エイチームフィナジー の Advent Calendar 2019 15日目です。
はじめに
皆さまクリスマスシーズンいかがお過ごしですか?
株式会社エイチームフィナジー の Advent Calendar 2019 15日目 は、 @kazenomachi が担当します。
株式会社エイチームフィナジーでは、「世の中からお金の不安を解消し、より人生が豊かになる社会を実現する」ことをミッションに、金融領域を中心とした様々なサービスを運営しています。
今回は、ナビナビ住宅ローンの開発に携わっているWebエンジニア(住宅ローンアドバイザー)の私が、Rubyでローンの計算をするライブラリをご紹介します。
※本稿の内容は、弊社で運営しているサービスの内容とは関係ありません。
使用するライブラリ
今回は、exonioというgemを使用してみます。
とてもシンプルに財務関数を扱えるgemです。
インストール
$ gem install exonio
様々なローンの計算をしてみよう
支払い回数を算出する
年利15%のローン商品で25万円を借り入れ、毎月1万円を支払っている場合、総支払い回数はNPER
関数を使って以下のように算出できます。
# 月利(年利15%)
# 月単位の支払いなので、月利で計算します。
interest_rate = (15.0 / 100) / 12
# 毎月の支払額
amount_of_payment = -10_000
# 借入金額
borrowing_amount = 250_000
Exonio.nper(interest_rate, amount_of_payment, borrowing_amount)
# => 30.16243479462554
30回払い、2年半…長い道のりです
借入金額から、毎月の支払額を算出する
年利15%のローン商品で100万円を借り入れ、5年で返済する場合、毎月の支払額はPMT
関数を使って以下のように算出できます。
# 月利(年利15%)
# 月単位の支払いなので、月利で計算します。
interest_rate = (15.0 / 100) / 12
# 支払い回数(5年)
number_of_payments = 5 * 12
# 借入金額
borrowing_amount = 1_000_000
Exonio.pmt(interest_rate, number_of_payments, borrowing_amount)
# => -23789.930086358785
年利15%なので、利息も高いですね…
ローンの利率を算出する
100万円を借り入れ、毎月2万円を5年間払い続ける場合の利率をRATE
関数を使って算出します。
# 支払い回数
number_of_payments = 5 * 12
# 毎月の支払額
amount_of_payment = -20_000
# 借入金額
borrowing_amount = 1_000_000
# 月利
monthly_rate = Exonio.rate(number_of_payments, amount_of_payment, borrowing_amount)
# 年利
monthly_rate * 100 * 12
# => 7.420095794554806
およそ7.42%の年利となりました
毎月の支払額から、借り入れ可能額を算出する
住宅ローンの借り入れ可能額を計算してみましょう。
年利1.5%の35年住宅ローンを毎月6万円支払う場合の借り入れ可能額は、PV
関数を使って以下のように算出できます。
# 月利(年利1.5%)
# 月単位の支払いなので、月利で計算します。
interest_rate = (1.5 / 100) / 12
# 支払い回数(35年)
number_of_payments = 35 * 12
# 毎月の支払額
amount_of_payment = -60_000
Exonio.pv(interest_rate, number_of_payments, amount_of_payment)
# => 19596031.744103875
頭金やボーナス払い等を考慮しない場合、およそ1900万円の住宅を購入できる計算です。
煙突はつけられるかな…
まとめ
財務関数はローン以外にも積立預金などの計算もできます。
exonioはシンプルなgemなので、ちょっとした計算をしたい時等にぜひ使ってみてください。
ご利用は計画的に…ふぉっふぉっふぉ…