Bueno, lo primero es lo primero
Quiero desearle a Ajetreo que se recupere lo mas rapido y que no le quede nada.
2.- No soy ninguno de esos trolls ni clones de gente que aqui escribe (por cierto todavia no se que es un trol).
3.- No se quejen de mi bruttttaaaalllll entrada alcista, algunas de las personas que echaban de menos han vuelto a escribir un pequeño post.
Bueno, ahora al tema...
Estoy desarrollando desde hace algunos meses (bastantes) un sistema de bolsa basado todo en Opensource. (No, no quiero codigo, ya fabrico yo suficiente, ademas lo hago en
MI tiempo libre y no quiero corregir errores de otros :XX
Esta basado en linux, lex, flex, C (si C puro y duro) mucho mucho bash y procesos.
Hay un thin de entrada 1Gz 1Gb 1Gb CF y un pequeno disco duro (se lo puede meter uno en el bolsillo) y detras el resto (DB, etc)
La primera parte hasta la DB funciona integramente con feeds/pipes (bueno, un poco de FED ayuda tb.)
Lo he dividido en Layers
- Captura de datos raw. (proveedor de feed o si lo cargo de una pagina html)
- Conversion de raw (si es html, conversion a datos raw como si fuese una feed)
- Conversion a variables (muy simplificado ... que dato es que, una vez en variables posible ordenacion primaria (p.e. flag G,GG,B,BB)
- Ejecucion (pasarlo a la DB)
La ventaja de esto es que en todo momento puedo grabar los datos a disco (como yo quiero modulo-csv, modulo-SQL standard, ... o pasarlo a ejecucion a la DB), si algo no me gusta solo tengo que modificar un modulo o hacer uno propio.
salida modulo-CSV
DE000ENAG999|2012-10-01|09:01:00|18,42|18,42|18,42|18,42|200|128.394
DE000ENAG999|2012-10-01|09:01:00|18,42|18,42|18,42|18,42|300|128.194
DE000ENAG999|2012-10-01|09:01:00|18,42|18,42|18,42|18,42|110|127.894
DE000ENAG999|2012-10-01|09:01:00|18,42|18,42|18,42|18,42|150|127.784
DE000ENAG999|2012-10-01|09:01:00|18,43|18,43|18,43|18,43|150|127.634
DE000ENAG999|2012-10-01|09:01:00|18,43|18,43|18,43|18,43|600|127.484
blah blah
salida modulo-SQL orderbuch L2
INSERT INTO orderbuch VALUES(
0,
'DE0007472060',
'747206',
'WDI',
'Wirecard AG',
'XXXXXXXXXXXXXXXXXXXXX', (borrado con intencion)
'2012-11-29',
'12:44:53',
'1','111','18.8400','18.8600','396','2',
'1','134','18.8350','18.8700','200','1',
'1','200','18.8300','18.8750','200','1',
'1','200','18.8250','18.8800','515','2',
'5','3853','18.8200','18.8850','2505','2',
'1','1000','18.8100','18.8900','200','1',
'1','6754','18.8050','18.9000','1423','5',
'1','891','18.7700','18.9100','543','2',
'1','200','18.7650','18.9150','7188','2',
'1','1337','18.7550','18.9200','200','1'
);
INSERT INTO orderbuch VALUES(
0,
'DE000XNG8888',
'XNG888',
'O1BC',
'XING AG',
'XXXXXXXXXXXXXXXXXXXXX', (borrado con intencion)
'2012-11-29',
'12:44:53',
'1','800','43.9050','43.9800','199','1',
blah blah
Esto ya esta productivo. Al haberlo hecho modular y basado en feeds/pipes me da igual que sea tiempo real, 15min retraso u offline. Como lo primero que hice fue el modulo de grabar a disco los datos raw estan ahi, y los puedo procesar en el momento que quiera. Tuve el sistema unos 120 dias ininterrumpidamente en marcha y el resultado fue mas que bueno.
Por que me he dado de alta aqui?
Por que aqui cada uno piensa muy diferente Leoncios/gacelas, AT, Flujo de capitales, Intra-diario, tecnologia, Niveles, bueno, sin contar con esos cortilargos. Que me estan dando bastantes ideas al hacer los algoritmos en la base de datos.
No se cuando esto dara datos fiables, de momento estoy mejorando la entrada de datos (pierdo unos 5sec cada 7 u 8 dias de bolsa) y optimizando los triggers de la DB y los algoritmos, pero el que espere que esto de MM200=cambio->acomprarcomoloco, que lo olvide directamente.
La perdida de esos 5 sec me esta dando problemas porque rompe bastante el concepto de feeds, puedo recuperarlos, pero al hacerlo en tiempo real rompe el concepto de los layers ....
La cosa va ligera, como se puede ver, pero estoy ajustando todavia.
Ver archivo adjunto 53507
Ver archivo adjunto 53508
Ver archivo adjunto 53510
En cuanto a lo del lenguaje....., eeee hhh eeeee hhhh, que pasa con el lenguaje, cuando salga de bar voy a llamar a los arquitectos de la muelllllte y vais a ver lo que es bueno, pedazo de XXXXXXXXX.