Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 172

 
SanSanych Fomenko:

PS.

Para los partidarios acérrimos de la ACM, observo que sin todas esas acciones y herramientas comentadas en este hilo, el probador no da ninguna razón para especular sobre el comportamiento futuro del sistema de comercio. El probador dice: "Estos son los resultados para este periodo de tiempo". Eso es todo. El probador da exactamente una cifra, por ejemplo, el factor de beneficio que está relacionado con un determinado período de la historia. Y sólo se pueden obtener estadísticas en R. Y el probador es la parte final del diseño del modelo, pero no sustituye a todo el proceso de desarrollo.

¡Tonterías y disparates!

El probador dará exactamente eso y lo que se le pidió. ¿Preguntaste por el factor de beneficio? - aquí está el factor de beneficio. Si pedimos algo más o varios, también habrá una respuesta para ello. Y las estadísticas se pueden obtener llamando aTesterStatistics() enOnTester(), y todo esto ha estado disponible durante mucho tiempo. Se puede añadir cualquier otra estadística si es necesario.

Tu R tampoco podrá responder si no tienes nada o no sabes qué preguntar.

 
Dr.Trader:

Por ejemplo, usted hizo una validación en una muestra diferida. Supongamos que el modelo de los datos diferidos se ha fusionado. ¿Qué hacer en este caso? Si empieza a ajustar los parámetros de nuevo para pasar la validación en la muestra pendiente, está incluyendo esencialmente los datos de la muestra pendiente en su validación cruzada, y la validación cruzada se ajusta también. Esto puede corregirse añadiendo una nueva muestra diferida. ¿Y si el modelo falla también en eso? ¿Debemos ajustar los parámetros para pasar también el nuevo muestreo retrasado? Es una carrera sin fin.

Incluir una muestra diferida en la validación cruzada y crear una nueva muestra diferida no es la respuesta, sino un bucle interminable hasta que tengas suerte y el modelo pase la validación diferida. Entonces puedes dejar de hacerlo, pero esto no es una solución de forex, es sólo la suerte que te sonríe, que sin embargo estadísticamente sería una sangría.

Así que la pregunta es: digamos que el modelo de los datos pendientes ha caído en picado. ¿Qué se hace en este caso?

Dr.Trader, intentaré explicarlo con una imagen. No te preocupes, es un tema complejo, pero tiene solución. No debe hacer lo que sugiere o se producirá un círculo vicioso.

Y una cosa más, poco a poco iré cerrando la actividad en este hilo. Me estoy cansando del foro. Mejor en privado y con ejemplos.

Así que:

Selección de modelos para la predicción y negociación de series temporales con ruido

Paso a paso:

Aprendizaje del modelo - el modelo muestra características granuladas

Prueba de un modelo: los modelos ya tienen un rendimiento notablemente peor. Pero hay algunos modelos que funcionan bien.

Este es el punto en el que hay que seleccionar los modelos. Usted y yo elegimos los modelos que mejor funcionan en la prueba (pueden ser bloques de validación en la validación cruzada). Y enseguida queda claro que si elegimos un modelo por periodo, donde ya se conoce su característica, estamos haciendo una elección optimista.

Si tenemos una validación cruzada (los datos de los diferentes modelos están mezclados) no podemos convertirlos en un comité en la prueba (la prueba es mixta). En cambio, se toman los "mejores" modelos seleccionados en la prueba y se prueban en una muestra retrasada. ¿Qué esperamos ver? Dado que en la aplicación real nos basaremos en el rendimiento de los modelos en bloques de validación cruzada (o en una sola prueba, si no queremos molestarnos con la validación cruzada), necesitamos saber si los mejores modelos seleccionados mostrarán un rendimiento similar en el futuro (en la muestra diferida 1). Si hay una relación, ya es muy buena. En esencia, podemos detener el estudio en este punto y seleccionar los mejores modelos mediante validación cruzada en el futuro.

Pero si todavía queremos hacer un comité, tenemos que pensar qué modelos seleccionar para el comité. Lo hacemos en la muestra retrasada 1, pero no sólo al azar. Una vez más, recordamos que en la vida real sólo nos basaremos en los datos de las pruebas (los últimos de los que disponemos). Así que incluiremos en el comité uno por uno los modelos que muestren los mejores resultados en la PRUEBA. Maximizamos el rendimiento de la comisión en la muestra retrasada.

En este punto está sujeto al sesgo de selección de modelos múltiples, porque estamos evaluando la elección del comité sobre datos cuya característica ya se conoce.

La muestra final es necesaria para validar el comité.

Si en el paso de validación de los modelos seleccionados (en la prueba) en la muestra retrasada vemos que las características de los modelos son flotantes, esto ya es fatal, porque no tenemos la oportunidad de seleccionar el modelo en la prueba. En este paso tenemos que cambiar algo en el enfoque.

Si el comité reunido cae en picado en la última muestra diferida (se trata de una prueba única), entonces el ajuste del comité a la muestra anterior se ha producido.

Repetir todo el procedimiento con diferentes parámetros, logrando la maximización de la caract. en las muestras finales diferidas es imposible, ya que esto también sería una elección optimista de los modelos.

Si incluso todo ha funcionado bien en las muestras diferidas (es decir, hemos minimizado el sesgo de selección del modelo), generalmente es bueno repetir en un bucle con los mismos parámetros todo el procedimiento y obtener la distribución del trabajo del comité en la última muestra. Pero está claro que cada vez necesitamos datos diferentes (al menos parcialmente). Y esto ya es muy caro...

Por favor, recuerde este esquema. Lleva su estimación de comercio en tiempo real a un posible absoluto.

 
En el pasado, cuando Neurochel era joven y estaba disponible, se utilizaba el comercio en papel. Espero que todo el mundo sepa lo que es, pero cuando se trabaja en tiempo real TS comenzó a filtrarse, y entonces se decidió no utilizar un pedazo de papel de comercio, y entrenar la red, mientras que deja un pedazo de real para evaluar la corrección de la red. Actualmente estoy haciendo lo siguiente: borro un día, que es el último en cuanto a volumen e interés abierto. Por lo que???? ha visto a menudo un gráfico de este tipo, que en el principio después de la optimización de la TS se desplomó un poco, y luego comienza a dar señales bastante decente. Por eso quito un día que ya conozco, y el TS empieza a operar a partir del día siguiente.... Me estoy volviendo bastante bueno, no sin errores por supuesto, pero todavía aceptable para los beneficios...
 
Mihail Marchukajtes:


Todo esto es cierto, pero este patrón es muy barbado, todo el mundo lo sabe desde hace mucho tiempo, así que...

Y ahora el clasificador más sencillo lo hubiera encontrado, para una serie esta interpretación de precio, volumen y OI no son datos suficientes, se necesita al menos un libro de órdenes y una tira con direcciones de operaciones, y en el caso del forex, como esta información no existe, hay que tomarla de los mercados de futuros líquidos occidentales.

 
¿Has pensado alguna vez en que si la red está alimentando los patrones que habrá en el futuro? La cuestión es cómo encontrarlos, qué días debes elegir para entrenar a la red para saber que en el día actual estos patrones estarán ahí. Aquí está la respuesta. Seleccionamos los días que tuvieron el volumen actual y la OM, respectivamente, con la esperanza de que el contexto del día sea similar al de los días que estaban en la muestra de entrenamiento. No envío los valores de volumen y OI a la entrada de la red, sólo elijo estos días, y la entrada es AD, Zscore, Kelli, etc. En otras palabras, la idea es seleccionar ese conjunto de patrones en la historia y la reacción del mercado a ellos, como en el día actual. Si hay teorías sobre este tipo de selección utilizando otras técnicas, me encantaría escucharlas....
 
BlackTomcat:
Las personas inteligentes, desarrollan y entrenan redes neuronales, pero no ven las cosas simples. He leído tu post y me ha sorprendido bastante. Si lo he entendido bien, tú, a grandes rasgos, has encontrado todas las bajadas de precio del 0,2% después de algún máximo, luego has cogido tres velas cercanas a ese máximo y has realizado algunas manipulaciones con sus precios y finalmente las has reducido a una determinada probabilidad con la red neuronal. Pero, disculpe, ¿no cree que ese enfoque es demasiado primitivo? :) Estás cavando en todos los lugares equivocados. Por eso el resultado es el opuesto a la realidad. Yo caracterizaría tu enfoque de esta manera: estás tratando de tomar 3 píxeles de una imagen FullHD y en base a esos tres píxeles puedes hacerte una idea de la imagen completa. De acuerdo, no toda la imagen, pero ¿cuál es la probabilidad de predecir correctamente al menos el 10% del área de la imagen? Espero que mi ejemplo sea claro. No hace falta mirar los píxeles para ver la imagen. En otras palabras, no es necesario mirar las barras individuales para entender el gráfico, sino que hay que mirar todo el gráfico . Y la solución del problema se encuentra más en el ámbito de la geometría que en el del álgebra, la física o la biología, por ejemplo. Aunque, cuando leo algunas de las investigaciones que la gente hace aquí, tengo la fuerte sensación de que están tratando de comprender la estructura humana utilizando la geografía. :)

+1

Yo ni siquiera diría "gráfico", pero los gráficos además de los precios...

La analogía sobre los 3 píxeles y el HD, es muy relevante en mi opinión para lo que la mayoría de la gente hace aquí.

 

Andrey Dik:

O incluso alguien dirá: "¡No sabes cocinar MO!" - Probablemente sí, no puedo. ¿Pero quién sabe cómo? ¿Quién ha podido utilizar la MO en el mercado?

Y no eres el único, es NORMAL, no es normal que cuando funciona y tal no se vendan cursos sobre "trading de éxito", no se dediquen a las sociedades y demás tonterías, y llamen a algún sitio como https://www.rentec.com/Jobs.action?data=true si no hay ganas de molestarse en reunir capital para el trading algorítmico))
Renaissance Institutional
Renaissance Institutional
  • www.rentec.com
RENAISSANCE TECHNOLOGIES, a quantitatively based financial management firm, has openings for programming positions at its Long Island, NY research center. Programming Opportunity We are looking for bright, outstanding programmers who are interested in working in a stimulating and academic environment to implement and support software used in...
 
Una vez más, creo firmemente que para que la NS funcione, necesita ser entrenada en los patrones que se producirán durante una operación (día, semana) y lo más importante, la reacción del mercado a esos patrones debe ser la misma que durante el período de entrenamiento. Entonces cualquier perseptrón hará el trabajo. La cuestión es cómo seleccionar el conjunto exacto de patrones que habrá en el transcurso del próximo día de negociación o de la semana ????? Así es como se hace, y no necesitarás inventar un NS supercomplejo ni nada por el estilo si la red se entrena en futuros patrones....
 
Mihail Marchukajtes:
¿Has pensado alguna vez qué pasa si alimentamos las redes con los patrones que habrá en el futuro? La cuestión es cómo encontrarlos. ¿Qué días debo elegir para enseñar a la red a saber que estarán en el día actual? Aquí está la respuesta. Seleccionamos los días que tuvieron el volumen actual y la OM, respectivamente, con la esperanza de que el contexto del día sea similar al de los días que estaban en la muestra de entrenamiento. No envío los valores de volumen y OI a la entrada de la red, sólo elijo estos días, y la entrada es AD, Zscore, Kelli, etc. En otras palabras, la idea es seleccionar ese conjunto de patrones en la historia y la reacción del mercado a ellos, como en el día actual. Si hay teorías sobre este tipo de selección utilizando otras técnicas, me encantaría escucharlas....

Así es exactamente como se hace, ¿de qué otra forma podría hacerse? En el caso trivial, el conjunto de datos de entrenamiento es una secuencia vectorial de incrementos normalizados de precio de volumen y OI, llamemos vectorSet[][] a una red neuronal o algún otro clasificador input =vectorSet [t][], teach output = vectorSet [t+1][]


Si entiendo bien la pregunta...
 
Mihail Marchukajtes:
La cuestión es cómo elegir exactamente ese conjunto de patrones que serán durante el próximo día de negociación o semana?????
Desgraciadamente no tengo derecho y francamente no quiero profundizar, ya que nos estamos robando dinero unos a otros)))) Pero hace 2 años, cuando trabajaba con SAM, procesaba más de 500 fichas a la entrada de la red neuronal y tenía unas 30 salidas, pero el tiempo pasa... ;)
Razón de la queja: