¡Necesito ayuda! No puedo resolver el problema, me encuentro con limitaciones de hardware - página 13

 
Candid:
Al parecer, uno de los resultados de un pasaje con una fecha es una nueva fecha.

Si la nueva fecha = la siguiente secuencia, bien. Si va de forma secuencial. Mierda, taptología. Quiero decir consecutivo.

Puedes leer el paquete de antemano, serán poco profundos.

Y ni siquiera el siguiente, a quién le importa. Indica y llama cuando sea necesario.

 
Urain:

a Komposter: Andrei, si estás atascado en el problema de la dimensión, significa que has cometido un error al formular el problema.

Aquí hay tres opciones:

1 Piénselo usted mismo

2 abrir el problema en un foro público

3 resolver el problema en privado (para todas las personas que creas que pueden resolverlo y en las que confíes para mantener el secreto).

Te explico lo que quiero decir: si guardas noticias, puedes escribir tangas de toda la noticia, o puedes hacer codificación de frases típicas (compresión), "saldo de cuenta" se convierte en 1, "patrimonio de cuenta" en 2, etc. Otra variante del problema típico es el deseo de rellenar los datos ya ordenados, para dimensiones grandes esto es la muerte, es más fácil añadir al final y hacer una ordenación condicional por índices.

Creo que está claro lo que quiero decir al afirmar que hay un error en el planteamiento del problema.

Me gustaría reflexionar sobre esta tarea
 
Dado que el problema es más bien académico (como una pregunta de solicitud de empleo para un programador) y que mucha gente ha mostrado interés en él, ¿por qué no formularlo más estrictamente en términos de formato de descripción de datos de entrada, y que todo el mundo pueda generar 20 Gig de datos de prueba y presentar su solución práctica?
 
¿Supongo que estamos hablando de un probador/optimizador casero?
 
joo:
¿Supongo que estamos hablando de un probador/optimizador casero?

No, es otra cosa.

Supongo que algún corredor/proveedor consiguió la base de datos del acuerdo. :)

 

Repetiré la tarea en términos simplificados

- Tomamos un grupo de órdenes en M minutos (operaciones X+Y)
- tomar X primeras operaciones.
- calcular algún criterio Kx (por ejemplo, beneficio=100 o algo así).
- comprueba las restantes ofertas Y del grupo. Si su criterio calculado Ky tiene una desviación no superior a D respecto a Kx, el grupo de órdenes nos encaja.

No sabemos qué hacer con este grupo de pedidos y probablemente nunca lo sabremos, es sólo información privilegiada :)

Quizá se trate de un concesionario que quiere perder clientes, o quizá sea al revés... un estudio de psicología.

 
sergeev:

Repetiré el problema en términos simplificados

- Tomar un grupo de pedidos durante M minutos (X+Y ofertas)
- tomar X primeras ofertas.
- calcular algún criterio Kx (por ejemplo, beneficio=100 o algo así).
- comprueba las restantes ofertas Y del grupo. Si su criterio calculado Ky tiene una desviación de no más de D respecto a Kx, entonces el grupo de órdenes nos encaja.

Y no sabemos qué hacer con este grupo de pedidos, y probablemente nunca lo sabremos, debido a la información privilegiada :)

Tal vez se trate de una empresa de corretaje que quiere drenar clientes, o viceversa...

Típico de un DB. Pero hay que agregar los datos... Puede escribir en una tabla separada los atributos únicos de una secuencia (fechas de los puntos c), el valor medio de los beneficios K y la varianza D y luego buscar las 10 mejores secuencias que se acerquen a los criterios que necesita. Con índices en estos campos, la búsqueda no tardará tanto (incluso en un millón de registros). Entonces, cuando obtengas las 10 secuencias necesarias, podrás buscar en los datos de origen, pero ya no serán un millón de búsquedas, porque tenemos un límite de fechas.

Sigue siendo un misterio: ¿qué hay que buscar? Si hablamos de tomar una decisión en términos de apertura/cierre de un pedido, cualquier procesamiento de tal volumen llevará bastante tiempo.

La única forma en que puedo ver la eficacia de dicho tratamiento es agregando los datos y utilizando un enfoque probabilístico.

Podemos calcular los coeficientes de correlación entre lo que tenemos y todo el historial de operaciones y "guardarlos" en el robot, sin utilizar DB en el futuro.

Hay otro punto. Si estamos hablando de operaciones, ¿quizás haya una razón para separar las operaciones de cada símbolo? Y escribir robots del mismo tipo diseñados para EURUSD, USDJPY, etc.

 
Por cierto, es una idea interesante... Se pueden generar tantas operaciones rentables como se quiera, analizando diariamente (High/Low) en minutos, y recordando la hora de los precios de apertura y cierre (en un archivo). Entonces escriba un Asesor Experto que lea el archivo, y cuando la fecha y la hora coincidan, abra/cierre operaciones, y ejecútelo en el probador. Lo hice para un cliente que quería promover las ventas de su robot. Y analice ya las operaciones de la misma manera )).
 
sergeev:

Creo que esta es la única manera de identificar una estrategia (o un conjunto de parámetros para un robot) que se ha utilizado para operar una secuencia determinada.

Me parece que de esta manera sólo podemos identificar la estrategia que se utilizó para operar (o un conjunto de parámetros del robot) de una secuencia determinada, y cambiar a ella en una determinada situación de mercado.

 
marketeer:
Puesto que el problema es más bien académico (parece una pregunta para contratar a un programador) y mucha gente mostró interés en él, ¿por qué no formularlo más estrictamente en términos de formato de descripción de los datos de entrada, y todo el mundo podría generar 20 gigas de datos de prueba y presentar su solución práctica?
Estoy de acuerdo. La tarea no es trivial, el interés es creciente.