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

 
Maxim Dmitrievsky:

hay un separador de comas

primer centenar

segundo centenar.

No veo nada anormal.


hizo un corte así de las 5 a las 6


 
mytarmailS:

primer centenar

segundo centenar.

No veo nada anormal.


Hice un corte así desde las 5:00 hasta las 6:00.


pero mira las curvas a las 2 en punto de una vez.

Tengo un desvío entre las horas.

¿o hay 24 valores en cada uno?

 
Maxim Dmitrievsky:

pero mira las curvas en dos horas a la vez.

Tengo una inclinación entre las horas.

¿o hay 24 valores cada uno?

¡así es! 24 valores en cada...

12 marcas de 5 minutos de la 5ª hora y 12 marcas de 5 minutos de la 6ª hora forman una fila de 24 marcas.

 
mytarmailS:

¡así es! 24 valores en cada...

12 5minutos de la 5ª hora y 12 5minutos de la 6ª hora forman juntos una fila de 24 valores.

¿Qué pasa con los cientos? Dibujar todo a la vez, hay un desvío en alguna parte al final, creo.

 
Maxim Dmitrievsky:

Dibuja todo de una vez, creo que hay un desvío al final.

porque hay demasiadas líneas, no se puede ver nada...

aquí está todo.

-----------------------

Te has equivocado al crear el conjunto de datos para los clusters.

 
mytarmailS:

porque hay demasiadas líneas, no se puede ver nada...

aquí está todo de una vez.

-----------------------

Algo has fastidiado al crear el conjunto de datos para los clusters.

Lo tengo... gracias.

P.D. el número de horas en el conjunto de datos es diferente

Reloj de 5 horas: 139

6 horas: 140

Falta una hora o sobra una hora.

No sé por qué lo tienes claro, probablemente el propio paquete esté haciendo algo

solución: reindexar el dataframe a 5 min., añadir NaN en lugar de las barras que faltan. Haz fillNa en los valores más cercanos. Finalmente %)

 
¿Por qué NaN? El precio no ha cambiado - sustituye el precio de cierre de la barra anterior.
 
Maxim Dmitrievsky:

Lo tengo... gracias.

Yo también tengo un número diferente de 5 y 6, pero todo funciona bien, más o menos.

Vector con horas

hrs
   [1]  9  9  9  9  9  9  9  9  9  9  9  9 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11
  [32] 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 14 14
  [63] 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16
  [94] 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19
 [125] 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21
 [156] 21 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23  0  0  0  0  0  0
 [187]  0  0  0  0  0  0  1  1  1  1  1  1  1  1  1  1  1  1  2  2  2  2  2  2  2  2  2  2  2  2  3
 [218]  3  3  3  3  3  3  3  3  3  3  3  4  4  4  4  4  4  4  4  4  4  4  4  5  5  5  5  5  5  5  5
 [249]  5  5  5  5  6  6  6  6  6  6  6  6  6  6  6  6  7  7  7  7  7  7  7  7  7  7  7  7  8  8  8
 [280]  8  8  8  8  8  8  8  8  8  9  9  9  9  9  9  9  9  9  9  9  9 10 10 10 10 10 10 10 10 10 10
 [311] 10 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13


código - si son las 5 entonces toma el índice de ese lugar y añade 24 horas, esas toma las dos horas completas, y saca el resultado

for(i in 2:length(x$close)){
  
  if(hrs[i] == 5 & hrs[i-1] == 4){
    
    ii <- i:(i+23)
    
    print(  hrs[ii] )}

obtenemos

[1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
 [1] 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
......
.....
....

todo funciona correctamente, no sé qué pasa.

 
mytarmailS:

También tengo un número diferente de 5 y 6 en punto, pero funciona bien.

vector con hrs horas


si son las 5, entonces tomamos el índice de este lugar y le sumamos 24 horas, las que tardan dos horas completas, y sacamos el resultado

obtenemos

Todo funciona correctamente, no sé qué tiene de malo.

¿por qué se dividen los dos por la longitud del marco de datos en el ciclo? ) No entiendo los garabatos de R, por desgracia.

Si el número de horas es diferente (y puede ser diferente debido a las omisiones), la introducción de filas en el bucle provocará desplazamientos. Esto significa tomar una hora de un día y una hora de otro día, por ejemplo. O faltan algunas líneas de 5 minutos, lo que provocará un desplazamiento de 5 minutos de una hora a otra.
 
Maxim Dmitrievsky:

¿por qué dividir los dos por la longitud del marco de datos en el bucle? ) No entiendo los garabatos de R, por desgracia

No divido un dos ahí.

Por ejemplo:

2 :10 significa - tomar 2 a 10 == 2,3,4,5,6,7,8,9,10