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

 
Vladimir Perervenko:

Tuve una discusión con Renat en un hilo vecino sobre el destino del lenguaje R en MKL4/5. La solución y la dirección del desarrollo de MKL están ahora claras.

Buena suerte

Lo he leído, ni siquiera quiero escribir nada, si una persona no está dispuesta a escuchar no hay nada que le convenza, si quiere escribir 100 - 1000 líneas de código que hace tiempo que están escritas está en su derecho, mientras que yo prefiero hacer lo mismo con una línea en R.

Por cierto, es posible hacer un reto, hacer una tarea no trivial con algunos métodos estadísticos y luego enseñar y validar algún modelo, e implementarlo en R y mql5+alglib y sólo comparar el tamaño del código...

 
Vladimir Perervenko:

Tuve una discusión con Renat en un hilo vecino sobre el destino del lenguaje R en MKL4/5. La solución y la dirección del desarrollo de MKL están ahora claras.

Buena suerte

Para los que no hayan leído ese hilo, no se espera una interfaz directa de mql a R. Pero habrá acceso a la biblioteca Alglib portado a mql, por lo que el propio código mql puede construir árboles o neuronas, optimizar algo con la genética, buscar parámetros para las funciones mínimo/máximo. Todas las posibilidades -http://www.alglib.net

 
Vladimir Perervenko:

Tuve una discusión con Renat en un hilo vecino sobre el destino del lenguaje R en MKL4/5. La solución y la dirección del desarrollo de MKL están ahora claras.

Buena suerte



Entiendo la tendencia. Hacer que MT4 sea amigable con R es posible. Y MT4 sigue siendo muy común ahora mismo. Si coges una buena dependencia en P puedes enseñar fácilmente el modelo en la biblioteca de MT5 con los mismos parámetros.

 

Tengo una matriz `"P"` con observaciones (línea por línea) , para cada fila cuento la distribución a través de `hist()`.


descansos - set 50


A <- hist(P[n,],breaks = 50,plot = F)


pero resulta que en cada línea de la matriz `A$breaks` tiene una longitud diferente, a pesar de que la longitud de todas las líneas en `P` es la misma, cómo hacer para que `A$breaks` sean siempre del mismo tamaño

 

Si introduces un número en las pausas, el resultado se acercará a él, pero no necesariamente.

Para una coincidencia exacta, es mejor calcular de antemano los valores mínimo y máximo, e introducir su vector en el parámetro
A <- hist(P[n,],breaks = c(10:60),plot = F)

 
Dr.Trader:

Si introduces un número en las pausas, el resultado se acercará a él, pero no necesariamente.

Para una coincidencia exacta, es mejor calcular de antemano los valores mínimos y máximos e introducir su vector en el parámetro
A <- hist(P[n,],breaks = with(10:60),plot = F)


lo he intentado, pero por alguna razón falla

> A <- hist(P[1,],breaks = с(10:60),plot = F)
Error in hist.default(P[1, ], breaks = с(10:60), plot = F) : 
  could not find function "с"
> A <- hist(P[1,],breaks = 10:60,plot = F)
Error in hist.default(P[1, ], breaks = 10:60, plot = F) : 
  some 'x' not counted; maybe 'breaks' do not span range of 'x'
 

Sobre el primer error - parece que he escrito c en ruso en lugar de c en inglés :) Corregido mi post anterior ahora.

Segundo error - P[1,] contiene valores inferiores a 10 o superiores a 60. Tenemos que elegir las pausas de tal manera que se incluyan todos los valores de P[1,]

 
Dr.Trader:

Sobre el primer error - parece que he escrito c en ruso en lugar de c en inglés :) Corregido mi post anterior ahora.

Segundo error - P[1,] contiene valores inferiores a 10 o superiores a 60. Hay que elegir pausas para incluir todos los valores de P[1,].


Por desgracia, no lo entiendo(

aquí hay un ejemplo sencillo

rn <- rnorm(100)
H <- hist(rn, breaks = 50, plot = F)
length(H$breaks)

¿Necesitoque la longitud (H$breaks) sea siempre 50?

 

Primero tenemos que determinar el número mínimo en rn. Digamos -4. Entonces el número máximo posible: +4.

La forma más fácil de llamar a esta función es hacer que el histograma vaya de -4 a +4:
H <- hist(rn, breaks = c(-4:4))

Ejemplo con error:
H <- hist(rn, breaks = c
(-1:1))
breaks está limitado de -1 a 1, por lo que si rnorm() produce un número menor que -1 o mayor que +1, hist() generará un error.

A continuación, tenemos que crear un vector con números de -4 a +4, de modo que la longitud total del vector sea igual a 50. Esto se hace con la función seq():
seq(-4, 4, length.out=50).

El resultado de seq() debe utilizarse en el histograma.
H <- hist(rn, breaks = seq(-4, 4, length.out=50))

 
Dr.Trader:

Primero tenemos que determinar el número mínimo en rn. Digamos -4. Entonces el número máximo posible: +4.

La forma más fácil de llamar a esta función es hacer que el histograma vaya de -4 a +4:
H <- hist(rn, breaks = c(-4:4))

Ejemplo con error:
H <- hist(rn, breaks = c
(-1:1))
breaks está limitado de -1 a 1, por lo que si rnorm() produce un número menor que -1 o mayor que +1, entonces hist() generará un error.

A continuación, tenemos que crear un vector con números de -4 a +4, de modo que la longitud total del vector sea 50. Esto se hace con la función seq():
seq(-4, 4, length.out=50).

El resultado de seq() debe utilizarse en el histograma.
H <- hist(rn, breaks = seq(-4, 4, length.out=50))

Muchas gracias, no tengo ni idea de esto de la econometría,

Creo que lo tenemos.

rn <- rnorm(100)
Max <- max(rn)
Min <- min(rn)
range.vector <- seq(Min, Max, length.out=50)
H <- hist(rn, breaks = range.vector)
length(H$breaks)

[1] 50