評価モデルを実装するクオンツは、オプションの価格を格子の上で数値で求める場面で、リスク管理の担当者は、その計算結果を確かめる場面で、有限差分法を使います。満期前に行使できるオプションの評価にも出てきます。
偏微分方程式を格子の差で置き換える
ブラック・ショールズ・モデルの下で、オプションの価格は偏微分方程式を満たします。有限差分法は、価格を求めたい範囲に格子の点を置き、方程式の中の微分を隣り合う点の値の差で置き換えて、点ごとの価格を数値で求める方法です1。方程式の導出は確率微分の初歩(伊藤の補題)で扱います。
ヨーロピアン・オプションの価格を 、原資産の価格を 、満期までの時間を とします。金利 とボラティリティ は一定で、原資産に配当はないとします。方程式は次のとおりです2。
時間を満期からの時間 にしたため、満期が 、今が です。満期の受け取りが出発点の値(初期値)になり、 を増やしながら今の価格まで進みます。価格を に置き換えると、係数が によらない次の式になります3。 は行使価格です。
の方向に間隔 、 の方向に間隔 の格子を置き、 を点 、時間 での価格の近似値とします。3 つの微分は、次の差の式で置き換えます4。
| 微分 | 差の式 | 差の取り方 |
|---|---|---|
| 前進差分 | ||
| 中心差分 | ||
| 中心差分 |
計算全体の順番は、次のとおりです。手順 2 の境界の値は「境界条件で格子の外側を決める」の節で、手順 4 の行使した値との比較は「アメリカンは行使した値を下回らない」の節で説明します。
- 満期の受け取りを、格子のすべての点に置く。
- 下端と上端の境界の値を置く(時間を進めるたびに、その時点の境界の値に置き直す)。
- 時間を 1 刻み進め、各点の値を求める。
- このページの計算では、アメリカン・オプションのときだけ、各点の値を行使した値と比べて大きいほうに置き換える(資料が示す手順そのものではありません)。
- 手順 3 と 4 を満期から今まで繰り返し、原資産の現在の価格にあたる点の値を価格として読む。
時間の進め方で 3 つの解法に分かれる
この節の 、、、、 は、このページだけの記号です。ハル・ホワイト・モデルの や平均回帰の速さ 、確率過程のドリフト とは別の意味で使います。
価格の方向の差を、点 ごとにまとめた演算を、次のように書きます。
係数は、(2 階の微分の係数)、(1 階の微分の係数)として、、、 です。 を前の時間 の値で評価するか、次の時間 の値で評価するか、その平均にするかを、 で選びます5。
が陽解法、 が陰解法、 がクランク・ニコルソン法です5。3 つの違いは次の表のとおりです。
| 解法 | 1 時間刻みの進め方 | 時間刻みの制約 | 誤差(初期値が滑らかなとき) | |
|---|---|---|---|---|
| 陽解法 | 0 | 前の時間の 3 点の値から、次の値を直接求める | が を超えると不安定(拡散項だけの場合の目安) | |
| 陰解法 | 1 | 次の時間の値について、連立方程式を解く | なし(無条件に安定) | |
| クランク・ニコルソン法 | 1/2 | 同じく連立方程式を解く | なし(解の ノルムが増えない) |
陽解法は、連立方程式を解かずに済みます。ただし、拡散方程式の陽解法は、時間刻みが を超えると不安定になります6。ブラック・ショールズの方程式の対数価格の式では、2 階の微分の係数が なので、拡散項だけを見た目安は になります7。格子の間隔 を半分にすると、時間刻みの数は 4 倍、点の数は 2 倍になり、計算時間はおよそ 8 倍です6。
陰解法とクランク・ニコルソン法は、次の時間の値についての三重対角の連立方程式を解きます。三重対角の連立方程式は、点の数に比例する時間と記憶で解けます8。陰解法は時間刻みに制約がなく、無条件に安定です9。クランク・ニコルソン法は、初期値が滑らかなときに誤差が で、ほかの の より速く小さくなります。 なら、時間刻みの取り方によらず解の ノルムが増えない( ノルムでの無条件の安定)ので、時間刻みを に比例させても精度と効率を両立できます10。
陽解法の式は、次の時間の値を、前の時間の 3 点の値の重み付きの和で表します。
割引と移流の項がない拡散方程式では、安定の条件の下で 3 つの係数が 0 から 1 の間に収まり、足すと 1 になります。そのため、係数を確率とみなせて、陽解法は三項ツリーを満期から逆にたどる計算と同じ式になります11。上の式では割引の項があるため、係数の合計は 1 から を引いた値になり、確率に 1 期間分の割引を掛けた形です。
深掘り陽解法と陰解法の安定性の確かめ方
熱方程式 の解を、波の形 の成分に分けます。1 時間刻みで各成分が 倍になるとして、 なら成分は増えず、1 を超えると増え続けます。 とすると、 は、陽解法の と陰解法の で次のようになります12。
は 1 に限りなく近づけるので、陽解法の がすべての成分で成り立つ条件は です。これが にあたります。陰解法の は、 がどんな正の値でも 0 より大きく 1 以下なので、時間刻みに制約がありません。
境界条件で格子の外側を決める
計算できるのは有限の範囲なので、 の下端と上端に境界を置き、そこでの値を決めます。ヨーロピアン・オプションの境界の値は、プット・コール・パリティから決まります。コールは、原資産の価格が高い側で に近づき、低い側で 0 に近づきます。プットは、低い側で に、高い側で 0 に近づきます13。このように境界での値を決める条件を、ディリクレ境界条件といいます13。
| 種類 | 下端( が小さい側)の値 | 上端( が大きい側)の値 |
|---|---|---|
| コール | 0 | |
| ヨーロピアン・プット | 0 |
満期()の値は、コール・オプションなら 、プット・オプションなら という受け取りです14。共通の例(次の節)では、 の範囲を から にします。 では 36.79 から 271.83 で、満期までの価格の対数の標準偏差 の 5 倍にあたります。後の表の 、200 刻みのクランク・ニコルソン法の価格は、この範囲を に広げても 8.4235 のままで、 に狭めると 8.4234 で、小数第 4 位が 1 変わるだけです15。
共通の例のコールを 3 つの解法で解く
原資産の価格 100、行使価格 100、残存期間 1 年、金利 1%、ボラティリティ 20% のコール・オプションの架空の例で考えます。ブラック・ショールズの式による価格は 8.4333 です16。
まず、陽解法の 1 時間刻みを手で追います。格子の間隔を 、時間刻みを (1 年を 40 回に分ける)とします。、 です。式の係数は次の値になります。
| 係数 | 式 | 値 |
|---|---|---|
| (1 つ下の点 の重み) | 0.05125 | |
| (同じ点 の重み) | 0.89975 | |
| (1 つ上の点 の重み) | 0.04875 |
3 つの重みはどれも 0 以上で、合計は 0.99975()です。 の点(原資産の価格 110.5171)で、満期の受け取りから 1 時間刻み進めます。
| 点 | 原資産の価格 | 満期の受け取り | 重み | |
|---|---|---|---|---|
| 1 つ下 | 0 | 100.0000 | 0.0000 | 0.05125 |
| 同じ点 | 0.1 | 110.5171 | 10.5171 | 0.89975 |
| 1 つ上 | 0.2 | 122.1403 | 22.1403 | 0.04875 |
重み付きの和は です。この点では、満期まで 0.025 年の価格が、原資産の価格 110.5171 から行使価格の現在価値 を引いた 10.5421 に一致します17。
次に、格子を全体に広げて 3 つの解法で解きます。点 ()の価格を、ブラック・ショールズの価格との差とあわせて示します。格子の間隔は (100 区間)で、陽解法の拡散項だけの目安は 、つまり 100 刻み以上です。
| 時間刻みの数() | 陽解法(差) | 陰解法(差) | クランク・ニコルソン法(差) |
|---|---|---|---|
| 40(0.025) | 発散(約 ) | 8.3980(−0.0353) | 8.4236(−0.0097) |
| 200(0.005) | 8.4285(−0.0048) | 8.4184(−0.0149) | 8.4235(−0.0098) |
時間刻みが 0.025 のとき、陽解法は目安の 2.5 倍で、計算が発散します。時間刻みを 5 分の 1 にすると、クランク・ニコルソン法の差はほとんど変わらないため、この差は主に格子の間隔 から来ています18。陰解法は、時間刻みを小さくすると差が縮みます。
次に、クランク・ニコルソン法で格子を細かくします。時間刻みは とし、 を半分にするたびに時間刻みも半分にします。
| 格子の間隔 | 区間の数 | 時間刻みの数 | 価格 | ブラック・ショールズの価格との差 |
|---|---|---|---|---|
| 0.1 | 20 | 20 | 8.1735 | −0.2598 |
| 0.05 | 40 | 40 | 8.3711 | −0.0622 |
| 0.025 | 80 | 80 | 8.4179 | −0.0154 |
| 0.0125 | 160 | 160 | 8.4295 | −0.0038 |
差は、 を半分にするたびにおよそ 4 分の 1 になり、誤差が という表の次数と合います19。ほかの条件の評価で同じ大きさの差になるとは限りません。
- S = 100 の価格(格子)
- 8.4235
- ブラック・ショールズの価格(ヨーロピアン)
- 8.4333
- 差(格子 − ブラック・ショールズ)
- −0.0098
- S = 70〜145 での差の絶対値の最大
- 0.0099
- 差の行は表示した 2 つの価格の差、この行は丸めない値の最大です。
- 格子の間隔 h
- 0.02
- 時間刻み Δτ
- 0.005
- 陽解法の安定の目安 h²/σ²
- 0.01
- 時間刻み ÷ 目安
- 0.50
- 1 以下です。陽解法でも発散しません(この範囲で確認)。
- 計算した格子の点の数(区間 × 時間刻み)
- 20,000
単純化している点
- 共通の例(原資産の価格 100、行使価格 100、残存期間 1 年、金利 1%、ボラティリティ 20%、配当なし)を、価格の対数 x = ln(S/K) の −1〜1 の格子で解きます。S = 100 は x = 0 の点です。
- 境界の値は、コールが下端 0・上端 S − Ke^(−rτ)、ヨーロピアン・プットが下端 Ke^(−rτ) − S・上端 0 です。アメリカン・プットは、各時間刻みのあとに各点の値を行使したときの値と比べて大きいほうに置き換え、下端は K − S とします。
- 陽解法の安定の目安 Δτ ≤ h²/σ² は、拡散項だけを見た値です。目安以下でも発散しないことは、このシミュレーターの範囲で確かめました(証明ではありません)。
- グラフの差は、ヨーロピアンのブラック・ショールズの価格との差です。行使価格の近くで、受け取りの折れ曲がりのため差が大きくなります。
このシミュレーターは学習のために単純化した計算で、実際の取引の評価やリスク管理には使えません。(免責事項)
シミュレーターの説明
解法、格子の区間の数、時間刻みの数を動かして、共通の例のコールの価格が、ブラック・ショールズの価格 8.4333 からどれだけ離れるかを見ます。初期値は、クランク・ニコルソン法、格子の間隔 (100 区間)、200 刻みで、価格は 8.4235、差は −0.0098 です。時間刻みの数を 40 に減らしても 8.4236 とほとんど変わらず、この差は主に格子の間隔から来ます。陰解法に替えると 40 刻みで 8.3980(差 −0.0353)で、時間刻みを細かくすると差が縮みます。陽解法に替えて 40 刻みにすると、時間刻みが安定の目安 の 2.5 倍になり、計算が発散します。100 刻み以上なら発散しません。クランク・ニコルソン法で区間と時間刻みの数を同時に 2 倍にすると、差はおよそ 4 分の 1 になります。プットにしてアメリカンを選ぶと、満期の前に行使できる分だけ価格が高くなります。
アメリカンは行使した値を下回らない
アメリカン・オプションは、満期の前にも行使できます。ある時点の価値は、持ち続けたときの値と、今行使したときの値の大きいほうです。アメリカン・プットの方程式は、ブラック・ショールズの方程式に、価値が行使したときの値 を下回らないという条件を加えたものです20。ヨーロピアンのように境界の条件を最初から決められず、自由境界の問題になります21。
格子での置き換え方に、資料が示す手順はありません。このページの計算では、1 時間刻みを解くたびに、各点の値を行使したときの値(本質的価値)と比べて大きいほうに置き換えました22。別の扱いに、ペナルティ法があります。行使しない領域では無視できる非線形の項を足して、ほかの領域では解が行使したときの値にほぼ等しくなるようにし、ニュートン法(線形の式を繰り返し解いて、非線形の式を解く方法)で解きます23。
次の表は、共通の例のプットを、クランク・ニコルソン法と、各時間刻みでの置き換えで解いた結果です。ヨーロピアンの価格は、同じ格子と時間刻みで置き換えをしないで解いた値です。時間刻みは です22。
| 格子の間隔 | 時間刻みの数 | ヨーロピアン・プット | アメリカン・プット | 差 |
|---|---|---|---|---|
| 0.02 | 200 | 7.4284 | 7.5020 | 0.0736 |
| 0.01 | 400 | 7.4358 | 7.5104 | 0.0746 |
| 0.005 | 400 | 7.4377 | 7.5124 | 0.0747 |
ブラック・ショールズの式によるヨーロピアン・プットは 7.4383 です。アメリカン・プットは、満期の前に行使できる分だけ、ヨーロピアンより高くなります。二項ツリー(2,000 段)で評価したアメリカン・プットは 7.5127 で、格子を細かくした有限差分法の価格がこの値に近づいています22。
二項モデル、モンテカルロ法との使い分け
要因の数が少なく、アメリカン・オプションのように満期前の行使がある評価は有限差分法で扱いやすく、原資産の数が多い評価は、モンテカルロ法のほうが効率的とされます。二項モデルも有限差分法も、満期から逆にたどって価格を求める格子の計算です。二項モデルは二項ツリーを使い、有限差分法は、時間の進め方の節で見たとおり、陽解法の式が三項ツリーを逆にたどる計算と同じ形になる場合があります。モンテカルロ法は、乱数で作った多数の経路の平均で価格を近似する方法です。詳しい内容はモンテカルロ法で扱います。有限差分法との違いは次の表のとおりです。
| 観点 | 有限差分法 | モンテカルロ法 |
|---|---|---|
| 価格の求め方 | 方程式を格子の点の上で解く | 乱数で作った多数の経路の平均を取る24 |
| 要因の数(次元)が増えたとき | 格子の点が増え、連立方程式を解く費用が 1 次元よりずっと大きくなる25 | 統計誤差は標本数 の で縮み、次元によらない26 |
| アメリカン・オプション | 行使価値を下回らない条件を加える(このページの計算では各時間刻みで比べる) | 1 本の経路では早期行使の点を決めにくく、修正した方法が要る27 |
| グリークス | 格子の値の差から、デルタやガンマを求める28 | 値を少しずらして 2 回評価し、同じ乱数を使って分散を下げる29 |
次元の違いは、点の数で見えます。1 つの軸に 100 点を置く架空の例で考えます。軸が 1、2、3 つなら 100、10,000、1,000,000 点で、軸の数 に対して 点です。次元の呪いは、格子を使う決定論的な方法にも影響します30。
前提と限界
有限差分法は、方程式を数値で解く方法です。価格は、方程式が前提にするモデルで決まります。ブラック・ショールズの方程式は、金利とボラティリティが期間を通じて一定という前提に立ちます31。この前提が外れると、解いた価格が市場の価格と合うとは限りません。
数値の誤差は、格子と時間刻みの取り方に依ります。受け取りが滑らかでないことも、誤差の原因です。コールの受け取りは行使価格で折れ曲がるため、格子の値を中心差分して求めたデルタとガンマは、価格そのものより誤差が大きくなります。ガンマの最大の誤差は、行使価格の点に出ます28。クランク・ニコルソン法は、 ノルムでだけ無条件に安定で、受け取りが滑らかでないと、最大の誤差で見たデルタとガンマの収束が悪くなります28。
対策に、最初の数時間刻みを陰解法の半刻みに置き換えるラナッハー法があります。最初の 2 回のクランク・ニコルソン法を、陰解法の 4 回の半刻みに置き換えると、プット、コール、デジタルで、価格、デルタ、ガンマの最大の誤差(格子のすべての点の誤差のうち最大のもの。最大ノルム)が 2 次の速さで縮むことが示されています32。本文の計算例は、置き換えをしないクランク・ニコルソン法です。
要因が 2 つ以上になり、方程式に異なる要因どうしの混合した微分(交差微分)の項が出るときは、2 次の精度を保つために、交差微分の項の差の取り方として、クレイグ・スナイドの扱いが要ります25。
注
-
Yuh-Dauh Lyuu の講義資料(National Taiwan University、2006 年 5 月 17 日)の Page 543 "Finite-Difference Methods"。格子の点で関数の値を近似し、微分を差の式に置き換えて方程式を数値で解く方法として説明しています。 ↩
-
M. B. Giles "Crank-Nicolson time-marching"(Oxford-Man Institute of Quantitative Finance)の 2 節(2 ページ)。満期までの時間 で書いた方程式と、 に替えた式を示しています。配当の項は資料の式になく、本文も置いていません。 ↩
-
資料は を使います。本文は とし、 を引いた平行移動で、微分の式は変わりません。 ↩
-
時間の前進差分と空間の中心差分は、Lyuu の講義資料の Page 547〜548("Explicit Methods"。式 (59)〜(61))と Giles の 1 節、2 節(1〜2 ページ)。Giles の 2 節は、1 階の微分に中心差分 を使っています。 ↩
-
Giles の 1 節(1〜2 ページ)。 スキームの定義と、 が陽解法、 が陰解法、 がクランク・ニコルソン法である点を示しています。演算 の係数は、2 節(2 ページ)の離散化の演算子 を時間刻みで割った形です。 ↩ ↩2
-
Lyuu の講義資料の Page 551 "Stability"。拡散方程式 の陽解法は でなければ不安定で、 を半分にすると計算時間が 8 倍になります。 ↩ ↩2
-
資料の に、対数価格の式の 2 階の微分の係数 を入れた条件です。共通の例の では条件は で、40 刻み()は発散し、100 刻み以上は発散しませんでした。 ↩
-
Lyuu の講義資料の Page 553〜556 "Implicit Methods"。三重対角の連立方程式を の時間と の記憶で解けるとしています。 ↩
-
同じ資料の Page 554 "Implicit Methods (continued)"。陰解法の式を "unconditionally stable" としています。 ↩
-
Giles の 1 節(2 ページ)。 での ノルムの無条件の安定と、誤差の次数(クランク・ニコルソン法 、ほかの は )を示し、 を に比例させて選べると述べています。 はこのページの です。 ↩
-
Lyuu の講義資料の Page 552 "Explicit Method and Trinomial Tree"。安定の条件の下で 3 つの係数が 0 から 1 の間で合計 1 になり、陽解法の式が三項ツリーの逆向きの計算と同じになると説明しています。割引の項がある場合の合計は、このページの式からの計算です。 ↩
-
Rutgers University の講義資料 "Numerical Solution of PDEs"(65 ページの陽解法の例、68 ページの陰解法の例)。資料の は拡散の係数で本文の 、 は時間刻みにあたります。 ↩
-
Holst の講義ノート "Computational Finance"(UC San Diego、2015 年)の 1.5 節(8 ページ)。コールの下端とプットの上端を 0 とし、両端の漸近形を Dirichlet boundary conditions と呼んでいます。 ↩ ↩2
-
Giles の 2 節(2 ページ)。ヨーロピアン・コールの満期の初期値 を示しています。プットの は、同じ考え方で本文が置きました。 ↩
-
本文の条件の計算(、200 刻み、クランク・ニコルソン法)。 の範囲が で 8.4234、 と で 8.4235(小数第 5 位を四捨五入)。 の範囲は 36.79 から 271.83 です。 ↩
-
ブラック・ショールズの式(、)の値 8.433319 を、小数第 5 位で四捨五入した値です。 ↩
-
重みと価格は本文の式からの計算です。 で、 になります。 ↩
-
本文の条件の計算で、価格は の点()の値です。差は、小数第 5 位を四捨五入した価格から 8.4333 を引いた値で、陽解法の 40 刻みの価格は でした。 ↩
-
本文の条件の計算です。差は、小数第 5 位を四捨五入した価格から 8.4333 を引いた値で、差の絶対値の比は前の行から順に 4.2、4.0、4.1 倍です。 ↩
-
Lyuu の講義資料の Page 559 "Numerically Solving the Black-Scholes PDE"。アメリカン・プットを、満期の値 と、満期の前の の条件で示しています。 は行使価格 で、格子での置き換えの手順は資料にありません。 ↩
-
Holst の講義ノートの 2.4 節 "American Options as a Free Boundary Problem"(17 ページ)と冒頭(9 ページ)。アメリカン・オプションは自由境界の問題になるとしています。扱い方の節は書きかけです。 ↩
-
本文の条件の計算(プット、クランク・ニコルソン法)。アメリカンは各時間刻みの後に値を に置き換え、下端は 、上端は 0 です。二項ツリーは CRR(2,000 段)で、価格は 7.5127、ブラック・ショールズのプットは 7.4383 です。 ↩ ↩2 ↩3
-
Giles の 4 節(4 ページ)。アメリカン・オプションの近似に非線形のペナルティ項を使い、行使しない領域では無視でき、ほかの領域では解が行使価値にほぼ等しくなるとしています。解く方法はニュートン反復です。 ↩
-
Lyuu の講義資料の Page 562〜564("Monte Carlo Simulation"、"The Big Idea")。モンテカルロ法を標本の平均で期待値を推定する方法として説明しています。 ↩
-
Giles の 4 節(4 ページ)。高次元では連立方程式を直接解く費用がずっと大きく、ADI の近似的な因数分解や ILU 前処理付きの BiCGStab のような反復解法が使われるとしています。交差微分の項にはクレイグ・スナイドの扱いが要ると述べています。 ↩ ↩2
-
Lyuu の講義資料の Page 566〜567("Accuracy and Number of Replications")。標本平均の統計誤差は の割合で次元 によらず、通常の数値積分は次元の呪いがあるとしています。モンテカルロ法は複数の資産に依存する証券で、ほかの手順より効率的だとしています。 ↩
-
Lyuu の講義資料の Page 570 "Pricing American Options"。標準的なモンテカルロ法は早期行使があるアメリカン・オプションに向かず、1 本の経路から早期行使の点を決めにくいとしています。Longstaff と Schwartz(2001)による修正で、小さな偏りで評価できるとしています。 ↩
-
Giles の 2 節(2〜3 ページ)。ヨーロピアン・コールで、デルタとガンマを中心差分で求めると価格よりずれが大きく、ガンマの最大の誤差が行使価格の点(資料では )に出るとしています。 ↩ ↩2 ↩3
-
Lyuu の講義資料の Page 571〜572("Delta and Common Random Numbers")。デルタを 2 回の別々のシミュレーションで求める方法は分散が大きいため勧められず、同じ乱数を使うほうがよいとしています。 ↩
-
Paweł Przybyłowicz "Monte Carlo methods and stochastic simulations: from integration to approximation of SDEs"(arXiv:2208.05531)の 1 章 Introduction(PDF の 4 ページ目)。決定論的なアルゴリズムは次元の呪いの影響を受けるとしています。 ↩
-
Holst の講義ノートの 1.3 節(5 ページ)。ブラック・ショールズ・マートンの市場モデルの前提に、金利とボラティリティが で一定であることを挙げ、「理想化だが、このモデルに必要」としています。 ↩
-
Giles の 3 節(3〜4 ページ)。ラナッハーの方法(最初の時間刻みを陰解法の 2 回の半刻みに置き換える)と、Giles と Carter が示した、最初の 2 回のクランク・ニコルソン法を陰解法の 4 回の半刻みに置き換える方法です。後者で価格、デルタ、ガンマが最大ノルムで 2 次になるとしています。 ↩