cls escribió:Intervengo aquí porque se me ocurre que es un buen lugar para pedir ayuda en este tema, pero si X-Trader quiere cambiarlo de sitio, adelante.
Hace unos meses participé en una colaboración con unos data miners que investigaban series de precios + delta (volumen de órdenes a mercado: ask-bid). Lamentablemente no tuve contacto directo con ellos aunque yo les suministraba los datos, pero sí se me dijo que habían obtenido resultados espectaculares con sus pruebas de minería. Para más lamento, los mineros se esfumaron y el proyecto se detuvo. Lógicamente me quedé con las ganas de haber implementado un sistema para ver si los resultados prometidos se cumplían.
Me puedo considerar un programador no excesivamente malo y automatizar casi cualquier cosa, pero de minería de datos y demás temas relacionados no soy experto y me llevaría unos cuantos meses dar los primeros pasos y no digo ya adquirir la suficiente experiencia para analizar profesionalmente y con garantía estas series de datos.
Así que si algún experto en estos temas quisiera analizar series con estas características (en realidad son series más completas ya que incorporan lecturas de liquidez) por si pudiera encontrar patrones explotables o predicciones, pues encantado de proporcionar todos los datos necesarios y programar un sistema para beneficio mutuo.
Pongo una imagen del indicador del que obtendría los datos. Las series serían las del resumen inferior, donde están los datos de level1 o demanda: ask, bid, delta, así como del level2 u oferta: abastecimiento/retirada de limitadas en el bid y en el ask. Y aparte también el ohlcvt de todas las barras.
Es decir, que se dispondría del precio (ohlc) y de todas las fuerzas (oferta vs demanda) que están actuando en cada barra. Igual me equivoco, pero si de aquí no sale algo bueno, no sale de ningún sitio. Quiero decir, que está muy bien analizar sólo el ohlcv como hacen la mayoría de estudios (hasta ahora no he encontrado ningún paper de bigdata o machine learning que se base en poco más que el close), con resultados dispares por cierto; pero con el ohlc sólo se analiza el efecto. Analizando la oferta+demanda estaríamos analizando las auténticas causas que provocan los movimientos del precio.
La serie podría estar formada por registros con una estructura similar a ésta (para cada barra un registro):
open;high;low;close;volume;time;demandBid;demandAsk;supplyBid;supplyAsk
time: tiempo de desarrollo de la barra. Ya que suelo trabajar con barras de rango, este time es variable.
demandBid: volumen de todas las órdenes a mercado de venta en la barra.
demandAsk: volumen de todas las órdenes a mercado de compra en la barra.
supplyBid: indica el comportamiento de las órdenes limitadas en el BestBid. Si es positivo, es que se ha abastecido indicando sentimiento alcista. Y si es negativo, se ha retirado liquidez indicando sentimiento bajista.
supplyAsk: indica el comportamiento de las órdenes limitadas en el BestAsk. Si es positivo, es que se ha abastecido indicando sentimiento bajista. Y si es negativo, se ha retirado liquidez indicando sentimiento alcista.
omega: valor global de la interacción demanda vs oferta. Si es positiva, sentimiento alcista y bajista si es negativa.
Por ahora la liquidez sólo la contemplo en el ladder 0 del orderbook, en la horquilla, pero también se podrían añadir más ladders.
He echado un vistazo al ecosystem de R y de librerías de Python en estos temas y un mundo se queda pequeño. Así que lo dicho, si alguien ya conoce estos temas y tiene interés en hacer el análisis que me contacte y lo vemos. Gracias.
Hola cls,
Precisamente eso mismo que planteas es lo que tenía pensando hacer para mi proyecto de fin de master. Yo soy Ingeniero Informático y además estoy cursando un master de Big Data y Data Science para Finanzas en un escuela de Finanzas. La idea que tenía para mi proyecto de fin de master era hacer data mining y machine learning sobre el level I y level II, justamente el gráfico de footprint que pones. También soy de los que piensa que si allí no encuentras un edge no lo encuentras en ningun sitio ya. Por eso tenía mucho interés en hacerlo sobre esos datos que son los que finalmente componen el precio, y no hacerlo directamente con el precio que es lo que hace la mayoría sin grandes resultados.
Opero todos los días con cuenta real el futuro ES tomando las decisiones a través del análisis bid/ask.
Soy de Madrid, si estás interesado y te gustaría que trabajásemos juntos en este proyecto, podemos verlo.
Obviamente si sacamos algo interesante no sería para presentarlo para mi trabajo de fin de master, eso nos lo quedamos para nosotros
a ellos le presentaré la versión capada o algo así.
Mis conocimientos de Data Mining, Machine Learning entre otros... ahora mismo son pocos. No soy ningún experto de momento. Pero te puedo garantizar que voy a ir subiendo como la espuma en los próximos meses. Pero una gran diferencia entre yo y un experto en Data Mining a secas, es precisamente que este último probablemente no conozca el comercio, y no entienda ni si siquiera un gráfico de footprint. Es muy importante para la persona que estudie el asunto en cuestión sea un gran conocedor del negocio sobre el que está tratando de hacer data mining. Yo conozco el comercio, al igual que tú, además inclusive ya tengo localizados algunos patrones sobre gráficos footprint que creo que son tan evidentes que un estudio de data mining sobre los datos correctos los sacarían a la luz.
Un error muy común es considerar sólo como datos las órdenes a mercado, debemos meter también las órdenes limitadas para hacer un correcto análisis. Efectativamente, es justamente lo que comentabas level I + level II.
Con esto ya tenemos los datos reales que van componiendo el precio que luego vemos en nuestros gráficos.
Los dos queremos hacer lo mismo, si te interesa mándame un PM, y vemos que a que acuerdo llegamos.
Incluso en mi cabeconería de tener la mejor data me estuve planteando de contratar este servicio de CME, echale un ojo porque alomejor nos interesa esto más que los que podemos sacar nosotros de nuestro proveedor de datos, en mi caso CQG
http://www.cmegroup.com/market-data.html
Yo ya empecé con la primera parte del proceso. Que es el preprocesado de la información, estoy intentando pasar los datos de mi GomRecorder (Gom VolumeLadder) a un fichero entendible para cargarlo luego desde R o Python.
Saludos