• 締切済み

金融数学の問題ですが、割引率rの推計に難儀しています。エクセルのVBA、若しくは専門のソフトなどで素早く解けないでしょうか?

はじめまして。 金融数学ですが、 P=A+(a-r)/(1+r)*A+(b-r)/(1+r)^2*B+(c-r)/(1+r)^3*C+(d-r)/(1+r)^4*D+・・・・・・・+(k-r)/(1+r)^11*K+ (l-r)/r(1+r)^12*L という式で、今、PとA,B,C,D,・・・・・,K,L及びa,b,c,d,・・・・・,k,lが 解っています。 このときにrを推計したいのですが、どのようにすれば良いでしょうか?エクセルに式を書き、試行錯誤する方法くらいしか思いつきません。が、PとA,B,C,D・・・K,L及びa,b,c,d,・・・・・,k,lのセットが2000サンプルほどあるので、全てを試行錯誤で行うと膨大な時間が掛かってしまいます。 VBAで解く方法、もしくはこういったものを解くソフトウェアの存在など、なにとぞご教示ください。

みんなの回答

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.3

No.1のShinkamiです。再提案します。 Loop内でrの値を想定範囲内で誤差範囲内で変化させ そのときの答えがPを超えたときLoopを飛び出す Loopを飛び出したときのr、r-変化させた値、r-変化させた値/2 の値を候補として、式を当てはめてPに一番近い値を採用 以上を関数にする。

oomura_555
質問者

補足

Shinkamiさん、お返事ありがとうございます。 (例えば)極小値からrを小刻みに上方変化させ、Pを超えたところでLoopを止めるということですね。そしていくつかの候補から最近似の値を採用。 よく解るのですが、よちよち歩きの私のVBAのスキルを超えています。 甘えついでに式を構築して頂けないでしょうか? ご検討のほどよろしくお願いします。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.2

No.1のShinkamiです。再提案します。 Loop内でrの値を想定範囲内で誤差範囲内で変化させ そのときの答えがPを超えたときLoopを飛び出す Loopを飛び出したときのr、r-変化させた値、r-変化させた値/2 の値を候補として、式を当てはめてPに一番近い値を採用 以上を関数かする。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

難しい式ですね 次のようにシュミレーションしては Loop内でrの値を想定範囲内で少しづつ増加(減少?)させていき そのときの答えがPを超えたときLoopを飛び出す