「大人の教養・知識・気付き」を伸ばすブログ

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。データ分析・語学に力点を置いています。 →現在、コンサルタントの雛になるべく、少しずつ勉強中です(※2024年1月21日改訂)。

MENU

金融工学でのモンテカルロ法(14/23):リスク・パラメータの算出(2)

 金融工学におけるシミュレーションについて学んでいく。テキストとして以下を使う。今回はP.103-109まで。


power-of-awareness.com

7. Monte Carlo法を用いたオプション・リスクの計算

7.3 共通の乱数セット

 リスク・パラメータ推定における複数回の\mathrm{Monte\ Carlo}法では、共通の乱数セットを用いた方が良い。
 これは、たとえば\hat{\Delta}の分散において


\begin{aligned}
V[\hat{\Delta}]&=V\left[\displaystyle{\frac{\hat{c}(S_0+h)-\hat{c}(S_0)}{h}} \right]\\
&=\displaystyle{\frac{V[\hat{c}(S_0+h)]-2\mathrm{Cov}[\hat{c}(S_0+h),\hat{c}(S_0)]+V[\hat{c}(S_0)]}{h^2}}
\end{aligned}

であるが、もし別々の乱数セットを用いると、


\begin{aligned}
\mathrm{Cov}[\hat{c}(S_0+h),\hat{c}(S_0)]\approx0
\end{aligned}

であるが、共通の乱数セットを用いれば


\begin{aligned}
\mathrm{Cov}[\hat{c}(S_0+h),\hat{c}(S_0)]\approx1
\end{aligned}

となるから、\hat{\Delta}の誤差分散は減少する場合が多い*1
 共通の乱数セットを用いれば、


\begin{aligned}
\hat{\Delta}=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\frac{C_i(S_0+h)-C_i(S_0)}{h}}
\end{aligned}

である。

(1) i=1とする。
(2) 標準正規乱数列\boldsymbol{\xi}_i=(\xi_{i1},\cdots,\xi_{iT})を生成する。
(3) [S_0,S_0+h]として株価サンプルパス
\begin{aligned}\boldsymbol{S}_i=(S_{i1},\cdots,S_{iT}),\ S_{ij}=S_{i(j-1)}+rS_{i(j-1)}\Delta t+\sigma\sqrt{\Delta t}S_{i(j-1)}\xi_{ij} \end{aligned}
を生成する。
(4) サンプルパスを基に
\begin{aligned}C_i(S_0)=e^{-rT}\max\{S_{iT}-K,0\},\\C_i(S_0+h)=e^{-rT}\max\{S_{iT}-K,0\}\end{aligned}
を計算する。
(5) i=2,3,\cdots,Nとして繰り返し、オプション価格
\begin{aligned}\hat{c}(S_0)=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}C_i(S_0)}\end{aligned}
を計算する。
(6) 加えて
\begin{aligned}\hat{c}(S_0+h)=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}C_i(S_0+h)}\end{aligned}
を計算し、差分商デルタ
\begin{aligned}\hat{\Delta}=\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\frac{C_i(S_0+h)-C_i(S_0)}{h}}\end{aligned}
を計算する。

7.4 サンプル・ペイオフ微分する方法

 解析的な微分形を活用しつつ、バイアスのないリスク・パラメータとオプション価格を同時に算出できる。
 アイディアのコアは

  • 株価のサンプルパスごとにリスク・パラメータを計算する
  • 微分積分の順序を交換する

 ヨーロピアン・コール・オプションのデルタを計算することを考える。以下ではオプション・ペイオフS_{iT}の関数であることに注意し、サンプル・ペイオフと呼称するものとする。
 まず


\begin{aligned}
\displaystyle{\frac{\partial C_i}{\partial S_0}}=\displaystyle{\frac{\partial C_i}{\partial S_{iT}}}
\displaystyle{\frac{\partial S_{iT}}{\partial S_0}}=e^{-rT}\boldsymbol{1}_{\{S_{iT}\geq K\}}\displaystyle{\frac{S_{iT}}{S_0}}
\end{aligned}

と出来る。これをサンプル・デルタと呼ぶこととする。ここで


\begin{aligned}
\displaystyle{\frac{\partial C_i}{\partial S_{iT}}}=e^{-rT}\boldsymbol{1}_{\{S_{iT}\geq K\}}
\end{aligned}

が得られ、


\begin{aligned}
S_{iT}=S_0\exp{\left\{\left(r-\frac{\sigma^2}{2}\right)T+\sigma\sqrt{T}Z_{T} \right\}}
\end{aligned}

から


\begin{aligned}
\displaystyle{\frac{\partial C_i}{\partial S_0}}=\displaystyle{\frac{S_{iT}}{S_0}}
\end{aligned}

である。
 ここで理論値cS_0に関して滑らかな関数であるから、期待値演算(積分)と微分の順序は入替可能である。したがって


\begin{aligned}
\displaystyle{\frac{\partial C}{\partial S_0}}=\displaystyle{\frac{\partial}{\partial S_0}}E[C_i]=E\left[\displaystyle{\frac{\partial C_i}{\partial S_0}}\right]
\end{aligned}

が成立する。
 これらを踏まえたデルタを算出するアルゴリズムは以下の通りである:

(1) 標準正規乱数列\boldsymbol{\xi}_i=(\xi_{i1},\cdots,\xi_{iT})を生成する。
(2) 株価サンプルパス
\begin{aligned}\boldsymbol{S}_i=(S_{i1},\cdots,S_{iT}),\ S_{ij}=S_{i(j-1)}+rS_{i(j-1)}\Delta t+\sigma\sqrt{\Delta t}S_{i(j-1)}\xi_{ij} \end{aligned}
を生成する。
(3) サンプル・デルタ
\begin{aligned}\frac{\partial C_i}{\partial S_{iM}}=e^{-rT}\boldsymbol{1}_{\{S_{iT}\geq K\}}\displaystyle{\frac{S_{iT}}{S_0}}\end{aligned}
を計算する。
(4) i=2,3,\cdots,Nに対して(1)-(3)を繰り返し、デルタ
\begin{aligned}\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\frac{\partial C_i}{\partial S_{iM}}}\end{aligned}
を計算する。

 他のグリークスについても考える。

  • サンプル・カッパ


\begin{aligned}
\displaystyle{\frac{\partial C_i}{\partial \sigma}}=e^{-rT}\boldsymbol{1}_{\{S_{iT}\geq K\}}\displaystyle{\frac{S_{iT}}{\sigma}}\left[\log{\frac{S_{iT}}{S_0}}+\left(r-\frac{\sigma^2}{2}\right)T\right]
\end{aligned}

  • サンプル・ロー


\begin{aligned}
\displaystyle{\frac{\partial C_i}{\partial r}}=KTe^{-rT}\boldsymbol{1}_{\{S_{iT}\geq K\}}
\end{aligned}

  • サンプル・シータ


\begin{aligned}
\displaystyle{\frac{\partial C_i}{\partial T}}=e^{-rT}\max{[S_{iT}-K,0]}-\boldsymbol{1}_{\{S_{iT}\geq K\}}\displaystyle{\frac{S_{iT}}{2T}}\left[\log{\frac{S_{iT}}{S_0}}+\left(r-\frac{\sigma^2}{2}\right)T\right]
\end{aligned}

一方、サンプル・ガンマはサンプル・デルタが定義関数を含むから一般には導出が困難である。

 サンプル・ペイオフを直接微分する方法では、

  • サンプル価格を各パラメータで微分しなくてはならない。
  • 積分(期待値演算)と微分演算が交換可能でなければならない。

したがってデジタル・オプションなどペイオフ関数に定義関数


\begin{aligned}
\boldsymbol{1}_{\{S_{iT}\geq K\}}
\end{aligned}

を含む場合などは別の方法で計算する。

7.4.1 算術平均ヨーロピアン・コール・オプションのデルタ

 株価の第iサンプルパスS_{i1},\cdots,S_{iT}


\begin{aligned}
\boldsymbol{S}_i=(S_{i1},\cdots,S_{iT}),\ S_{ij}=S_{i(j-1)}+rS_{i(j-1)}\Delta t+\sigma\sqrt{\Delta t}S_{i(j-1)}\xi_{ij}
\end{aligned}

で生成されるとし、満期におけるサンプルごとに平均株価を


\begin{aligned}
\bar{S}_{iT}=\displaystyle{\frac{1}{T}\sum_{j=1}^{T}S_{ij}}
\end{aligned}

で定義する。またサンプル・ペイオフ


\begin{aligned}
A_{i}=e^{-rT}\max{[\bar{S}_{iT}-K,0]}
\end{aligned}

で定義する。ここで


\begin{aligned}
\displaystyle{\frac{\partial S_0}{\partial \bar{S}_{iT}}}=&\displaystyle{\frac{\partial }{\partial S_0}\frac{1}{T}\sum_{j=1}^{T}S_{ij}}=
\displaystyle{\frac{\partial}{\partial S_0}\left[\frac{1}{T}\sum_{j=1}^{T}\exp{\left\{\left(r-\frac{\sigma^2}{2}\right)t_j+\sqrt{t_j}\sigma Z_j\right\}}\right]}\\
=&\displaystyle{\frac{1}{T}\sum_{j=1}^{T}}\exp{\left\{\left(r-\frac{\sigma^2}{2}\right)t_j+\sqrt{t_j}\sigma Z_j\right\}}\\
=&\displaystyle{\frac{\bar{S}_{iT}}{S_0}}
\end{aligned}

とできるから、算術平均オプションのサンプル・デルタは


\begin{aligned}
\displaystyle{\frac{\partial A_i}{\partial S_0}}=\displaystyle{\frac{\partial A_i}{\partial \bar{S}_{iT}}}\displaystyle{\frac{\partial \bar{S}_{iT}}{\partial S_0}}=e^{-rT}\boldsymbol{1}_{\{\bar{S}_{iT}\geq K\}}\displaystyle{\frac{\bar{S}_{iT}}{S_0}}
\end{aligned}

(1) 標準正規乱数列\boldsymbol{\xi}_i=(\xi_{i1},\cdots,\xi_{iT})を生成する。
(2) 株価サンプルパス
\begin{aligned}\boldsymbol{S}_i=(S_{i1},\cdots,S_{iT}),\ S_{ij}=S_{i(j-1)}+rS_{i(j-1)}\Delta t+\sigma\sqrt{\Delta t}S_{i(j-1)}\xi_{ij} \end{aligned}
を生成する。
(3) 平均株価
\begin{aligned}\bar{S}_{iT}=\displaystyle{\frac{1}{T}}\sum_{j=1}^{T}S_{ij}\end{aligned}
を計算する。
(4) サンプル・デルタ
\begin{aligned}\displaystyle{\frac{\partial A_i}{\partial S_0}}\end{aligned}
を計算する。
(5) (1)-(3)を繰り返し、デルタ
\begin{aligned}\displaystyle{\frac{1}{N}\sum_{i=1}^{N}\frac{\partial A_i}{\partial S_0}}\end{aligned}
を計算する。

*1:ただしバリア・オプションやデジタル・オプションには不向きである。

プライバシーポリシー お問い合わせ