在Windows下编译运行QuantLib

来源:互联网 发布:永久免费域名申请 编辑:程序博客网 时间:2024/05/22 02:13
摘要:QuantLib项目的目标是为金融领域的量化计算提供一个全面的软件框架。QuantLib是一个C++语言实现的开源库,在现实世界中建模、交易和风险管理等领域有着广泛的应用。

QuantLib 是一个开源的服务于金融领域量化计算的综合的软件框架。QuantLib是纯C++语言实现的。它为量化分析人员和C++程序开发人员提供了丰富的数学和统计学工具,为股票,期权,期货以及互换等金融工具的定价提供了一个系统级的框架。QuantLib现在已经移植到Java、C#、Perl意见Ruby等很多平台上。

本文将向读者介绍如何在Windows机器上从源代码编译和运行QuantLib程序。

QuantLib是C++开发的,所以首先读者的机器上需要安装C++的编译和开发工具,微软的Visual Studio是微软平台上应用最广泛的C++集成开发环境,QuantLib的开发人员在Windows平台上的也是使用Visual Studio进行开发的。所以推荐读者在Windows平台下使用Visual Studio开发环境编译和运行QuantLib。QuantLib源代码所带的Visual Studio 项目文件包括VC7、VC8、VC9、VC10和VC11,分别对应Visual Studio 2003、Visual Studio 2005、Visual Studio 2008、Visual Studio 2010 和Visual Studio 2012。所以安装其中的任何一个Visual Studio版本都可以。本人使用的是Visual Studio 2010,不同版本可能略有不同,但是大致应该是一致的。

如果机器已经安装好Visual Studio后,就开始下载编译QuantLib需要的源代码吧。QuantLib代码包可以在sourceforge.net上下载,QuantLib的代码也在GitHub上发布,读者也可以选择在GitHub上fork项目。本人是从sourceforge.net网站上下载源代码包的,进入下载页面后,选择最新的版本下载QuantLib的源代码包,本人写这篇文章时,当前最新稳定版本是1.3,下载完成后得到文件QuantLib-1.3.zip。

QuantLib唯一依赖的第三方库是Boost,Boost是一个C++类库,有源代码和二进制库两种发布方式,编译QuantLib只需要C++头文件和静态库文件就够了,所以直接下载Boost二进制库就可以了,进入Boost二进制库包下载页面,选择最新的稳定版本,当前是1.54.0,可以看到下载文件列表,选择对应的安装包文件,比如本文的机器Widnows 32位和Visual Studio 2010,所以选择boost_1_54_0-msvc-10.0-32.exe 这个文件,注意VC的版本和操作系统位数。Boost二进制库是可执行解压文件,直接点击安装就可以把Boos头文件和预编译的二进制库解压到指定的文件夹,本人把文件解压在D:\lib-repo\boost_1_54_0,该文件夹下的boost文件夹就是boost库的头文件所在的文件夹,文件夹lib32-msvc-10.0里面包含的就是预编译好的二进制库文件。

所需要的文件包都下载后后,开始准备在用Visual Studio编译QuantLib项目。把下载后的QuantLib源代码zip包解压到读者自己习惯的C++开发目录下,可以看到解压后的文件夹中目录结构,该目录中有多个不同版本的Visual Studio的.sln文件,也就是Visual Studio的Solution文件,选择对应版本的.sln文件,双击该文件,就可以在Visual Studio中打开整个QuantLib项目了。


下面在Visual Studio中卫QuantLib项目配置Boost库的头文件和库文件加载路径。选中解决方案中任意一个项目,比如“QuantLib”,右键点击“属性”,在弹出的“属性页面中”,点击右边的菜单树中的节点“配置属性”,选择“VC++目录”,分别把boost库的安装目录(本机是D:\lib-repo\boost_1_54_0)和boost库安装目录下的二进制类库目录(本机是D:\lib-repo\boost_1_54_0\lib32-msvc-10.0)添加到“包含目录”和“库目录”。点击“确定”按钮。


Visual Studio 2008中点击“工具”->“选项”,打开“选项”对话框,点击左边的导航菜单中的节点“项目和解决方案”,在VC++目录中添加。

设置好boost库的相关路径后,可以开始编译了,右键点击解决方案,选择“生成解决方案”,等待一段时间(编译过程比较长),等待编译结束,没有提示错误就表示成功了。

可以运行其中的某个例子,看看结果。右键点击项目“Bonds”,点击“调试”->“启动新实例”,就能出来运行结果了。

下面读者可以在QuantLib基础上进行自定义开发了。
0 0
原创粉丝点击