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

 
mytarmailS #:

Aquí está el código para enseñar el Rendom Forrest con herramientas AO,

función de fitness (NUESTRO OBJETIVO) - encontrar un crecimiento del beneficio hermoso/estable, es decir, la máxima correlación entre la dinámica del balance y una línea recta de crecimiento ascendente


Aquí está el código de las funciones de cálculo de beneficios y FF



Aquí está el resultado, AO ha encontrado un objetivo tal para AMO que si operamos sus señales obtendremos un hermoso crecimiento de los beneficios


Si no es mucha molestia, ¿me puede dar este ejemplo en python?

 
¿Alguien sabe qué suele hacer el MO con los números no NAN?
¿Rechaza el conjunto de datos o se salta esas líneas y no las tiene en cuenta en los cálculos?

¿Y lo mismo con los números + - INFINITY?
 
Maxim Dmitrievsky #:
No hay manera de operar el arbitraje allí, si no son inicialmente cointegradas. Sólo se puede encontrar piezas por el tiempo, donde hay tales momentos. Y cuál es el punto de distorsionar las cotizaciones de símbolos, no se puede abrir operaciones en ellos.

Sólo estoy mostrando con el ejemplo de que no todo se puede expresar a través de un objetivo listo.

Maxim Dmitrievsky #:
Bueno, se obtiene un marcado al azar, que luego se comprueba en los nuevos datos. Es necesario seleccionar las mejores variantes de marcado a través de la misma genética. Pero esto significa cientos y miles de reentrenamientos de los modelos.

Así que esto es exactamente lo que se está haciendo, yo no quería complicar el ejemplo, quiero un mínimo de código, la máxima claridad.

Elvin Nasirov #:

Si no es difícil, ¿puedes dar este ejemplo en python?

en cuanto aprenda a escribir en python, lo traduzco enseguida))))

Forester #:
¿Alguien sabe qué suele hacer MO con los números que no son NAN?
¿Rechaza el conjunto de datos o se salta estas cadenas y no las tiene en cuenta en los cálculos?

¿Y lo mismo con los números + - INFINITY?

Es una pregunta extraña, todo depende de la implementación concreta de AMO

 
Elvin Nasirov #:

Si no es mucha molestia, ¿puedes dar este ejemplo en python?

elige alguna buena librería python con AO, aprende a trabajar con ella y entenderás enseguida lo que tienes que hacer.

 
Forester #:
¿Alguien sabe qué suele hacer MO con los números no NAN?
¿Rechaza el conjunto de datos o se salta estas cadenas y no las tiene en cuenta en los cálculos?

¿Y lo mismo con los números + - INFINITY?

R suele tener un argumento na.action que define qué hacer con ellos. Yo siempre he intentado evitar la necesidad de usarlo (al preparar los datos), así que no entiendo muy bien cuál es la forma correcta.

 
Aleksey Nikolayev #:

R suele tener un argumento na.action que define qué hacer con ellos. Siempre he tratado de evitar la necesidad de usarlo (al preparar los datos), así que realmente no entiendo la forma correcta.

¡¡¡Gracias!!! He leído y considerado la experiencia de otras personas trabajando con esto.
Creo que es mejor eliminar una columna si tiene un NAN en ella.
En mi caso, sólo 1 columna contenía varios cientos de NANs e INFs. Algo falló en la creación de la ficha.

Desechar filas, creo, es un error, porque se pueden utilizar en otras fichas en beneficio del resultado global.

 
Forester #:

Gracias. He leído y considerado las experiencias de otras personas trabajando con esto.
Creo que es mejor eliminar una columna si tiene NANs en ella.
En mi caso, sólo 1 columna contenía varios cientos de NANs e INFs. Algo falló en la creación de la ficha.

Desechar filas me parece un error, ya que pueden utilizarse en otras fichas en beneficio del resultado global.

Puedes interpolar o sustituir con una media
¿Estás escribiendo en R?
 
mytarmailS #:
Se puede interpolar o sustituir por la media

La sustitución por la media se utilizaba en estadística cuando simplemente no había datos, entonces se sustituía por la media. Utilizaban NAN como falta u omisión de datos - necesitaban marcar este momento de alguna manera - decidieron utilizar NAN para este propósito con la subsiguiente sustitución por la media.

Tengo NAN - hay un error en la preparación de los datos y obtengo por ejemplo después de /0 (pero a veces obtengo + - INF). No necesito considerar los datos erróneos como normales o incluso medios.
Los errores deben corregirse (imprimo que la columna contiene NAN y falta). Aunque ¿quién lee estas impresiones...? )))

 
Forester #:

La sustitución por la media se utilizaba en estadística cuando simplemente no había datos, entonces se sustituía por la media. Usaban NAN como falta u omisión de datos - necesitaban marcar este momento de alguna manera - decidieron usar NAN para este propósito con la subsiguiente sustitución por la media.

Tengo NAN - hay un error en la preparación de los datos y obtengo por ejemplo después de /0 (pero a veces obtengo + - INF). No necesito considerar los datos erróneos como normales o incluso medios.
Los errores deben corregirse (imprimo que la columna contiene NAN y falta). Aunque ¿quién lee estas impresiones...? )))

Bueno, entonces no hay nada que preguntar, ¿qué se puede hacer sino tirarlo?


Por si acaso, un ejemplo de sustitución de NANs, ya que he escrito un ejemplo.

m <- round(matrix(rnorm(100),ncol = 5,nrow = 10),2)
m[ sample(1:nrow(m),5,replace = T) , sample(1:ncol(m),5,replace = T) ] <- NaN
m

[,1]  [,2]  [,3]  [,4]  [,5]
 [1,] -1.17 -0.10 -0.22 -1.49 -1.23
 [2,]   NaN   NaN  0.85   NaN -2.13
 [3,]  0.60  0.06  1.50 -0.31  0.05
 [4,]   NaN   NaN -0.41   NaN -0.43
 [5,]  1.17  0.86 -0.51  1.43 -0.07
 [6,] -0.44  0.79 -0.61  0.68  0.11
 [7,]  0.85  0.74  0.31 -1.16 -0.38
 [8,]   NaN   NaN  1.09   NaN -0.36
 [9,]   NaN   NaN -0.58   NaN -1.27
[10,] -0.19 -0.42  0.07  0.31  1.92

y solución

library(imputeTS)
m2 <- round(apply(m,2,na_ma),2)
m2

 [,1]  [,2]  [,3]  [,4]  [,5]
 [1,] -1.17 -0.10 -0.22 -1.49 -1.23
 [2,] -0.14  0.12  0.85 -0.57 -2.13
 [3,]  0.60  0.06  1.50 -0.31  0.05
 [4,]  0.49  0.49 -0.41  0.27 -0.43
 [5,]  1.17  0.86 -0.51  1.43 -0.07
 [6,] -0.44  0.79 -0.61  0.68  0.11
 [7,]  0.85  0.74  0.31 -1.16 -0.38
 [8,]  0.37  0.51  1.09 -0.14 -0.36
 [9,]  0.14  0.14 -0.58  0.04 -1.27
[10,] -0.19 -0.42  0.07  0.31  1.92
 
mytarmailS #:

Bueno, entonces no hay nada que preguntar, nada que hacer salvo tirarlo.


Por si acaso, un ejemplo de cómo reemplazar NAVs, ya que ya he escrito un ejemplo.

y la solución

Gracias, quizás el código le sea útil a alguien.