9 votos

el uso de quantlib función en mi programa de c++

Quiero incluir el QuantLib función de la opción griegos cálculos en mi propio código de C++. Mi pregunta es: puedo incluir esas funciones? No quiero utilizar el resto de sus cosas.

Yo, obviamente, no puede simplemente escribir:

QuantLib::europeanOption.delta()

He incluido el encabezado:

#include <ql/quantlib.hpp>

using namespace QuantLib;

Me gustaría que hubiera alguna buena documentación.

16voto

Chethan S. Puntos 2210

Esto es off-topic y tal vez pertenece a StackOverflow, pero aquí va.

1. Compilar QuantLib

La mejor manera es abrir el Visual Studio Símbolo del sistema utilizando un acceso directo en Programas→Microsoft Visual Studio→Herramientas de Visual Studio. Ahora, usted necesita para navegar a la QuantLib carpeta dentro de la carpeta donde tienes QuantLib (hay otras carpetas como QuantLibXL – que no es el que usted necesita.

Ahora, compilar el conjunto de QuantLib ejecutando el siguiente comando: msbuild /t:Rebuild /p:Configuration=Release QuantLib_vc10.sln.

Dentro de esta carpeta, si nos fijamos en la lib carpeta, usted obtendrá un archivo lib llamado QuantLib-vc<VER>-mt.lib y un archivo correspondiente con una -gd sufijo. Usted necesita estos libs así como las cabeceras.

2. Configurar los encabezados

Haga clic derecho en el proyecto y seleccione Propiedades. Ahora, asegúrese de que usted elija Todas las Configuraciones en la configuración del cuadro de lista desplegable en la parte superior izquierda de la ventana. En primer lugar, vaya a ConfigurationProperties→C/C++→General. En los Directorios de inclusión Adicional, agregue la ruta de acceso a QuantLib del directorio. Si se agrega el <QL Root>\QuantLib directorio, usted será capaz de referencia QuantLib encabezados con declaraciones tales como #include <ql/someheader.hpp>. Si lo hiciste correctamente, y está usando VS2010, IntelliSense se activan de inmediato, lo que significa que si usted escriba #include <ql/, VS, se mostrará un ayudante lista con los encabezados (que es útil).

3. Configurar las referencias de la biblioteca

Ahora, desplácese hacia abajo para la Configuración de las Propiedades→Enlazador→General. En la Biblioteca Adicionales Directorios agregar la ruta de acceso a la QuantLib s \lib directorio.

Ahora se mueven hacia abajo a la Entrada de la cabecera bajo el Enlazador de encabezado. Editar las Dependencias Adicionales de campo, anteponiéndole el nombre de la QuantLib archivo de biblioteca — es necesario especificar el nombre de archivo (sin la ruta de acceso completa) de la .lib archivo que usted necesita incluir. El -mt.lib archivo se utiliza para la generación de Versión, y el -mt-gd.lib para la generación de Depuración. Si te equivocas estas arriba, obtendremos errores.

4. Ejecutar

Por ahora, suponiendo que tiene el impulso de las bibliotecas en su VS \include carpeta, el siguiente debe compilar y ejecutar sin problema:

//first line is required in .NET
#include "stdafx.h"
#include <iostream>
#include <ql/quantlib.hpp>

using namespace std;
using namespace QuantLib;

void main()
{
  boost::shared_ptr<Money> m(new Money);
  cout << m->value() << endl;

  getchar();
}

7voto

Vitalik Puntos 184

Cómo en la facilidad con la programación, la vinculación dinámica, Makefiles y el resto?

En esencia, no hay magia aquí. QL tiene un muy liberal de la licencia, y que "sólo" tiene que configurar su proyecto, que se encuentra

  • el quantlib encabezados (y por lo tanto el aumento de los encabezados) durante la compilación

  • el quantlib de la biblioteca durante la vinculación

y dos de ellos pueden ser automatizados llamando quantlib-config con indicadores apropiados --clags y --libs, respectivamente.

Esto es realmente no es diferente de la vinculación a cualquier otra biblioteca externa.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X