SABR(Stochastic Alpha Beta Rho) modelのキャリブレーションアプリをShinyで作る

たまには金融っぽいものを作ろうと思いまして、SABRモデルのキャリブレーションアプリを作りまして*1
実際の物はShiny hosting service上で動いており、以下のLINK先にあります。

左側のパラメーター(Forward, Maturity, Strile & IV)をいじるたびに、裏でキャリブレーションが走る仕様です。キャリブレーション結果は、単純に"Model IV - Market IV"の二乗値が最小となるように求めています。パラメーターの非負性等の条件は適当に変数変換でいれています、詳細はソース嫁。マーケットデータは「Strike, IV」のカンマ区切りであれば適当にいれても動く…はず。

パラメーターを適当に変えるとわかるように、DOTM・DITMの時の"合い"はやはりよく言われてるように悪い様子がよくわかる。

ソースコード

コードはgithubからGETできます。

テストに使っているtestthatという単体テストライブラリはあのggplo2Hadley Wickham氏作で、
簡単に単体テストが作れるのがとても良いので、これはこれで別途紹介したいなと思いました(まる

*1:本当はSABRではなく株式オプションのデファクトスタンダードなモデルで作りたかったのですが、それが何なのか知らないので、もしご存知の方が教えてくれませんかね???