请稍侯

安装QuantLib

02 July 2014

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_0E:\Program Files\QuantLib-1.4包含目录项,添加E:\Program Files\boost_1_55_0\lib64-msvc-12.0E:\Program Files\QuantLib-1.4\lib库目录项.

选择链接器下的常规,添加E:\Program Files\boost_1_55_0\lib64-msvc-12.0E:\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;
}

选择调试菜单栏下开始执行(不调试),输出如下.