Buenas tardes, me gustaría obtener un datafeed para probar estrategias cuantitativas con profundidad de mercado y sucesión del orderbook. He desistido de intentar encontrarlo por internet a la media hora, por lo que lo único que se me ocurre es pillar una raspberry pi o un VPS y a recopilar la información con un data feed en tiempo real con API utilizando python. ¿Alguien lo ha intentado alguna vez? Echaría 6 meses en el mercado para tener algo con lo que trabajar por lo que me gustaría tenerlo lo antes posible funcionando para en junio tener los históricos listos para buscar ventaja de alta cadencia. ¿Alguien con experiencia en el campo? ¿Alguna idea de como comenzar con la minería de datos?
Gracias y un saludo
Esta claro que no lo encuentra, yo tampoco se lo voy a mandar.
🙁
Muy bien, Usted se parece mucho a mi, no le voy a mandar codigo, pero lo que quiere lo he echo en otras bolsas, le dare un par de consejos.
La primera pregunta que hay que responder es si quiere RT, de momento.... supongo que se conformaria con 15 min. delay. Lo importante no es cazar los datos, sino lo que viene detras. Si funciona con delay, funcionara en RT, ademas se aprende ....
Los standares que he encontrado son 2: directo de web (una pagina que manda datos en streaming), o bien con lightstreamer.
Busca una pagina web que de el orderbook (5+5, o 10+10), y a buscar como vienen los datos. wireshark es tu amigo, lo vas a conocer muy muy muy bien, te lo aseguro. Al igual que el codigo fuente de las webs (mozilla es tu amigo igualmente).
El directo(streaming) es el mas facil, normalmente espera un push de la accion que tu quieres (un estilo a ESxxxxxxxxxxx@codigo-de-mercado, o bien un alias aliasdelaaccion@codigo-de-mercado) y a continuacion empieza a mandar datos. Suele tener una cabecera, y los datos van preparados para ser parseados en java-script. /{campo-name#valor;campo.......}/
Para lightstreamer, lease los manuales, hay push de cookies, o con login/pass
🙁 y manda de vuelta campos y valores. Algunas veces todos, y otras veces solo las modificaciones. Aqui hay que hincar codos!!! y tener buffers para actualizar.
Para ambos, analizar lo que viene de vuelta 99% de lo que he visto no es plain text, sino gz (comprimido)
Pues eso wget con cookie blblablalba| gz -|
A partir de ahi, cual es el siguiente programa??? pues un bison (muuuuuuuuuuu!!!!) analisis sintactico y poner los campos de una forma mas legible. a veces yo antes de bison lo separaba en campos (mas que nada para pasarlo directamente a mysql). NO OLVIDAR ELIMINAR LA CABECERA DE STREAMING.
Separar en 2 pipes, uno a fichero (backup) y el otro a analisis wget |gzip|bison >/fich ->|analisis
En Windows ni se me ha ocurrido hacerlo, con un pequeno ordenador de 1ghz era capaz de cazar casi todo dax mdax sdax en un micro-linux
Problemas:
Las webs con delay mandan 2 feeds: una con ticks, y la otra con orderbook (o una con todo, pero descoordinada). Aqui amigo, si amigo, aqui es donde vienen los problemas ..... porque a pesar de que en los feeds suelen mandar tambien timestamps, hay que hacer que ambos se coordinen, porque los feeds son 99,9999999999999% de las veces de 1 segundo, y ahi vas a encontrar en un segundo, un orderbook (con quizas muchos cambios) y un tick. Y te preguntaras?????? Que fue primero la gallina o el cigot. Aqui vas a sudar, pero bien, amigo, como todos hemos sudado. Tambien vas a aprender muchisimo, como los disparos automaticos de los SL o los SP, que es seguramente uno de las cosas que a Usted le interesa .....
😉 pero aprendiendo esto y como funcionan realmente las maquinas de la bolsa, la oferta y demanda, la antigüedad de la orden de compra o venta, las diferentes tipos de ordenes, lo volumenes, los limites, etc etc. lo podra ordenar todo, o casi todo. A veces no se puede ordenar todo, pero >95% lo podra hacer. E incluso reordenar todo para conocer (mas o menos) los tamanos de las ordenes originariamente.
Espero haberle ayudado, aunque solo sea a centrar las ideas y dar un par de pistas, que SE que le ayudaran. Es posible, pero hay que currarselo mucho. Lo que yo he escrito solo es ganar datos, luego viene el trabajo "de verdad" que es analizar los datos. Haga las cosas modulares, y vera que es mas facil, ademas podra adaptarse a otras webs facilmente.
Un ultimo consejo, y el mas importante, NO MACHAQUE las paginas webs, ellas le mandaran los datos, NO FUERCE con reloads, deje que ellos le manden los datos de la feed. Siempre pop nunca re-push.
Le deseo mucho exito, y que aprenda mucho, creando buenos algoritmos, y lo mas importante, estrategias de inversion rentables.
🙂 He conocido gente que no lo ha logrado, pero aqui lo importante es hacer el camino, porque se gana mucho conocimiento a nivel de muy corto plazo (como hacen para salir de aqui a muy muy corto plazo). Mas o menos que hacen los algoritmos, pero no hay que olvidar de que esto es una vision micro-cortoplazo, un fondo no trabaja asi, hay trucos micro-plazo y luego ya te vas a los minutos, pero un minuto es eterno, y estas maquinas hacen muchas cosas.
Como no somos maquinas es interesante ver como hacen esto tan rapido, pero lo importante, lo realmente importante es hayar una base estadistica, e ir a otros TF para buscar estrategias que nos den dinero.
Saludos