R ファイナンス

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

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

 

www.tkstock.site

 

 

今回はRを使ってブラックショールズモデルの関数を作ってみます。

 

 

www.tkstock.site

 

 

今回は公式の通り、原資産額(S)・行使価格(K)・ボラティリティ(σ)・無リスク金利(r)・期間(T)を使ってコールオプションの価格(原資産額Sの金融商品をt期間後に行使価格Kを買う事のできる権利)を計算していきます。

 

###ブラックショールズモデルによってコールオプション価格を計算する関数を作る###

 

> 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)
+ return(c(“コールオプション価格”=C0))
+ }

 

 

これで関数が完成しました。次はこれに引数(S,K,r,sigma,T)に適当な数値を入れて関数を動かします。

 

###無リスク金利が0.05のとき、原資産額100の金融商品(ボラティリティ0.3)を7期間後に行使価格100を買う事のできる権利の価格を計算する###

 

> blackscholes(100,100,0.05,0.3,7)

 

コールオプション価格

43.41978  

 

コールオプションとは原資産価格Sの商品を、一定期間後に行使額Kで購入して売却するものなので、行使額Kが低ければ低いほど利益は大きくなるということになります。(行使額が原資産額を上回ってしまった場合は権利を行使しないことにより権利購入額分の損をすることになります。)

 

なので、行使額Kの値を低くすればするほどそのコールオプションの価値は上昇することになります。

 

> blackscholes(100,50,0.05,0.3,7) ##行使価格50のとき
コールオプション価格
66.73609

> blackscholes(100,30,0.05,0.3,7) ##行使価格30のとき
コールオプション価格
79.18537
> blackscholes(100,10,0.05,0.3,7) ##行使価格10のとき
コールオプション価格
92.95525

 

次にプットオプション(売る権利)の価格を計算していきます。

 

 


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

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

過去の案件事例:

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

これまでの案件例を見る

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


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

コメント

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