第97回 分散減少法 ― 対照変量、制御変量、準乱数

第97回 分散減少法 ― 対照変量、制御変量、準乱数

位置: 第10部 第97回 / 前提: [96] / 数学編: [M32] / この回でできるようになること: 対照変量法や制御変量法を使って、同じ計算量でモンテカルロ法の誤差を小さくすることができる

目次

0. 物語 ― 相関の低い制御変量は効かない

あるチームがモンテカルロ法でオプション価格を計算していました。標本を増やせば精度は上がりますが、計算に何時間もかかるので、もっと賢い方法を試そうとしたのです。教科書に「期待値がわかっている変数で補正すれば、分散が減る」と書いてあります。制御変量法と呼ばれる手法です。

チームはこう考えました。「何でもいいから、期待値がわかる変数を持ってくればいい」。そこで、オプションのペイオフとは何の関係もない乱数をひとつ用意して、補正に使いました。期待値がゼロだとわかっているから、条件は満たしています。

結果は散々でした。10万本のシミュレーションを回しても、素朴に計算したときと標準誤差がまったく同じです。分散の減少率はゼロ。何も起きませんでした。

失敗の原因は「関係のない変数を持ってきた」ことです。制御変量法が効くかどうかは、補正に使う変数と、本来計算したい量との相関で決まります。相関がほぼゼロなら、いくら期待値がわかっていても分散は減りません。

一方、同じ問題で、ペイオフと強くつながっている変数を使ったチームがいました。こちらは相関が0.89もあり、分散を約79パーセント減らすことに成功しています。同じ計算量で標準誤差がおよそ半分以下になったのです。

分散を減らすには「正しい相手」を選ぶ必要があります。この回では、どんな変数を選べばどれだけ分散が減るのか、その仕組みを数式で明らかにします。

1. 動機 ― 標本を増やさずに精度を上げたい

この回を読み終えると、対照変量法や制御変量法を使って、同じ計算量でモンテカルロ法の誤差を小さくすることができます。

前回(第96回)で素朴なモンテカルロ法を動かし、標準誤差が でしか縮まないことを確認しました。精度を10倍にしたければ標本を100倍に増やす必要があり、計算コストが急激に膨らみます。

しかし「同じ標本数のまま、推定量の分散だけ下げる」方法があります。鍵は乱数の間にある相関を意図的に作り出すことです。今回は3つの手法を取り上げます。

  • 対照変量法(antithetic variates): 乱数とその符号反転をペアで使う。
  • 制御変量法(control variates): 期待値が既知の変数で推定量を補正する。
  • 準乱数(quasi-random numbers): 空間を均一に埋める点列で擬似乱数を置き換える。

いずれも「同じ計算量で、より小さい標準誤差を得る」ことが目的です。

この記事で証明すること

  • THM-VR-1 正規乱数とその符号反転をペアにすると、ペイオフが単調な場合に推定量の分散が小さくなります。
  • THM-VR-2 期待値が既知の変数で推定量を補正するとき、分散を最小にする係数は共分散を分散で割った値であり、そのとき分散は相関係数の二乗の割合だけ減ります。
  • THM-VR-3 低食い違い列を使うと、次元が低い問題では誤差の縮み方が標本数の逆数に近づきます。

2. 設定と仮定 ― 同じ計算量で比べる

第96回と同じ設定を使います。

  • 原資産価格 、行使価格 、無リスク金利 、ボラティリティ 、満期 。
  • ヨーロピアンコールのペイオフは 。
  • BS 公式による理論価格は (小数4桁に丸め)。
  • 計算量はペイオフの評価回数で測ります。対照変量法は 個の乱数から 組のペア(ペイオフの評価は 回)を作るので、比較は評価回数を揃えて行います。
  • 乱数のシードは に固定します。

制御変量には原資産の満期価格 を使います。 はリスク中立測度のもとで

であり、この期待値は解析的に求まります。

3. 主張 ― 相関を使うと分散が減る

定理 THM-VR-1(対照変量法)

標準正規乱数 から満期株価を

で生成します。 を に置き換えた株価を とし、対応するペイオフをそれぞれ , と書きます。

定理 THM-VR-1(対照変量法) が の単調関数で であるとき、推定量

の分散は、独立な2つの標本 による素朴な推定量 の分散以下である。すなわち

定理 THM-VR-2(制御変量法の最適係数)

推定したい量を 、期待値が既知の変数を (ここでは )とし、補正した推定量を

と定義します。

定理 THM-VR-2(制御変量法の最適係数) を最小にする は

であり、そのときの分散は

である。ここで は と の相関係数である。

定理 THM-VR-3(準乱数)

定理 THM-VR-3(準乱数の誤差評価) 次元の低食い違い列(Sobol 列など)を 点使った積分近似の誤差は

で抑えられる(Koksma–Hlawka の不等式)。ここで は の Hardy–Krause 変動、 は点列の星食い違い度である。低食い違い列では であり、次元 が小さいとき誤差の縮み方は に近づく。

証明を読む(読まなくても記事は完結します)

4. 証明 ― 最適係数を分散の最小化から出す

この節は読まなくても記事は完結します。

この証明を追いたい人は、数学編 第32回「乱数生成」へ。

THM-VR-1 の証明

の分散を展開します。 と は同じ分布に従うので です。

第1行から第2行では、 も標準正規分布に従うので分散が等しいことを使いました。

素朴な推定量と比較します。比較はペイオフの評価回数を揃えて行う必要があります。 は1組でペイオフを2回評価するので、比べる相手は独立な2つの標本の平均 です。独立性から交差項が消えるので、その分散は です。差を取ると、(4.1) より

したがって、対照変量法が有利(以下)になる条件は

です。 を単調増加として (4.2) を示します。 とおくと は単調減少です。 を と独立で同じ分布に従う確率変数とすると、共分散は

と書けます(右辺を展開すると が2回現れ、 で1回分になります)。 なら かつ 、 なら符号がそれぞれ逆になるので、期待値の中の積はいつも 以下です。よって共分散は 以下で、(4.2) が成り立ちます。 が単調減少なら と の役割が入れ替わるだけで、同じ結論になります。

コールオプションのペイオフ は の単調増加関数であり、 は の単調増加関数です。よって合成 は の単調増加関数であり、(4.2) が成り立ちます。 ∎

THM-VR-2 の証明

の分散を の関数として書きます。 の期待値はゼロなので、 であり、補正しても推定量の不偏性は保たれます。

分散を展開します。

第1行から第2行では、分散の二次形式 を用いました。

(4.3) は の二次関数で、 より上に凸ではなく下に凸です。最小値を与える を求めるため、 で微分してゼロとおきます。

これを解くと

を (4.3) に代入して最小分散を求めます。

第1行から第2行では、第2項と第3項をまとめました。第2項は 、第3項は なので、合わせて です。

相関係数 を使って書き直すと

(4.6)

THM-VR-3 の証明の要点

Koksma–Hlawka の不等式の完全な証明は解析的整数論の手法を使うため、ここでは要点のみ述べます。

  1. 食い違い度 は、点列 が をどれだけ均一に埋めているかを測る量です。任意の軸に沿った矩形 に入る点の割合と、その矩形の体積との差の上限として定義されます。

  2. 被積分関数 の Hardy–Krause 変動 は、 の滑らかさを測る量です。 が有界変動であれば有限です。

  3. 不等式は「点の偏りが小さく、関数がなめらかなら、積分の近似誤差は小さい」と読めます。擬似乱数では (大数の法則の速度)ですが、Sobol 列などの低食い違い列では が成り立ちます。

  4. 次元 が小さいとき であり、準乱数が擬似乱数より速く収束します。しかし が大きくなると の項が支配的になり、理論上の優位は薄れます。

以上が要点です。 ∎

5. 反例 ― 相関が低いと効かない

CEX-VR-1: 対照変量はいつも効くわけではない

対照変量法が有効なのは、ペイオフが の単調関数であるときでした。では、ペイオフが対称な関数のときはどうなるでしょうか。

というペイオフを考えます。これは が期待値から上に外れても下に外れても同じ値を取ります。 を に置き換えると は期待値の反対側に動きますが、絶対値を取るので は と近い値になります。共分散が正になり、(4.1) の第2項が分散を増やす方向に働きます。(4.2) が破れるので、評価回数を揃えた比較では素朴法より悪くなります。

数値で確認します()。

手法 標準誤差
素朴法
対照変量法

対照変量法の標準誤差は素朴法の 倍に増えています。ペイオフが対称な場合、対照変量法は逆効果です。

CEX-VR-2: 相関が低い変数では制御変量が効かない

制御変量法の分散減少率は に比例します((4.6))。では、制御変量にペイオフと無相関な変数を使うとどうなるでしょうか。

独立な標準正規乱数を制御変量に使った場合の結果です。

値
相関係数
素朴法の標準誤差
制御変量法の標準誤差
分散減少率

相関がほぼゼロなので、分散はまったく減りません。制御変量法が威力を発揮するには、ペイオフと強く相関する変数を見つけることが本質的です。

CEX-VR-3: 準乱数は高次元で優位が薄れる

THM-VR-3 で見たように、Koksma–Hlawka の不等式の誤差上界には の項が含まれます。次元 を上げると、この項が大きくなり、準乱数の優位が縮まります。

次元を変えて、ヨーロピアンコールを 段階の経路で評価した結果です()。準乱数の標準誤差は、互いに独立にランダム化(スクランブル)した 組の Sobol 点列(各 点)の推定値のばらつきから求めています。1本の Sobol 点列を区切った部分どうしは独立ではないので、区切った平均のばらつきからは正しい標準誤差が出ないためです。

次元 準乱数の標準誤差 擬似乱数の標準誤差 比(擬似/準)
1
5
10
50
100

1次元では準乱数が約27倍有利ですが、10次元以上では4倍前後まで縮まります(10次元から100次元の間の違いは、16組から見積もった標準誤差のばらつきの範囲です)。高次元の問題では準乱数だけに頼るのは危険です。

6. 数値例 ― 4つの手法の誤差を並べる

第96回と同じパラメータ(, , , , )で、BS 理論価格 に対する各手法の結果です。標本数は (準乱数は で、独立にスクランブルした 組の Sobol 点列(各 点)の推定値のばらつきから標準誤差を求めます)。

手法 推定値 標準誤差
素朴モンテカルロ
対照変量法
制御変量法
準乱数(Sobol)

同じ精度を得るのに必要な標本数の比を、素朴法を基準に計算します。標準誤差が に比例するので、同じ標準誤差を得るのに必要な標本数の比は分散の比の逆数です。

手法 効率比(素朴法の何倍速いか)
素朴モンテカルロ
対照変量法
制御変量法
準乱数

制御変量法は素朴法の約5倍、準乱数は約1万倍の効率です。

制御変量法の最適係数と分散減少率の一致も確認します。

値
最適係数
相関係数
理論上の分散比
実測の分散比

(4.6) の理論値と実測値が一致しています。 なので、制御変量法は分散を約 削減しています。

これらの結果はすべて compute.py により再現可能です。

7. 次回へ ― 偏微分方程式を格子で解く

今回はモンテカルロ法の精度を上げる方法を見ました。対照変量法は単調なペイオフに有効であり、制御変量法は相関の高い変数が見つかれば強力です。準乱数は低次元で劇的な効果を発揮しますが、高次元では優位が薄れます。

次回(第98回)では、偏微分方程式を格子で直接解く有限差分法を扱います。モンテカルロ法とは全く異なるアプローチで、BS 方程式の数値解を求めます。

よくある質問

どの方法が一番良いのですか

問題によります。期待値が分かる近い変数があれば制御変量が強力です。

準乱数とは何ですか

空間を均一に埋めるように作った点列です。乱数ではありませんが、積分の近似に使えます。

組み合わせて使えますか

使えます。実務では複数を組み合わせるのが普通です。

参考文献

  1. Glasserman P.、Monte Carlo Methods in Financial Engineering、Springer、2004年
  2. Niederreiter H.、Random Number Generation and Quasi-Monte Carlo Methods、SIAM、1992年

数値例は compute.py によりシード固定で検算済み。本文中の小数は4桁で丸めている。

目次