クオンツ業務で必要な数値解法は?

クオンツ業務では数値計算のアルゴリズムの知識も必要である。

最低限必要な範囲としては、以下のあたり。

・行列演算

・非線形方程式

・数値積分

・常微分方程式

・偏微分方程式

・乱数生成

行列演算は、他のアルゴリズムでも基礎になるものである。例えば偏微分方程式の陰解法でも、中で逆行列のルーチンを呼び出す必要がある。特に逆行列、行列の各種分解が必要になってくる。

非線形方程式の求根も必須である。教科書に出てくるのは二分法とニュートン法だが、常識としてこれらは学ぶ必要あり。しかし実務でよく使うのはBrent法である。これはモチベーションとしては二分法とニュートン法のいいとこ取りをしよう、というものである。もちろんいまだにニュートン法もよく使われる。

数値積分はプライシングで必要になることがある。ある程度までは解析的に解けるが、最後に数値積分が残ってしまう、というケースは多い。また、金利モデルなどでグリッドと組み合わせて数値積分を用いることもある。解法としてはとりあえずガウス・ルジャンドルとガウス・ラゲールは常識として押さえておかないといけない。

常微分方程式の数値解法は偏微分方程式ほどではないが、出てくることがある。解法としてはルンゲ・クッタを常識として押さえておく。

偏微分方程式の数値解法は必須であり、かなりきちんと学ぶ必要がある。実務で使うのは陽解法ではなく陰解法であり、特にクランク・ニコルソンをよく見かける。しかしクランク・ニコルソンだと結果が安定しないケースがあり、その場合はRannacher schemeと呼ばれる方法を用いる。金利為替などのハイブリッドモデルでPDEを解く場合は、ADI法を用いる。

乱数生成は、モンテカルロ法で必須となる。乱数は大きく擬似乱数と準乱数に分かれる。擬似乱数では、一様乱数はメルセンヌ・ツイスター、正規乱数はMoroの方法を使う。準乱数には多くの種類があるが、実務ではSobol列をよく見かける。乱数生成のアルゴリズムの詳細が実務で必須となることはないため、概要のみだけでよいだろう。