安装QuantLib
QuantLib是一个免费开源的C++量化金融库.
安装QuantLib之前,首先需要安装boost库.
从Source Forge下载QuantLib-1.4.zip.解压到E:\Program Files\QuantLib-1.4
.
打开QuantLib_vc11.sln
,在解决方案资源管理器
中右击解决方案QuantLib_vc11.sln
,选择配置属性
下的配置
.点击配置管理器
,设置活动解决方案配置
为Release (static runtime)
,设置活动解决方案平台
为x64
.
设置全部15个项目如下,在解决方案资源管理器
中右击项目名,选择属性
,配置属性
下的VC++目录
,添加E:\Program Files\boost_1_55_0
到包含目录
项,添加E:\Program Files\boost_1_55_0\lib64-msvc-12.0
到库目录
项.
选择链接器
下的常规
,添加E:\Program Files\boost_1_55_0\lib64-msvc-12.0
到附加库目录
项.
在解决方案资源管理器
中右击解决方案QuantLib_vc11.sln
,选择生成解决方案
.
生成成功后,输出
窗口会有相应输出.
2> Tests completed in 17 m 32 s 2> 2> 2> Test suite "Master Test Suite" passed with: 2> 1001873 assertions out of 1001873 passed 2> 567 test cases out of 567 passed 2> ========== 全部重新生成: 成功 15 个,失败 0 个,跳过 0 个 ==========
创建一个简单的实例.新建Win32控制台应用程序
项目TestingQuantLib
.在解决方案资源管理器
中右击TestingQuantLib
,选择属性
,配置属性
下的VC++目录
,添加E:\Program Files\boost_1_55_0
和E:\Program Files\QuantLib-1.4
到包含目录
项,添加E:\Program Files\boost_1_55_0\lib64-msvc-12.0
和E:\Program Files\QuantLib-1.4\lib
到库目录
项.
选择链接器
下的常规
,添加E:\Program Files\boost_1_55_0\lib64-msvc-12.0
和E:\Program Files\QuantLib-1.4\lib
到附加库目录
项.
在TestingQuantLib
中输入代码,
#include "stdafx.h" #include <iostream> #include <ql/quantlib.hpp> using namespace std; int main() { QuantLib::Calendar myCal = QuantLib::UnitedKingdom(); QuantLib::Date newYearsEve(31, QuantLib::Dec, 2008); std::cout << "Name: " << myCal.name() << std::endl; std::cout << "New Year is Holiday: " << myCal.isHoliday(newYearsEve) << std::endl; std::cout << "New Year is Business Day: " << myCal.isBusinessDay(newYearsEve) << std::endl; std::cout << "--------------- Date Counter --------------------" << std::endl; QuantLib::Date date1(28, QuantLib::Dec, 2008); QuantLib::Date date2(04, QuantLib::Jan, 2009); std::cout << "First Date: " << date1 << std::endl; std::cout << "Second Date: " << date2 << std::endl; std::cout << "Business Days Betweeen: " << myCal.businessDaysBetween(date1, date2) << std::endl; std::cout << "End of Month 1. Date: " << myCal.endOfMonth(date1) << std::endl; std::cout << "End of Month 2. Date: " << myCal.endOfMonth(date2) << std::endl; double tmp; std::cin >> tmp; return 0; }
选择调试
菜单栏下开始执行(不调试)
,输出如下.