R ファイナンス

【R言語】Rでブラック・ショールズ・モデルの計算をしてみる その2

この記事は約2分で読めます。

 

www.tkstock.site

 

↑に引き続き、今度はプットオプションの価格をBSモデルを使って計算していきます。

 

 コールオプションが買う権利であるのに対して、プットオプションは売る権利なので、行使価格Kの値は大きい(原資産額が低い)ほど大きな利益をあげることのできる可能性があるため、そのプットオプションの価値は高まります。

 

もちろん、原資産が行使額Kより高くなった場合はオプションから得られる利益はマイナスであるため、コールオプションと同じように、権利行使をせずプットオプションの権利購入額分が損失となります。

 

 

そして、プットオプションの解はしたように定義することができます。

 

プットオプションの価格(P₀)=e(-r×t)×K×N(-d2) - S0×N(-d1)

 

またプットオプションとコールオプションは↓のような関係にあるためこれを利用して計算していきます。

 

P₀=C₀-S₀+e(-r×t)

 

この関係をプットコールパリティと言います。

 

これをRで書くと下のようになります。

 

###bsモデルからコールオプションとプットオプションの価格を計算する###

> blackscholes<-function(S,K,r,sigma,T)
+ {
+ d1<-(log(S/K)+(r+sigma^2/2)*T)/(sigma*sqrt(T))
+ d2<- d1 - sigma*sqrt(T)
+ C0<-S*pnorm(d1)-exp(-r*T)*K*pnorm(d2)
+ P0<-C0-S+exp(-r*T)*K
+
+ return(c(“コールオプション価格”=C0,”プットオプション価格”=P0))
+ }
>
>
> blackscholes(100,50,0.05,0.3,7)
コールオプション価格 プットオプション価格
66.736094 1.970498

 

 

 

このようにBSモデルを使えば原資産価格。行使価格・無リスク金利・ボラティリティ・期間が分かればオプション価格を計算することが可能です。

 

しかし現実ではオプション価格は既に分かっていて、このモデルを逆算することによってボラティリティ(IV:インプライドボラティリティ)を計算するというパターンの方が多いです。

 

ヒストリカルボラティリティとインプライドボラティリティ

 

 

 

--------------------------------------------------------------------

Python・SQL・GASに関するプログラミングの相談やスクレイピングツール作成までMENTAクラウドワークスココナラにて相談を受け付けていますので、お気軽にご連絡ください。

主な案件例は以下に記載しております

---------------------------------------------------------------------

スポンサーリンク
ミナピピンの研究室

コメント

タイトルとURLをコピーしました