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

位置: 第10部 第97回 / 前提: [96] / 数学編: [M32] / この回でできるようになること: 対照変量法や制御変量法を使って、同じ計算量でモンテカルロ法の誤差を小さくすることができる
0. 物語 ― 相関の低い制御変量は効かない
あるチームがモンテカルロ法でオプション価格を計算していました。標本を増やせば精度は上がりますが、計算に何時間もかかるので、もっと賢い方法を試そうとしたのです。教科書に「期待値がわかっている変数で補正すれば、分散が減る」と書いてあります。制御変量法と呼ばれる手法です。
チームはこう考えました。「何でもいいから、期待値がわかる変数を持ってくればいい」。そこで、オプションのペイオフとは何の関係もない乱数をひとつ用意して、補正に使いました。期待値がゼロだとわかっているから、条件は満たしています。
結果は散々でした。10万本のシミュレーションを回しても、素朴に計算したときと標準誤差がまったく同じです。分散の減少率はゼロ。何も起きませんでした。
失敗の原因は「関係のない変数を持ってきた」ことです。制御変量法が効くかどうかは、補正に使う変数と、本来計算したい量との相関で決まります。相関がほぼゼロなら、いくら期待値がわかっていても分散は減りません。
一方、同じ問題で、ペイオフと強くつながっている変数を使ったチームがいました。こちらは相関が0.89もあり、分散を約79パーセント減らすことに成功しています。同じ計算量で標準誤差がおよそ半分以下になったのです。
分散を減らすには「正しい相手」を選ぶ必要があります。この回では、どんな変数を選べばどれだけ分散が減るのか、その仕組みを数式で明らかにします。
1. 動機 ― 標本を増やさずに精度を上げたい
この回を読み終えると、対照変量法や制御変量法を使って、同じ計算量でモンテカルロ法の誤差を小さくすることができます。
前回(第96回)で素朴なモンテカルロ法を動かし、標準誤差が
しかし「同じ標本数のまま、推定量の分散だけ下げる」方法があります。鍵は乱数の間にある相関を意図的に作り出すことです。今回は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行では、
素朴な推定量と比較します。比較はペイオフの評価回数を揃えて行う必要があります。
したがって、対照変量法が有利(以下)になる条件は
です。
と書けます(右辺を展開すると
コールオプションのペイオフ
THM-VR-2 の証明
分散を展開します。
第1行から第2行では、分散の二次形式
(4.3) は
これを解くと
第1行から第2行では、第2項と第3項をまとめました。第2項は
相関係数
THM-VR-3 の証明の要点
Koksma–Hlawka の不等式の完全な証明は解析的整数論の手法を使うため、ここでは要点のみ述べます。
-
食い違い度
は、点列 が をどれだけ均一に埋めているかを測る量です。任意の軸に沿った矩形 に入る点の割合と、その矩形の体積との差の上限として定義されます。 -
被積分関数
の Hardy–Krause 変動 は、 の滑らかさを測る量です。 が有界変動であれば有限です。 -
不等式は「点の偏りが小さく、関数がなめらかなら、積分の近似誤差は小さい」と読めます。擬似乱数では
(大数の法則の速度)ですが、Sobol 列などの低食い違い列では が成り立ちます。 -
次元
が小さいとき であり、準乱数が擬似乱数より速く収束します。しかし が大きくなると の項が支配的になり、理論上の優位は薄れます。
以上が要点です。 ∎
5. 反例 ― 相関が低いと効かない
CEX-VR-1: 対照変量はいつも効くわけではない
対照変量法が有効なのは、ペイオフが
数値で確認します(
| 手法 | 標準誤差 |
|---|---|
| 素朴法 | |
| 対照変量法 |
対照変量法の標準誤差は素朴法の
CEX-VR-2: 相関が低い変数では制御変量が効かない
制御変量法の分散減少率は
独立な標準正規乱数を制御変量に使った場合の結果です。
| 値 | |
|---|---|
| 相関係数 |
|
| 素朴法の標準誤差 | |
| 制御変量法の標準誤差 | |
| 分散減少率 |
相関がほぼゼロなので、分散はまったく減りません。制御変量法が威力を発揮するには、ペイオフと強く相関する変数を見つけることが本質的です。
CEX-VR-3: 準乱数は高次元で優位が薄れる
THM-VR-3 で見たように、Koksma–Hlawka の不等式の誤差上界には
次元を変えて、ヨーロピアンコールを
| 次元 |
準乱数の標準誤差 | 擬似乱数の標準誤差 | 比(擬似/準) |
|---|---|---|---|
| 1 | |||
| 5 | |||
| 10 | |||
| 50 | |||
| 100 |
1次元では準乱数が約27倍有利ですが、10次元以上では4倍前後まで縮まります(10次元から100次元の間の違いは、16組から見積もった標準誤差のばらつきの範囲です)。高次元の問題では準乱数だけに頼るのは危険です。
6. 数値例 ― 4つの手法の誤差を並べる
第96回と同じパラメータ(
| 手法 | 推定値 | 標準誤差 |
|---|---|---|
| 素朴モンテカルロ | ||
| 対照変量法 | ||
| 制御変量法 | ||
| 準乱数(Sobol) |
同じ精度を得るのに必要な標本数の比を、素朴法を基準に計算します。標準誤差が
| 手法 | 効率比(素朴法の何倍速いか) |
|---|---|
| 素朴モンテカルロ | |
| 対照変量法 | |
| 制御変量法 | |
| 準乱数 |
制御変量法は素朴法の約5倍、準乱数は約1万倍の効率です。
制御変量法の最適係数と分散減少率の一致も確認します。
| 値 | |
|---|---|
| 最適係数 |
|
| 相関係数 |
|
| 理論上の分散比 |
|
| 実測の分散比 |
(4.6) の理論値と実測値が一致しています。
これらの結果はすべて compute.py により再現可能です。
7. 次回へ ― 偏微分方程式を格子で解く
今回はモンテカルロ法の精度を上げる方法を見ました。対照変量法は単調なペイオフに有効であり、制御変量法は相関の高い変数が見つかれば強力です。準乱数は低次元で劇的な効果を発揮しますが、高次元では優位が薄れます。
次回(第98回)では、偏微分方程式を格子で直接解く有限差分法を扱います。モンテカルロ法とは全く異なるアプローチで、BS 方程式の数値解を求めます。
よくある質問
どの方法が一番良いのですか
問題によります。期待値が分かる近い変数があれば制御変量が強力です。
準乱数とは何ですか
空間を均一に埋めるように作った点列です。乱数ではありませんが、積分の近似に使えます。
組み合わせて使えますか
使えます。実務では複数を組み合わせるのが普通です。
参考文献
- Glasserman P.、Monte Carlo Methods in Financial Engineering、Springer、2004年
- Niederreiter H.、Random Number Generation and Quasi-Monte Carlo Methods、SIAM、1992年
数値例は compute.py によりシード固定で検算済み。本文中の小数は4桁で丸めている。

