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:インプライドボラティリティ)を計算するというパターンの方が多いです。

 

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

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

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