求めたいもの
株価\( S(t) \)がバリア\( H \)に初めてヒットする時刻を\( \tau \)とします。つまり、\( \tau = \min{ \{ 0 \leq t | S(t) = H \} } \)でこれは確率変数です。この\( \tau \)が\( 0\leq\tau\leq T \)の場合には何らかのペイオフ\( P \)(定数)があり、\( T < \tau \)の場合にはペイオフはゼロ、という状況を考えて、 \begin{align*} &\mathbb{E}[ P e^{-r \tau} \cdot 1_{ \left\{ 0\leq\tau\leq T \right\} } + 0 \cdot 1_{ \left\{ T < \tau \right\} } ] \\ &= P \cdot \mathbb{E}[e^{-r\tau} \cdot 1_{ \left\{ 0\leq\tau\leq T \right\} }] \end{align*} を評価したいケースが出てきます。ただし、\( 1_A \)(\( A \)は確率事象)は定義関数です。
近似式
この\( \mathbb{E}[e^{-r\tau} \cdot 1_{ \left\{ 0\leq\tau\leq T \right\} }] \)を次のように近似します。
\[ \mathbb{E}[e^{-r\tau} \cdot 1_{ \left\{ 0\leq\tau\leq T \right\} }] \simeq \mathbb{P}(0 \leq \tau \leq T) \cdot \exp{(-r \mathbb{E}[\tau \mid 0\leq\tau\leq T])} \]
つまり、
\begin{align*}
& 株価S(t)が時刻Tまでの間にHにヒットする確率\\
& \times ヒットする場合における、平均的なヒット時点からの割引現在価値
\end{align*}
として近似します。
具体的な関数形
\( \mathbb{P}(0 \leq \tau \leq T) \)および\( \mathbb{E}[\tau \mid 0\leq\tau\leq T] \)はそれぞれ
\[\mathbb{P}(0 \leq \tau \leq T) = 1 – \left\{ N \left( \frac{h – \alpha T}{\sqrt{T}} \right) – e^{2\alpha h} N \left( \frac{-h – \alpha T}{\sqrt{T}} \right) \right\}, \quad (h>0) \]
\[\mathbb{E}[\tau \mid 0\leq\tau\leq T] = \frac{1}{\mathbb{P}(0 \leq \tau \leq T)} \frac{|h|}{\sqrt{2\pi}} \int_{0}^{T} \frac{1}{\sqrt{s}} \exp{ \left( -\frac{(h – \alpha s)^2}{2s} \right)} ds \]
のようにあらわすことができます。
\( H < S \)の場合 \begin{gathered} \alpha = -\frac{r-q-\frac{1}{2}\sigma^2}{\sigma}, \quad h = -\frac{\log{\frac{H}{S(0)}}}{\sigma} ( > 0 )
\end{gathered}
\( H > S \)の場合
\begin{gathered}
\alpha = \frac{r-q-\frac{1}{2}\sigma^2}{\sigma}, \quad h = \frac{\log{\frac{H}{S(0)}}}{\sigma} ( > 0 )
\end{gathered}
をそれぞれ代入すればよく、また、\( \mathbb{E}[e^{-r\tau}1_{ \left\{ 0\leq\tau\leq T \right\} }] \)内に現れる積分についても
\begin{align*}
& \int_{0}^{T} \frac{1}{\sqrt{s}} \exp{ \left( -\frac{(h – \alpha s)^2}{2s} \right)} ds \\
&= \left[ \frac{\sqrt{\pi} e^{\alpha h-|\alpha||h|} \left(-e^{2|\alpha||h|} \operatorname{erfc}\left(\frac{|\alpha| \sqrt{s}}{\sqrt{2}}+\frac{|h|}{\sqrt{2} \sqrt{s}}\right)-\operatorname{erfc}\left(\frac{|\alpha| \sqrt{s}}{\sqrt{2}}-\frac{|h|}{\sqrt{2} \sqrt{s}}\right)\right)}{\sqrt{2}|\alpha|} \right]_{0}^{T}
\end{align*}
と原始関数が求まるので、\( T \)の値を代入して評価を行うことができます。
なお、
\[ \operatorname{erfc}(x) = \frac{2}{\sqrt{\pi}} \int_{x}^{\infty} e^{-v^2} dv = 2 N\left( -\sqrt{2} x \right) \]
は相補誤差関数で、これは標準正規分布の累積分布関数を使用して評価することができます。
近似式の導出 近似の精度検証
こちらのPDFをご覧ください。
(ブラウザで開けない場合があります。その場合、右クリックでファイルをダウンロードしてからご覧ください。)
Rでの実装
P <- function(h, alpha, t) {
1- ( pnorm( (h-alpha*t)/sqrt(t) ) - exp(2*alpha*h)*pnorm( (-h-alpha*t)/sqrt(t) ) )
}
calc_exp_t <- function(alpha, h, lb, ub) {
erfc <- function(x) {
2*pnorm(-sqrt(2)*x)
}
c1 <- (abs(alpha)*ub + abs(h)) / sqrt(2*ub)
c2 <- (abs(alpha)*ub - abs(h)) / sqrt(2*ub)
upper <- sqrt(pi) * exp(alpha*h-abs(alpha)*abs(h)) * ( -exp(2*abs(alpha)*abs(h))*erfc(c1) - erfc(c2)) / (sqrt(2)*abs(alpha))
d1 <- (abs(alpha)*lb + abs(h)) / sqrt(2*lb)
d2 <- (abs(alpha)*lb - abs(h)) / sqrt(2*lb)
lower <- sqrt(pi) * exp(alpha*h-abs(alpha)*abs(h)) * ( -exp(2*abs(alpha)*abs(h))*erfc(d1) - erfc(d2)) / (sqrt(2)*abs(alpha))
exp_t <- (abs(h)/sqrt(2*pi)) / (P(h, alpha, ub) - P(h, alpha, lb)) * (upper - lower)
return(exp_t)
}
定積分の下限をlb、上限をubとして指定できるようにしています。通常はlb\(=0\)、ub\(=T\)として使用します。