安装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;
}
选择调试菜单栏下开始执行(不调试),输出如下.
