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

 

(des)por cierto, o aquí de nuevo hay una auto-glorificación general de los resultados teóricos :-))

todo el mundo sabe que en la mayoría de los casos la formación y las pruebas se llevan a cabo prácticamente para BO, pero usted está tratando de utilizarlos en Forex ... y las reglas de negocio de introducción son inicialmente mezclado y confundido. Uno de los malditos matices

 
Maxim Kuznetsov #:

(des)por cierto, o si no aquí vuelve a haber autoglorificación general de los resultados teóricos :-)

todo el mundo sabe que en la mayoría de los casos la formación y las pruebas se llevan a cabo prácticamente para BO, pero usted está tratando de utilizarlos en Forex ... y las reglas de negocio de introducción son inicialmente mezclado y confundido. Uno de los malditos matices

¿BO es qué? Lo que usted utiliza a menudo y abrevia - otros no lo utilizan y no tienen ni idea de lo que quiere decir. Los autores normales escriben en su totalidad la primera vez y muestran la abreviatura, luego siguen las abreviaturas.

 
Maxim Dmitrievsky #:

algo así como

Para la vida de mí, no veo ninguna razón para convertir los datos en una matriz kor.


Aquí está una comparación de lo que el algoritmo verá cuando busca patrones en filas regulares con características y en una matriz cor con características.

No veo ninguna ventaja...

#  признаки
set.seed(1)
x <- sample(1:5,1000,replace = T)
X <- embed(x,5)[,5:1]

#  кореляционная матрица
corX <- cor(t(X))

#  снижение размерности для визуализации
um_corX <- umap::umap(corX)$layout
um_X <- umap::umap(X)$layout

#  кластеризирую чтобы оценить кластера близких точек
db_corX <- dbscan::hdbscan(um_corX,minPts = 5)$cluster
db_X <- dbscan::hdbscan(um_X,minPts = 5)$cluster

par(mfrow=c(2,1), mar=c(2,2,2,2))
plot(um_X, col= db_X, main="поверхность обычныой матрицы с данными", pch=20,lwd=2)
plot(um_corX, col= db_corX, main="поверхность корреляцонной матрицы", pch=20,lwd=2)


Cambié los datos a algo similar a series de tiempo, el resultado es el mismo.


 
Maxim Dmitrievsky #:

algo así como

Así que busca patrones en un conjunto de datos normal con signos, sin matriz cor., el resultado será el mismo, casi garantizado.


P.D. Y por qué he dedicado tanto tiempo a esto... Podría haberlo visto en YouTube...

 
mytarmailS #:

Así pues, basta con buscar patrones en un conjunto de datos normal con características, sin una matriz cor., el resultado será el mismo, casi garantizado


P.D. Y por qué gasté tanto tiempo en todo esto... Podría haberlo visto en YouTube...

Ah, ya está.

 
Maxim Dmitrievsky #:
Oh, todo el mundo

de acuerdo

 
mytarmailS #:

de acuerdo

ir a ver YouTube ))

 
Forester #:

¿BO es qué?

Yo tenía la impresión de que en el sitio es una abreviatura bien establecida : BO - opciones binarias. Curvas/pendientes/derivadas pero se trata de cuentas atrás discretas y + - en ellas. Algunas de las reglas de negocio introductorias provienen de opciones. Y otras no, lo que resulta en un perejil que no funciona ni aquí ni allá.

En respuesta a mi tocayo: Estoy a favor de MO y de cualquier movimiento. Pero simplemente si no hay ningún resultado durante mucho tiempo, es necesario buscarlo - tal vez algo no está planteado inicialmente de la manera correcta. Nunca he visto ni siquiera una demo "hecha usando Machine Learning" en un tema. La búsqueda metódica implica también la crítica (preguntas/comentarios a)la base.

 
Maxim Dmitrievsky #:
Desbordamiento de memoria en TFs pequeños. La memoria se desborda con 16 osu y archivo de intercambio (swap en un mac) 30gig. Por ejemplo, hay una matriz de correlación de 50k por 50k.

Al parecer, algunas peculiaridades de Python, porque el algoritmo es el mismo en MQL.

  1. Ejecutar en el 1d-array de Pos-variable.
  2. [Pos-n, Pos] - otro patrón.
  3. Aplicamos algo similar a este patrón y 1d-array.
  4. Encontramos situaciones en las que MathAbs(corr[i]) > 0.9.
  5. En estos lugares miramos m barras por delante del comportamiento del precio y lo promediamos.
  6. Encontramos muchos lugares y los promediamos bien? - guardamos los datos del patrón (valores del paso 2).
  7. Pos++ y en p.2.

Esta es una variante frontal. Es aún más rápido con un tamiz.


Supongamos un millón de barras. La longitud de la cadena es 10. Entonces 1d-array para 10 millones de valores dobles es 80 Mb. punto 3. - Pues bien, que sean 500 Mb en términos de consumo de memoria. ¿Qué es lo que no he tenido en cuenta?

 
fxsaber #:

Debe ser alguna peculiaridad de Python, porque el algoritmo es el mismo en MQL.

  1. Corremos a través de la 1d-array de Pos-variables.
  2. [Pos-n, Pos] - otro patrón.
  3. Aplicamos algo similar a este patrón y 1d-array.
  4. Encontramos situaciones en las que MathAbs(corr[i]) > 0.9.
  5. En estos lugares miramos m barras por delante del comportamiento del precio y lo promediamos.
  6. Encontramos muchos lugares y los promediamos bien? - guardamos los datos del patrón (valores del paso 2).
  7. Pos++ y en p.2.

Esta es una variante frontal. La criba es aún más rápida.


Supongamos un millón de barras. La longitud de la cadena es 10. Entonces 1d-array para 10 millones de valores dobles es 80 Mb. p.3. - Pues bien, que sean 500 Mb en términos de consumo de memoria. ¿Qué es lo que no he tenido en cuenta?

La correlación de la matriz de todas las filas a todas las filas se considera muchas veces más rápido que los ciclos (1 fila a cada otra fila) o incluso un bucle (1 fila a todas las filas). Hay algún tipo de aceleración allí debido al algoritmo. Lo comprobé en la versión alglib del cálculo de correlación.