はじめに

 QuantLibは、様々な金融商品の価格計算アルゴリズムを、オブジェクトモデル化して汎用性と拡張性を持たせたライブラリーです。膨大なライブラリーであり、QuantLibのサイトで得られるReference Manualや、様々な解説資料を見ても、なかなか全体像はつかめません。またどうやって使うのかもよく判らないと思います。具体的な使い方については、QuantLibをダウンロードした後、Exampleディレクトリーいあるいくつかのソースコードをテストする事をお勧めめします。そこでは、具体的なFinancial InstrumentとPricing Engineを部品から組み立てて、それらを結合させて、価格計算やリスク量計算のメソッドを呼び出して計算結果を導出する様子が、様々な金融商品を使って紹介されています。

 一方で、QuantLib全体の設計思想とか、主要なモジュールの設計思想などは、ここで紹介する“Implementing QuantLib”を読まれるのがいいかと思います。そのChapter-IIでは、主要モジュールである、Financial InstrumentsとPricing Enginesの設計思想について解説されています。またChapter-IIIからChapter-VIIIまでは、それらの主要部品・モジュールの解説になっています。Chapter-IIIのTerm Structureクラスは、Pricing Engineの必須の部品であるイールドカーブを取扱います。またTerm Structureクラスは金利だけでなく、Volatilityの期間構造も取扱います。Chapter-IVのCash Flows and CouponsはFinancial Instrumentの主要部品になります。Chapter-VからVIIIまでは、Pricing Engineの主要部品、すなわち価格計算アルゴリズムをカプセル化したオブジェクトモデルです。

 さらに、Odds and Ends(付録)で、主要部品ではないものの、日数計算方法、Solver-Optimizerといった計算アルゴリズム、などの周辺部品に関する解説、さらに、QuantLibの中で使われている主要なデザインパターンについての解説が含まれています。

 かなり専門的な内容で、理解するには、C++と金融工学に関する、かなり高いレベルの知識が必要です。(著者本人がイントロダクションの中でそう言ってます。)

 日本人にとって、それらを英文で読んで内容を理解するのは、ハードルが高いかも知れません。また同氏は、暗喩として、日本人には馴染みの薄い小説や映画や雑誌のフレーズを随所に使っているので、それもハードルを上げているかも知れません。そこで、著者であるBallabio氏の了解を得て、日本語の翻訳を行いました。出来るだけ解りやすくする為、直訳せずに、日本語で意味がわかりやすいように、文章の順番を大きく変えたり、意訳したりした部分が多くあります。また専門用語で解りにくいと思われる部分には、“訳注”として、私自身の解説を若干加えています。それでも、完璧な翻訳などありえないので、読んで解りにくい部分は、原典と読み比べて頂きたいと思います。あくまで原典がすべてであり、訳は原典の理解を助ける為のものとしてお読みください。拙訳の為、誤解が生じたりした場合はご容赦下さい。

訳者より