読者です 読者をやめる 読者になる 読者になる

暇人の研究室

金融工学やR言語・統計学について書いてます。

<

【R言語】Rでブラック・ショールズ・モデルの計算をしてみる その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:インプライドボラティリティ)を計算するというパターンの方が多いです。

 

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