2012-05-23 8 views
13

Actualmente estoy trabajando en un proyecto que se basa en un par de herramientas matemáticas/estadísticas/financieras que idealmente quisiera incluir en una (tal vez varias) bibliotecas. Lo que me gustaría tener es:Finanzas cuantitativas/biblioteca matemática para Java

  1. medidas estadísticas - Modos de varianza, etc.
  2. distribuciones de probabilidad + muestreo de ellos disponibles
  3. modelos financieros para, por ejemplo, precio de opción

¿Alguien tiene una idea de qué bibliotecas pueden ser útiles?

Respuesta

13

Hago bastante trabajo numérico en Java y Clojure, así que con suerte mi perspectiva puede ser útil.

Para 1. y 2. Aquí hay algunas opciones para explorar:

  • Parallel Colt - muy completo, biblioteca matemática de alto rendimiento. Bueno para un montón de procesamiento de vectores que obtienes en aplicaciones de finanzas.
  • Incanter - Biblioteca estadística R-like para Clojure (muy fácil de integrar en una aplicación Java). Tiene casi todas las herramientas estadísticas que pueda desear, además es muy fácil de extender, si desea crear sus propios DSL
  • EJML - probablemente la biblioteca de la matriz más rápida disponible en Java
  • Apache Commons Math - práctica colección de matemáticas y estadística herramientas

Para 3. (modelos financieros) estos tienden a ser muy a medida para el problema que está tratando de resolver. Dudo que desee utilizar una solución lista para usar, incluso si existiera. Sugeriría que te desarrolles usando los kits de herramientas mencionados anteriormente.

+0

Gracias, realmente útil publicación de hecho. ¿Cómo se puede utilizar el uso de Incanter en Java? – Bober02

+1

Normalmente hago el trabajo de desarrollo en Clojure REPL (en Eclipse con el complemento Counterclockwise).A continuación, puede guardar el código de su Incanter finalizado en archivos .clj que agrupe en su proyecto Java junto con clojure.jar como una dependencia. Luego puede llamar a sus funciones usando las técnicas normales para llamar al código Clojure de Java. Funciona bastante bien. Incluso hay una buena integración con Maven (para que pueda ejecutar su suite de pruebas Clojure como parte de una compilación de un solo clic, etc.) – mikera

+0

+1 - muy agradable. Parece que estás haciendo un buen trabajo. – duffymo

1

QuantLib aparentemente tiene enlaces de Java a través de SWIG.

+1

[JQuantLib] (http://www.jquantlib.org/index.php/Main_Page) es una reimplementación pura de Java de QuantLib. No lo he probado, pero parece prometedor. – cww

1

Las bibliotecas OpenGamma (www.opengamma.com) contienen ciertamente esos elementos. Tiene una biblioteca matemática de alto rendimiento (OG-Math) y una biblioteca profesional de finanzas cuantitativas (OG-Analytics). Las bibliotecas están escritas en Java y en código abierto.

La parte de finanzas cuantitativas contiene modelos de tasas de interés, divisas y acciones. Lo desarrollan los cuánticos de la industria para fondos bancarios y de cobertura. No sé qué tipo de modelos financieros quieres usar; hay un gran panel de modelos y clases de activos y usted debería ser capaz de encontrar autónomamente una implementación de tipo profesional.

1

IdylFin puede ser justo lo que está buscando - inspirado en quantmod, contiene algunos métodos estadísticos increíblemente rápidos, numéricamente estables, una API para Yahoo Finance, así como algunos métodos de optimización de carteras y se está extendiendo activamente.

Descargo de responsabilidad: Soy el autor de la biblioteca, y me quitaría los calcetines si la usaba;).

Cuestiones relacionadas