FC2ブログ

【相場雑感】オプション・プライシング実践編③~ボラティリティ

さて、とりあえずこれでオプション・プレミアム(価格)の理論価格を計算することは出来るようになったはずです。



つまりそのオプションが何日後にいくらになるだとか、日経平均株価がどれぐらい動いたらいくらになっているとか…。



それが出来れば損益シミュレーションは出来るようになりますよね。



ただ今回作成した関数『CallFV』と『PutFV』という関数には5つの引数がありました。



残存日数, 現指数, 権利行使価格, 金利, IV



の5つです。



最初の3つは問題ないでしょう。

では最後の2つ、『金利』と『IV』はどの数値を入れればいいのでしょうか?



どちらも日経新聞のマーケット欄に出ているっちゃあ出ているのですが。



金利はどの数値が適当であるかは正直なんとも…。

昔はCD3ヵ月ものを入れていました。

金融機関などで一般的な資金調達手段として使われている金利が適当でしょう。

例えばTIBORとか。

ま、金利水準自体がエライ低いのでそれほどナーバスになる必要はありませんが(^^ゞ





で、問題なのは『IV』です。



『そもそもIVって何?』



っていう人のためにちょっと解説しておきましょう。



IV=インプライド・ボラティリティ



これはオプション・プレミアム(価格)から導き出されるボラティリティです。

つまり市場は今、変動リスクをどの程度織り込んでオプション・プレミアム(価格)を形成しているか、ということを計るものです。



一方で、ボラティリティには『HV(ヒストリカル・ボラティリティ)』というものがあります。

こちらは過去の値動きから変動率を計算したものです。



とりあえずこの二つを計算する関数をここでは紹介しましょう。



やり方は引き続き必殺『コピペ』でいきましょう(笑)



Function HVola(データ範囲)

Step1 = 0

Step2 = 0

データ数 = 0

For Each c In データ範囲

データ数 = データ数 + 1

データ位置 = c.Column

当日位置 = c.Row

当日値 = c.Value

前日位置 = 当日位置 - 1

前日値 = Cells(前日位置, データ位置).Value

式1 = Application.Ln(当日値 / 前日値)

Step1 = Step1 + 式1

Next

Step1 = Step1 / データ数

For Each c In データ範囲

データ位置 = c.Column

当日位置 = c.Row

当日値 = c.Value

前日位置 = 当日位置 - 1

前日値 = Cells(前日位置, データ位置).Value

式1 = Application.Ln(当日値 / 前日値)

式2 = (式1 - Step1) ^ 2

Step2 = Step2 + 式2

Next

Step3 = Step2 / (データ数 - 1)

Step4 = Step3 * 365

HVola = Sqr(Step4) * 100

End Function



この「=Hvola(データ範囲)」関数は選択範囲の期間ボラティリティを計算するためのものです。

使い方で注意して欲しいのは、前日からの変動を元に計算するため、欲しいデータ期間+1のデータが必要になる点です。



例えば、10日の期間ボラティリティを計算する場合は11日分以上のデータ期間が必要になります。

図のような感じです。





しがないディーラーのブログ






で、この図のB14のセルには



『=Hvola(B3:B12)』



とい数式が入っています。

B2に一つデータを残しておくのがポイントです(もっとうまく関数作れよという話もありますが、15年以上も前に作ったものなのでご容赦を(^^ゞ)。





もう一つの「IV」は、計算式による解ではなく、近似解を導き出すやり方で関するを作ってあります。あまりに以上な数値や近似解を導き出せなかった場合は、20%という数値を表示するように設定してあります。



さぁ、ここでも『コピペ』でサクサクッといきましょう(^^)



Function CallIV(プレミアム, 残存日数, 現指数, 権利行使価格, 金利)

If IsError(プレミアム) = False Then

If IsError(現指数) = False Then

If IsNumeric(プレミアム) = True Then

If 残存日数 <= 0 Then

CallIV = 0

ElseIf 現指数 = 0 Then

CallIV = 0

ElseIf 権利行使価格 = 0 Then

CallIV = 0

ElseIf プレミアム <= 0 Then

CallIV = 0

Else

IV = 0.2

許容誤差 = 0.01

試験値 = 0

Counter = 1

Do While Abs(プレミアム - CallFv(残存日数, 現指数, 権利行使価格, 金利, IV)) > 許容誤差

If Vega(残存日数, 現指数, 権利行使価格, 金利, IV) = 0 Then

IV = 0

Exit Do

End If

IV = IV + (プレミアム - CallFv(残存日数, 現指数, 権利行使価格, 金利, IV)) / Vega(残存日数, 現指数, 権利行使価格, 金利, IV) / 100

Counter = Counter + 1

If Counter = 200 Then Exit Do

Loop

CallIV = IV

End If

Else

CallIV = 0

End If

End If

End If

If Abs(プレミアム - CallFv(残存日数, 現指数, 権利行使価格, 金利, IV)) > 許容誤差 Then

CallIV = 0.2

End If

End Function



Function PutIV(プレミアム, 残存日数, 現指数, 権利行使価格, 金利)

If IsError(プレミアム) = False Then

If IsError(現指数) = False Then

If IsNumeric(プレミアム) = True Then

If 残存日数 <= 0 Then

PutIV = 0

ElseIf 現指数 = 0 Then

PutIV = 0

ElseIf 権利行使価格 = 0 Then

PutIV = 0

ElseIf プレミアム <= 0 Then

PutIV = 0

Else

IV = 0.2

許容誤差 = 0.01

試験値 = 0

Counter = 1

Do While Abs(プレミアム - PutFv(残存日数, 現指数, 権利行使価格, 金利, IV)) > 許容誤差

If Vega(残存日数, 現指数, 権利行使価格, 金利, IV) = 0 Then

IV = 0

Exit Do

End If

IV = IV + (プレミアム - PutFv(残存日数, 現指数, 権利行使価格, 金利, IV)) / Vega(残存日数, 現指数, 権利行使価格, 金利, IV) / 100

Counter = Counter + 1

If Counter = 200 Then Exit Do

Loop

End If

PutIV = IV

Else

PutIV = 0

End If

End If

End If

If Abs(プレミアム - PutFv(残存日数, 現指数, 権利行使価格, 金利, IV)) > 許容誤差 Then

PutIV = 0.2

End If

End Function



CallとPutで使う式が違います。

必要項目は『プレミアム, 残存日数, 現指数, 権利行使価格, 金利』の5つです。



繰り返しになりますがオプションの世界でプレミアムといえば、オプション価格のことです。





しがないディーラーのブログ






図のように数値を入力しました。

10000円コールのプレミアムは140円、残存日数は22日、現指数は9768.08円、権利行使価格は10000円、金利0.1%。



B8のセルには

『=CallIV(B2,B3,B4,B5,B6)』

という数式が入っています。



何もしないと0.2459…という数値になってしまうので、書式で%表示に直してあります。



ちなみに5つの項目をどれか異常な数値を入れてみてください。

20%という形に変わるはずです(異常値が出た場合の対応として)。





これで2つのボラティリティ

『ヒストリカル・ボラティリティ』と『インプライド・ボラティリティ』を計算できるようになりました(^^)


コメントの投稿

非公開コメント

プロフィール

tetsu219

Author:tetsu219
元証券ディーラーです。
二十数年ディーラーやって、シンガポールにも一時期行ってヘッジファンドを立ち上げてみたりと色々やってきて、とある証券会社でディーリング部長になり、今はシンガポールでヘッジファンドの設立・経営をやっています。

基本仕事ネタです。
更新は気が向いたときだけ(^^;
でもこのブログを通じて運用を志す若い世代の人たちに何か伝えられること、その一助になればと思っています。

初期は限定記事にしていましたが、今は開き直って全部公開にしてますのでお気軽に(笑)

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR