64 votos

Hay alguna cosa por ahí como un sustituto para el KDB?

muchas gracias por tu discusiones en el post original.

siguiendo sus sugerencias, permítanme volver a la frase un poco :

kdb es conocido por su eficacia y eficiencia como viene en un precio terrible. Sin embargo, con el poder computacional tan barato en estos días, debe ser un punto dulce donde podemos lograr una eficiencia comparable de manipulación de datos, a un precio más razonable.

Por ejemplo, si un KDB costo de la licencia de una pequeña tienda de $200 por año (no sé cuánto costaría en realidad, ¿sabes?), tal vez no es un sustituto de la solución: por ejemplo, tenemos que pagar 50K para construir una decente clúster, el almacenamiento de todos los datos en un sistema de archivos de red, y paralelizar todas las consultas de datos. Esta solución podría no ser tan rápido o tan elegante como el KDB, pero sería mucho más asequible y más importante, toma control total de la misma.

¿qué te parece? no hay nada como este?

23voto

Robby Slaughter Puntos 818

En discretelogics acabamos de publicar un formato de archivo para almacenar series de tiempo en archivos planos llamados "TeaFiles". Además de los datos en bruto que puede almacenar el binario de elementos de diseño y una descripción de los contenidos.

C#, C++, Python dispone de Api de código abierto, licenciado bajo la GPL, ver discretelogics.com/teafiles/

Mediante la asignación de memoria, el rendimiento de la lectura llega a que en la matriz de memoria de procesamiento secuencial de uso de un archivo, como es el caso de back testing.

La API de C# en Codeplex tiene micro puntos de referencia. Resumiendo un archivo con un solo byte de 8 doble llega a 500 millones de operaciones por segundo en una vieja máquina de prueba. El uso de una Garrapata Elemento con int64 / doble / int por Hora/Precio/Volumen es de 100 millones de operaciones.

Divulgación: la auto promoción de + interés en la discusión de las series de tiempo de persistencia

22voto

jerhinesmith Puntos 5425

A partir de abril de 2014, la versión de 32 bits de kdb+ ahora es gratis para probar.

Esta versión gratuita no puede ser utilizado en los sistemas de producción.

La única limitación técnica frente a la versión de 64 bits es que sólo se puede direccionar hasta 4 GB de memoria por proceso.

17voto

Greg Hurlman Puntos 10944

Usted podría mirar a los Pandas, una biblioteca de Python que se integra con PyTables. Fue creado por alguien en el AQR y tiene algunas características similares a las del KDB.

17voto

Gauthier Puntos 111

No me gusta KDB+/q. Para KDB+ expertos, yo no soy de escoger una lucha. El siguiente es sólo mi propia comprensión en KDB+ y Unicc de la Base de datos. Usted está cordialmente invitados a me corrija si nada malo en los ojos :).

Primero de todo, durante cerca de un año del KDB+/p de desarrollo de la experiencia, yo nunca encontrar un papel basado en el resultado de benchmark indicando KDB+/q significativamente a cabo realiza otro sistema de almacenamiento en el tiempo. Por sistema de almacenamiento, yo no limitar el alcance de disco basado RDBMS. Así que no sé por qué todo el mundo en cuanto finanzas está hablando acerca de KDB+ e impresionado por su eficiencia sin los datos de copia de sus puntos.

Segundo, una vez hablé con un Certificado de Oracle DBA sobre KDB+. Desde mi descripción, la primera palabra que le vino es una caché en memoria ni siquiera un completo sale del nido de la base de datos. Tal vez él tiene razón hasta cierto punto, ¿no?

El siguiente es el llamado Unicc. Más de un administrador de abogando por el KDB+ desde diferentes posiciones y las empresas me habló KDB+ es un Unicc de la Base de datos. Sin embargo, no creo que Unicc es una característica de KDB+, cuya característica real es la columna orientada al motor de almacenamiento. Es decir, con una columna orientada al motor de almacenamiento, que KDB+ es amigable para almacenar Unicc de datos. Mientras en estos días, orientado a columnas motor de almacenamiento no pertenecen a KDB+ exclusivos. Para RDBMS tradicional, como MySQL, también se pueden encontrar de la columna correspondiente de los motores de almacenamiento en las comunidades de código abierto.

El último y más importante, quiero hablar sobre el desarrollador de la amistad. KDB+ se distribuye junto con una conexión de DSL, que es q. q es muy revelador hostil. Cuando un error, que acaba de elevar el tipo de error, sin ningún tipo de información en línea para que usted ancla, que aumentan la dificultad para la corrección de errores y el mantenimiento del código.

Alternativas a KDB+ I puede venir para arriba con:

  1. para dar al sistema orientado a columnas de almacenamiento, un K-V de la tienda obras, incluso una columna de almacenamiento de copia de RDBMS;
  2. para la función de memoria, un montón de implementación de código abierto de caché en memoria, como redis, memcached, etc.

La característica clave de la alternativa, creo, es que la API está escrito en C/C++estándar. Usted puede tener un montón de utilidades para facilitar su desarrollo.

12voto

smackaysmith Puntos 113

KDB es útil por dos razones: - Almacenamiento de datos; y el acceso fácil a los datos (es decir, la consulta de las garrapatas, etc..) Rico en lenguaje de consulta que admite muchos Quant funciones

sin embargo; lo que KDB no hacer el bien; es el cuantificador lenguaje de consulta.

He evaluado KDB, Matlab, y R. hasta ahora R es el ganador.

No he encontrado ninguna solución rápida para almacenar y recuperar datos; en comparación con el uso plana archivos binarios; los cuales están divididos por mes, y por la facilidad de acceso. Mi aplicación se puede leer de 1 millón de garrapata de datos en 3 segundos; y hacer backtesting en consecuencia.

para los comerciantes al por menor; le sugiero que utilice archivos planos (binario en lugar de texto; para una rápida lectura/escritura). MT4 estructura de datos es un buen ejemplo a seguir.

Es barato, gratis y rápido!!!

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