この記事は nAG 最適化コーナー シリーズの一部です。
原文:Calibrate the Heston model faster using derivative-free optimization techniques
この記事では、金融業界で頻出するキャリブレーション問題(市場データに対するオプションプライシングモデルのキャリブレーション)を、導関数を利用しない最適化(Derivative-free optimization;DFO)を用いて高速化する方法を紹介します。
以下の資料は、nAG が開催したウェビナーに基づいています(録画は こちら)。
DFO ソルバーの最近の改良点
nAG は、オックスフォード大学の Coralia Cartis 氏、ならびに Lindon Roberts 氏と共同で研究を行いました。この研究により、ノイズ耐性や、構造化問題に対する補間モデルの強化など、重要な改善がなされ、DFO の最先端技術 [1] が nAG ライブラリに導入されました。現在、データフィッティング問題に適した境界制約付き非線形最小二乗ソルバー handle_solve_dfls(e04ff)と、一般的な非線形関数を対象とした handle_solve_dfno(e04jd)を提供しています。また、関数値をソルバーに渡すための代替インターフェース(reverse communication)、handle_solve_dfls_rcomm(e04fg)と handle_solve_dfno_rcomm(e04je)もそれぞれ提供しています。
ヨーロピアンオプションのプライシング:Heston モデルのキャリブレーション
ヨーロピアンオプションは、原資産を、定められた期日(満期日)に、定められた価格(行使価格)で、購入(コール)または、売却(プット)する権利(オプション)を、買い手に付与する契約です。オプションプライシングは、満期日に買い手がオプションを行使する確率に基づいて価格を決定します。
長年にわたり、多くの数値的な価格決定法が導入されてきましたが、最も一般的なものは、今なお、Black-Scholes 方程式に基づいています。しかし、Black-Scholes モデルにはいくつかの欠点があり、中でもボラティリティが時間的に一定であるという仮定があります。実際には、市場のインプライドボラティリティはスマイルカーブであることが観測されています。この形状を説明するために、Heston のような確率的ボラティリティモデルが導入されました。このモデルは以下の方程式で構成されています:
dSt=μStdt+σ√vtStdW1tdvt=λ(1-vt)dt+α√vtdW2tdW1t·dW2t=ρdt |
ここで、St は原資産のスポット価格、vt は時間依存のボラティリティ、(dW1t,dW2t) は2つのブラウン運動です。
このモデルは、市場で直接観測することが容易でない4つのパラメーター、すなわち、ボラティリティスケーリング σ、平均回帰率 λ、ボラティリティのボラティリティ α、ブラウン運動の相関 ρ に依存しています。従って、これらのパラメーターを調整(キャリブレート)する必要があります。これは、過去のデータを観察し、我々のモデル予測が可能な限りそれに一致するように、パラメーターの最適化を試みることです。そして、これは、容易に利用できるデリバティブがなく、比較的高価な評価であるため、DFO に最適な問題です。
Heston モデルにおける期間構造の導入
Heston 方程式は、4つのパラメーターが時間に対して一定であることを仮定していますが、これは必ずしも市場の現実に対応していません。この問題を軽減するために、期間構造を導入します。つまり、σ、λ、α、ρ を一定の期間においてのみ一定と見なします。これによって、モデルは、市場の動きをより良く模倣できるようになりますが、調整するパラメーターの数が考慮する期間の数だけ増えます。
なお、期間構造を持つ Heston モデルの実装は、nAG ライブラリ(opt_heston_term、s30ncf)で利用可能です。これは、以下の数値実験で使用されています。
キャリブレーション問題の設定
市場データとして、2012 年から 2016 年までの通貨ペア EUR-USD の外国為替市場のヒストリカルデータを使います。各日付について、7つの満期(2m、3m、6m、1y、2y、3y、5y)のデータがあります:
- EUR リスクフリーレート
- USD リスクフリーレート
- 25-Δ RR クォート
- 25-Δ BF クォート
- ATM クォート
このデータの明らかな問題点の一つは、期間構造を考慮しなくても、3つのクォートと4つのパラメーターしか調整できないことです。オーバーフィッティングを避けるため、いくつかの数値実験を行った後、パラメーターの1つ λ を一定値に固定することにしました。期間構造を考慮しなければ、Heston モデルのキャリブレーションは、非線形最小二乗最適化問題を解くことに帰着します:
min |
ここで、H_i(\alpha,\rho,\sigma) はモデルによって予測された価格、M_i^{market} は実際のデータです。
次のステップは、期間構造に設定する期間数を選択することです。満期が7回あるため、期間構造に7つの期間を設定するのは自然なことです。各日付について、k 番目の満期に対する k 個の期間を考えます。
また、この構造では、各満期が前の満期のパラメーターに依存し、さらにそれ自身のパラメーターにも依存するため、パラメーターを順次フィットさせるやり方を選択します。最初のパラメーター (\alpha_1,\rho_1,\sigma_1) は 2m 満期のクォートに合わせて調整され、その後、最適値に固定されます。そして、(\alpha_2,\rho_2,\sigma_2) は2番目の満期に合わせて調整されます。このプロセスは、7つの3パラメーターキャリブレーション問題のシーケンスが終了するまで続けられます:
(1) |
数値実験
上記のキャリブレーション問題 (1) を解くために、nAG ライブラリから、非線形最小二乗問題に特化した2つのソルバーを試します:
- 導関数を利用する(derivative-based)ソルバー: handle_solve_bxnl(e04gg)
- 導関数を利用しない(derivative-free)ソルバー: handle_solve_dfls(e04ff)
Heston モデルの厳密な導関数は利用できないため、e04gg が必要とする残差のヤコビアンを、有限差分を用いて推定します。有限差分を効果的に使用することは非常に難しく、ここでは、数値実験の結果、一定の摂動パラメーター h=10^{-6} を選びました。
比較のために、両方のソルバーに対して、同じ現実的な停止基準を使います。すなわち、フィットは、1 ベーシスポイント精度に達すれば良いものとみなします:
使用したデータには、解くべき7つのキャリブレーション問題の 1070 のシーケンスを定義する 1070 の日付が含まれています(合計 7490)。すべてを両方のソルバーで解いた結果をまとめると、次のようになります:
-
Heston モデルの総呼び出し回数:
- DFO:258540(平均 241)、勾配ベース: 963933(平均 900)
- DFO の評価回数は 3.7 倍少ない。
-
1ベーシスポイントに達しなかったキャリブレーションの総数:
- DFO:32(20 問題)、勾配ベース: 180(138 問題)
- DFO は 98% の問題を要求精度で解いたのに対し、勾配ベースは 87% でした。
-
両ソルバーが解くことができた問題に対する Heston モデルの呼び出し回数:
- DFO:211326(平均 229)、勾配ベース: 575379(平均 626)
- DFO は 2.7 倍少ない評価回数で済みました。
下図は、勾配(有限差分)ベースのソルバーに対する DFO ソルバーの高速化を、問題あたりに必要な関数評価数の比率で表したものです。青い点は DFO ソルバーの方が高速に解ける問題を表し、赤い点は勾配ベースのソルバーの方が高速に解ける問題を表しています。ほとんどの問題で、DFO ソルバーの方が収束が速いことが見て取れます。

重要なポイント
ブラックボックスモデルのキャリブレーションは自明な問題ではないので、導関数の正確な推定ができない場合は、導関数を利用しないソルバーの使用を検討する必要があります。上記の Heston キャリブレーションの例で示したように、DFO ソルバーを使えば、より少ない呼び出し回数で、より良いフィットが得られる可能性が高いと言えます。
過去のブログは こちら をご覧ください。また、GitHub Local optimization ページからも様々な例を見つけることができます。
参考文献
[1] Coralia Cartis, Jan Fiala, Benjamin Marteau, and Lindon Roberts. Improving the exibility and robustness of model-based derivative-free optimization solvers. ACM Trans. Math. Softw., 45(3), August 2019.