Carr–Madan Fourierオプション評価を理解する
Carr–Madanの減衰、複素シフトした特性関数、FFT格子、数値誤差管理がオプション価格を生む仕組みを解説します
Mark編集 · 一次情報は記事末尾に掲載
要点
Carr–Madan法は、コール価格関数に指数減衰を掛けてFourier変換可能にします。複素方向へシフトした特性関数が変換を与え、FFTを使えば多数の対数行使価格に対応する価格を効率よく一括して計算でき、実務にも役立ちます
この手法はモデルではなく価格計算エンジンです
Carr–Madan法は、満期対数価格のリスク中立特性関数と、対数行使価格に対する欧州型コール価格関数から始まります
同じ割引期待値をFourier空間で組み替え、畳み込み型の計算を積と通常の積分へ変えます
ボラティリティ、ジャンプ、リスクプレミアムは決めず、モデル固有の特性関数を通じて受け取ります
減衰がコール価格を変換可能にします
対数行使価格kが負の無限大へ向かうと、コールはフォワードに近い本質的価値領域となり、k全体で積分可能ではありません
適切な正のαについてC(k)にe^{αk}を掛けると、必要なモーメント条件の下で両端が減衰します
減衰パラメータは解析上の道具であり、市場選好や較正対象となる追加のモデルパラメータではありません
複素シフトが価格と分布を結びます
一般的な規約では、e^{αk}C(k)のFourier変換はu−i(α+1)で評価した対数価格の特性関数を使います
変換後のコール・ペイオフの分母にはαと周波数uが入り、Fourierの符号や対数価格の定義で符号が変わります
複素シフトにはE[S_T^{α+1}]の有限性が必要で、αを大きくし過ぎるとモデルのモーメント領域を外れます
FFTは連動する二つの格子を作ります
行使価格ごとに積分できますが、FFTなら等間隔の対数行使価格の一群を一度に評価できます
点数N、周波数間隔η、対数行使価格間隔λには、通常λη=2π/Nと書く逆数関係があります
Nが固定なら広い行使価格範囲ほど間隔が粗くなり、範囲と解像度を独立には選べません
複数の誤差がモデルの特徴に見えます
無限の周波数積分を切ると打切り誤差、離散化すると求積誤差が生じます
離散変換が暗黙に行う周期延長は折り返し誤差を作り、格子外の行使価格には補間誤差が加わります
Simpson重みは一部の求積誤差を減らしても、範囲不足、無効なモーメント、不安定な特性関数は直しません
Alphaはモーメント帯域内で選びます
Alphaはペイオフを十分減衰させる一方、シフト後の特性関数が存在し数値的に安定する大きさでなければなりません
適切な値は満期、モデルパラメータ、裾、変換規約で変わり、万能なalphaは保証されません
一つの出力へ最適化せず、許容される複数のalphaで価格が目標誤差内に一致するか確認します
実務利用には独立した検証が要ります
まずBlack–Scholes価格を再現し、プット・コール・パリティ、行使価格方向の単調性、凸性、価格境界を調べます
N、積分範囲、精度を一つずつ増やし、すべての設定を同時に変えずに収束要因を特定します
選んだ行使価格を直接求積と別の価格法で比較し、誤差予算を理解して初めて速度が意味を持ちます
よくある質問
Carr–Madan法は何を計算しますか?
リスク中立特性関数とFourier逆変換で欧州型オプション価格を求め、多数の行使価格をまとめて計算できます
なぜコール価格を減衰させますか?
減衰前のコール価格関数は対数行使価格全体で積分可能でないため、指数減衰で有効なFourier変換を作ります
FFTは必須ですか?
いいえ。Carr–Madan積分は直接求積でも評価でき、FFTは固有の格子制約を持つ効率的な実装です
Alphaはどう選びますか?
モデルの有限モーメント領域内で選び、妥当な複数の値と数値設定に対して価格が安定するか確認します
出典
この考え方を自分のオプションに当てはめる
契約と目標を選ぶと、価格・時間・ボラティリティの前提を一つの分析で確認できます
自分のオプションを分析する(英語)