QuantLibは、量的金融のモデリング、トレーディングとリスク管理用のオープンソースのライブラリでF#言語で使うことができる。QuantLibにアクセスするには、.NETコンポーネントのNQuantLib.dllとネイティブコンポーネントのNQuantLibc.dllを使わなければならない。
もし上記のライブラリファイルが利用できないなら、.libファイル、C++ソースとヘッダーファイルからそれらをからそれらを作成することができる。.libおよびヘッダファイルを取得するにはBoostをインストールする。また、BoostまたはBoostProの公式リポジトリでソースを構築することこともできる。
次のステップは、Quantlibのインストールで、.libおよびヘッダファイルをビルドする。この時Microsoft Visual C++ を使うが、公式ドキュメントに提供されている手順に従えばよい。インストール後、Quantlib-SWIGのzipファイル、 SWIGをダウンロードして、C++ラッパーファイルを生成するためにQuantLib-SWIG\CSharpディレクトリにあるswig.cmdファイルを実行する。これでVisual Studioを使用してNQuantLibc.dllとNQuantLib.dllをビルドすることができます。
Visual C++ 2012を使ってビルドしたいなら、以下のようにauto_link.hppを修正する必要がある。
auto_link.hppをオープンして以下の行を見つける。
#else
# error "unknown Microsoft compiler"
上の行の直前に以下の行を挿入する。
#elif (_MSC_VER == 1700)
# define QL_LIB_TOOLSET "vc110"
Right click on the QuantLibプロジェクトで右クリックしてプロパティを選ぶ。プロパティの構成 | 一般でターゲット名をQuantLib-vc110-mt あるいは QuantLib-vc110-mt-gdに変更する( QuantLibのリリースあるいはデバッグバージョンをビルドしているかに応じて)。
上記の回避策は、公式のMicrosoftのブログにpmcsというニックネームのF#開発者によって書かれ、製品チームによりチェックされている。
上記の手順が完了した後、参照と呼ばれるF#スクリプトディレクトリ下のディレクトリにNQuantLib.dllとNQuantLibc.dllを置く。プロジェクトを使用している場合、プロジェクトにファイルとしてNQuantLibc.dllを追加し、Newerの場合はコピーを出力へコピーに設定する。
Visual Studioを使ってF# と QuantLibで開発を始めるためにツール|オプション| F#ツール| F#インタラクティブ| 64ビットをFalseにする必要がある。またMonoDevelop, Xamarin Studioあるいは好みのテキストエディタを使うこともできる。
#I "references"
#r "NQuantLib.dll"
let date = QuantLib.Date.todaysDate()
printfn "today is: %s" (date.ISO())
上記のコード片は、F#の対話型コンソールに日付を出力する。見ての通り、我々はNQuantLib.dllを参照して、todaysDate()関数を呼んだ。
大きなプロジェクトでは、オブジェクトを適切に破棄するために、 'let'でなくキーワード 'use'も使うことができる。
use date = QuantLib.Date.todaysDate()
The F# product team led by Don Syme氏が率いるF#製品チームには、Alexandre Radicchi氏と一緒にMonoで、ライブラリファイルをコンパイルするのに必要な手順を確認し、更に欧州のコール・オプションの価格設定、日付とスケジュールなどのいくつかの追加サンプルを提供している。
Donは、QuantLibを詳しく調べることに興味をもつ人にImplementing QuantLibと題する本を薦めている。本の著者は、無料でアクセスできる全章のドラフトを提供している。