2006年07月13日
やっぱりオプションの計算はエクセルか
多くの金融系サイトで用語の説明としてオプションについて解説されていますが、だいたいは簡単な説明が多く、満期時の利益曲線しか載っていないので、コール、プットの買いだと損失がプレミアムに限定されて、利益は原資産価格に比例して増えるということしか書いてありません。
しかし、オプションの醍醐味は、満期時の利益曲線ではなく、利益が原資産価格だけでなく、時間とともに変化するという特徴です。この特徴は何となくイメージすることはできますが、正確な変化を表すためにはブラック・ショールズモデルという計算式を使わなくてはなりません。
この式を C++ などで実装する場合、log とか、exp とかは特に問題はないのですが、ちょっと厄介なのが、N(d)という標準正規分布の累積密度関数の計算です。式で書くと正規分布の積分になるのですが、これは解析的には求まらないので、多項式の関数で近似してやらないといけません。そのプログラムも前の紹介したサイトに載っていたのですが、エクセルだとその関数が組込み関数としてすぐに使えるので便利です。
エクセルではVBAでユーザーが定義した関数とかが使えることは知っていたのですが、使ったことがなかったのと、C++でこれまで不便はなかったのでちょっと敬遠していました。今回ちょっと探したところ、以下のサイトにフリーのオプション計算用のエクセルのシートがあったので、それをいじることでやりたいことが簡単にできそうだったので、結局エクセルを使うことにしました。
Free Option Pricing Spreadsheet
あと、エクセルで都合がよかったのは、MetaTrader のDDEサーバー機能で為替レートをリアルタイムでエクセルに取り込むことができる点です。なので、手で入力するのは、その日の30日満期のコール、プットののATM(At The Money)でのオプション価格だけで済みました。
あとは、IV(Implied Volatility)を求めて各オープンポジションのオプション価格やデルタ、オプション価格がある値まで下がるための原資産の価格や時間などを自動的に計算できるようにしました。
これでなかなか便利になりました。
やっぱりオプションの計算はエクセルが便利だなあと実感しました。これだけできるプログラムをC++で作ろうと思ったらとても1日じゃできなかったでしょう。元々実際の損益はエクセルで管理していたので、これでオープンポジションも含めてエクセルで一元管理できることになったわけです。これからはVBAでインターフェースとか見栄えをよくしていきたいところです。
Trackback on "やっぱりオプションの計算はエクセルか"
このエントリーのトラックバックURL:
"やっぱりオプションの計算はエクセルか"へのトラックバックはまだありません。
上位ランキングのブログ記事はこちら
"やっぱりオプションの計算はエクセルか"へのコメントはまだありません。