censored log

公開して怒られが生じない程度のactivityに関する雑記

奨学金の繰上返還で予想以上に保証料が帰ってきた話

一行まとめ

据置期間に繰上返還を行った場合、最大95%程度の保証料が還付される。

保証料の返還とは

繰上返還で保証料が返還される旨はJASSOでも案内されている。
www.jasso.go.jp

JASSO公式ではどの程度返還されるかは言及されていないが、保証機関である(公財)日本国際教育支援協会の案内によれば
>在学中、在学猶予中、据置期間中に返還完了となった場合、保証料のおよそ7割をお返しします。
との記載がある。
kikanhosho.jees.or.jp

しかし実際にどの程度返還されるかはケースバイケースということもあり、なかなか体験談が見つからない。
本記事ではその一例を紹介する。

条件

博士後期課程の1年だけ月額122,000円の融資を受けた。
当時の保証料は122,000円/月の貸与を受けた場合、保証料として5,629円/月を要する*1
そのため実際に融資を受けた12ヶ月間に天引きされた保証金は
5,629円/月 * 12ヶ月 = 67,548円
となる。*2

自分の場合、貸与終了時に半額免除認定を受けたため、実際の返還額は733,200円となっている。*3


結果

3月に残額の一括繰上返済を行ったところ、6月上旬に返還額に関する通知書が届いた。
f:id:zyde:20200607223030p:plain:w600
返還額は64,041円であり、支払った保証料に対する返還割合は64,041/67,548 ~ 94.8%である。
これは公式に案内されている7割程度の返還割合を遥かに超えており、想像以上の割合である。

non-bureaucrat.hatenablog.com
返還額に関する上記のブログの考察を基に考えると、
・自分の場合は240回(20年)の返済期間で設定していたために、貸与期間1年+返済期間20年=21年間 が元来想定されていた保証期間
・実際に保証を受けていた期間は貸与期間の1年のみ
ということで20/21~4.7%程度の保証費用が発生していたと推定することができる。
今回返還されなかった5.2%部分との差分は、返還に要する手数料ではないかと考えられる。


結論

卒業即時返還の場合、想定以上の額の保証料の返還が受けられることが分かった。
JASSOの第一種奨学金は低利率であるため、融資条件に該当する場合には申請したほうが良いという戦略がよく語られる。しかしこの戦略は人的補償を選択することを暗黙の了解にしていることが多く、機関保証しか選択できない場合には保証料の高さが心理的障壁となり、不必要な申請を防いでいた側面があると思われる。
しかし実際には、卒業6ヶ月以内の据置期間中に繰上げ返済を行った場合には、徴収された保証料の87%程度が返還される(博士の場合には最大で3/23~13%、修士の場合にも上記ブログを参考にして2/16~13%程度の保証料が発生する)ことから、機関保証の場合でも全貸与額に対して4.6%*13%~0.52%程度の支出で済むことが明らかとなった。

以上を踏まえると、返還免除の勝算がある場合には第一種奨学金を申請すべきである。
(この戦略が奨学金制度の趣旨に反することは百も承知ではある)

*1:ちなみに保証料は2017年以降変動していないようである。

*2:この貸与額に対して4.6%程度の"仲介料"が適切かについては諸説あるが、個人的には人的補償を使えない"弱者"側の人間の足元を見た設定とは思う。 特に80,000円/月の設定に対する3,065円/月(~3.8%)より割高なのは、機構の本音が透けて見えるように感じる。

*3:この免除額についての扱いがどうなっているのか(貸与実績そのものが消去され、そもそも保証料が発生し得ないというロジックになるのか、免除認定時に一部繰り上げ返済のような処理が行われ、返済期間が短縮されたことによって保証料が返還されるというロジックになるのか)は個人的に気になる点であるが、これは全額免除の人や、半額免除の後に通常返済/一部繰り上げ返済した人の返還額を複数例集めなければ窺い知ることはできないだろう。

JupyterLab上で%matplotlib widgetを動かすまで

Jupyter Notebookでは%matplotlib notebookで簡単にインタラクティブな描画ができる一方、JupyterLabでこのコマンドは動作しない。
(少なくとも2019/7/13時点で %matplotlib notebook はレガシーコマンドとして警告が出るしそもそも描画してくれない。)
現時点でJupyterLabで同様の動作を与えてくれる方法として%matplotlib widgetによる方法があるが、あまり日本語記事がないのでメモがてらに最低限の内容をまとめておく。

1. Minicondaをインストール

2. ライブラリを好きなだけ入れる。
  自分の場合の最小構成は以下の通り。

conda install -c conda-forge numpy pandas scikit-learn matplotlib jupyterlab nodejs

3. jupyter上で表示されるグラフをinteractiveに操作(zooming, etc...)したいので、各種拡張を入れる

conda install -c conda-forge ipympl
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install jupyter-matplotlib

上記の手順で導入を行うと環境は以下のようになる。

notebook 5.7.8
JupyterLab 1.0.2
matplotlib 3.1.1
ipympl 0.3.3
ipywidgets 7.5.0
nodejs 11.14.0
@jupyter-widgets/jupyterlab-manager v1.0.1
jupyter-matplotlib v0.4.2
import matplotlib.pyplot as plt
%matplotlib widget
~

のコマンドを用いることでinteractiveな操作が可能なグラフが得られる。

f:id:zyde:20190714181442p:plain

GridSpecを用いた構成にも対応(各グラフで異なる領域のzooming等が可能)
f:id:zyde:20190714181502p:plain

jupyterlab上では初回のみprompt上で

[IPKernelApp] WARNING | No such comm: ~

とエラーが出てグラフが表示されないことがあるものの、それ以降の実行時は問題なく出力される。

[7/16 追記]
github.com

figsizeの設定にかかわらず、図面がwindow sizeに拡張される動作がデフォルトになっている。
図面のサイズを設定する場合、

fig = plt.figure()
fig.canvas.layout.width = ~
fig.canvas.layout.height = ~

で与える必要がある。

続きを読む