L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 1874

 
Maxim Dmitrievsky:

c'è un separatore di virgole

primo centinaio

secondo centinaio.

Non vedo nulla di anormale.


ha fatto un taglio come questo da ore 5 a ore 6


 
mytarmailS:

primo centinaio

secondo centinaio.

Non vedo nulla di anormale.


Ho fatto un taglio come questo dalle 17:00 alle 18:00.


ma guarda subito le curve a ore 2.

Ho un'asimmetria tra le ore.

o ci sono 24 valori in ciascuno?

 
Maxim Dmitrievsky:

ma guarda le curve in due ore in una volta sola.

Ho un'asimmetria tra le ore.

o ci sono 24 valori ciascuno?

Proprio così! 24 valori in ogni...

12 segni da 5 minuti della 5a ora e 12 segni da 5 minuti della 6a ora fanno insieme una fila di 24 segni.

 
mytarmailS:

è così! 24 valori in ogni...

12 5minuti della 5a ora e 12 5minuti della 6a ora insieme fanno una fila di 24 valori.

Disegnate tutte insieme, c'è un'asimmetria da qualche parte alla fine, credo.

 
Maxim Dmitrievsky:

Cosa sono cento alla volta? Disegnare tutto in una volta, c'è una sbavatura da qualche parte alla fine, credo.

perché ci sono troppe linee, non si vede niente...

Ecco tutto.

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

Hai fatto un casino quando hai creato il set di dati per i cluster.

 
mytarmailS:

perché ci sono troppe linee, non si vede niente...

qui è tutto in una volta.

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

Qualcosa che hai sbagliato quando hai creato il set di dati per i cluster.

Capito... grazie.

P.S. il numero di ore nel set di dati è diverso

orologio a 5 ore: 139

6 ore: 140

Manca un'ora o un'ora di troppo.

Non so perché ce l'hai dritto, probabilmente il pacchetto stesso sta facendo qualcosa

soluzione: reindicizzare il dataframe a 5 minuti, aggiungere NaN al posto delle barre mancanti. Fare fillNa sui valori più vicini. Infine %)

 
Perché NaN? Il prezzo non è cambiato - sostituisci il prezzo di chiusura della barra precedente.
 
Maxim Dmitrievsky:

Capito... grazie.

Anch'io ho un numero diverso di ore 5 e 6, ma tutto funziona bene, più o meno.

Vettore con ore

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


codice - se sono le 5 allora prendete l'indice da quel posto e aggiungete 24 ore, prendete le due ore complete, e date in output il risultato

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

otteniamo

[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
......
.....
....

tutto funziona correttamente, non so cosa c'è che non va.

 
mytarmailS:

Ho anche un numero diverso di ore 5 e 6, ma funziona bene.

vettore con hrs ore


codice - se sono le 5, allora prendiamo l'indice da questo posto e aggiungiamo 24 ore, che richiedono due ore piene, e diamo il risultato

otteniamo

Tutto funziona correttamente, non so cosa ci sia di sbagliato.

perché dividete i due per la lunghezza del dataframe nel ciclo? ) Non capisco gli scarabocchi di R, purtroppo.

Se il numero di ore è diverso (e può essere diverso a causa di omissioni), l'inserimento di righe nel ciclo causerà degli spostamenti. Questo significa prendere un'ora di un giorno e un'ora di un altro giorno, per esempio. Oppure mancano alcune linee di 5 minuti, il che causerà uno spostamento di 5 minuti da un'ora all'altra.
 
Maxim Dmitrievsky:

perché dividete i due per la lunghezza del dataframe nel ciclo? ) Non capisco gli scarabocchi di R, purtroppo

Non divido un deuce lì.

Per esempio:

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