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

 
elibrarius:
Siete dei robot?
Lavorare giorno e notte senza dormire o riposare ))))

Fusi orari... ma ancora impressionante))))

 
elibrarius:

7 cifre sono sufficienti.

Ecco un istogramma dell'equilibrio - nuovi modelli in blu, vecchi modelli in rosso.

Tutte le impostazioni sono le stesse.

Rilevanza dei predittori



I modelli usano il tempo al massimo. È difficile dire se sia un bene o un male, ma è un po' un male quando qualche predittore ottiene un vantaggio a causa della somiglianza con gli analoghi.

Richiamo

Precisione

Alla fine c'è una differenza, non grande ovviamente, ma comunque.

L'equilibrio non è male.


 
Aleksey Vyazmikin:

Ecco un istogramma dell'equilibrio - nuovi modelli in blu, vecchi modelli in rosso.

Tutte le impostazioni sono le stesse.

Rilevanza dei predittori



I modelli usano il tempo al massimo. È difficile dire se sia un bene o un male, ma è un po' male quando qualche predittore ottiene un vantaggio a spese della somiglianza con le controparti.

Richiamo

Precisione

Alla fine c'è una differenza, non grande ovviamente, ma comunque.

Non è male.


Quindi il tempo di seno + coseno è meglio dei soli numeri?
Alimenta i minuti nella vecchia versione? Se non lo è, inseriscili per un confronto adeguato. La versione seno + coseno li prende in considerazione. O rimuovere i minuti da syn+cos se è più veloce.
 
elibrarius:
Quindi il tempo di seno + coseno è meglio dei soli numeri?
Alimenta i minuti nella vecchia versione? In caso contrario, inseriteli, per un confronto corretto. La versione seno + coseno li prende in considerazione. O togliere i minuti da syn+cos se è più veloce.

La metrica che ho fornito - sembra peggiore. La ragione ha più probabilità di colpire un insieme casuale di predittori per costruire un albero di predittori diviso associato al tempo.

Sì, non ho usato i minuti nella mia vecchia versione.

 
Aleksey Vyazmikin:

La metrica che ho fornito - sembra peggiore. La ragione è l'alta probabilità di colpire un insieme casuale di predittori per costruire un albero spaccato del predittatore associato al tempo.


Hai fatto un catbustom? Non dovrebbe esserci una selezione casuale dei predittori. I boost usano tutti i predittori, ma gli alberi poco profondi.

In una foresta casuale, sì. È impostato da, per esempio

max_features{"auto", "sqrt", "log2"}, int o float, default="auto "

Il numero di caratteristiche da considerare quando si cerca il miglior split:


Aleksey Vyazmikin:

Sì, non ho usato i minuti nella mia vecchia versione.

Forse hanno peggiorato il risultato? Prova nella nuova versione a rimuoverli.

Questo è tutto, dovrebbe essere una completa analogia con la tua vecchia versione

if(nameInd[nInd]=="Hour")        {CopyTime        (sim,per,startDt,n_bar+1,dtm);TimeToStruct(dtm[0],dts);ArrayResize(tmp,1);tmp[0]=(double)(dts.hour)*360.0/24.0;tmp[0]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));}

if(nameInd[nInd]=="WeekDay")     {CopyTime        (sim,per,startDt,n_bar+1,dtm);TimeToStruct(dtm[0],dts);ArrayResize(tmp,1);tmp[0]=(double)(dts.day_of_week)*360.0/7.0;tmp[0]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));}


 
elibrarius:

Hai fatto il catbustom? Non dovrebbe esserci una selezione casuale dei predittori. I boost usano tutti i predittori, ma gli alberi poco profondi.

In una foresta casuale, sì. Impostato per es.


Forse hanno peggiorato il risultato? Prova nella nuova versione a rimuoverli.

Ecco, dovrebbe essere un'analogia completa con la vostra vecchia versione.

if(nameInd[nInd]=="Hour")        {CopyTime        (sim,per,startDt,n_bar+1,dtm);TimeToStruct(dtm[0],dts);ArrayResize(tmp,1);tmp[0]=(double)(dts.hour)*360.0/24.0;tmp[0]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));}

if(nameInd[nInd]=="WeekDay")     {CopyTime        (sim,per,startDt,n_bar+1,dtm);TimeToStruct(dtm[0],dts);ArrayResize(tmp,1);tmp[0]=(double)(dts.day_of_week)*360.0/7.0;tmp[0]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));}


Per quanto riguarda la casualità - ce n'è abbastanza.

Non ti ha sorpreso il fatto che io abbia tempi separati con seno e coseno, mentre ora capisco che deve essercene uno solo, ma si usano seno e coseno?

Da qui la domanda: cos'è buf, e perché quando è uguale a zero, prendiamo un coseno?

 
Aleksey Vyazmikin:

Per quanto riguarda la casualità - ce n'è molta.

Non ti ha sorpreso il fatto che ho tempi separati con seno e coseno, e come ho capito ora, dovrebbe essercene uno solo, ma si usano seno e coseno?

Da qui la domanda: cos'è buf, e perché quando è uguale a zero, allora prendiamo il coseno?

Il buf è il numero del buffer.
Per il tempo ci sono 2.Ci sono indicatori con 1 buffer, ci sono più di 2.

Faccio un loop attraverso il numero di buffer nel mio ciclo quando compongo le colonne per il set di allenamento.

Devi alimentare sia il seno che il coseno, non solo uno. Vedere https://megaobuchalka.ru/9/5905.html per una spiegazione.

Idati numerici sembrano essere inutili da codificare. Ma in alcuni casi è ragionevole codificare anche i dati numerici [22]. Quando si codificano i dati numerici, è necessario prendere in considerazione la significatività dei dati, la posizione dei valori nella gamma di valori e la precisione della misurazione dei dati. Questo è illustrato da esempi. Per esempio, la codifica permette di prendere in considerazione la significatività dei dati. Se l'input di una rete è un angolo tra due direzioni, per esempio la direzione del vento, non è mai appropriato inserire l'angolo (in gradi o radianti) nella rete. Un tale input farebbe "imparare" alla rete che 0 gradi e 360 gradi sono la stessa cosa. Ha più senso alimentare il seno e il coseno di quell'angolo come input. Il numero di segnali di rete in ingresso aumenta, ma i valori di ingresso vicini sono codificati da segnali di ingresso vicini.

Виды трансформации данных — Мегаобучалка
Виды трансформации данных — Мегаобучалка
  • megaobuchalka
  • megaobuchalka.ru
Трансформация данных — это преобразование данных к определенному представлению, формату или виду, оптимальному с точки зрения конкретного метода анализа [6]. Для разных задач анализа могут потребоваться разные методы трансформации. Типичными средствами трансформации данных являются следующие. Преобразование временны́х данных . Оптимизация...
 
elibrarius:

buf numero di buffer.
Per il tempo ce ne sono 2. Ci sono indicatori con 1 buffer, ce ne sono più di 2.

Faccio un ciclo attraverso il numero di buffer quando compongo le colonne per il set di allenamento.

Devi alimentare sia il seno che il coseno, non solo uno. Spiegazione del perché - qui https://megaobuchalka.ru/9/5905.html

Quindi ho fatto bene all'inizio - solo che non riesco più a ricordare cosa stavo facendo...

   double tmp[4];
   int nInd=0;
   MqlDateTime dts;
   double pi=3.1415926535897932384626433832795;
   for(int buf=0; buf<2; buf++)
   {
      TimeToStruct(iTime(Symbol(),PERIOD_CURRENT,0),dts);
      tmp[buf]=(double)(dts.hour*60+dts.min)*360.0/1440.0;
      //tmp[buf]=(double)(dts.hour*60+dts.min)*360.0/24.0;
      tmp[buf]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));

      TimeToStruct(iTime(Symbol(),PERIOD_CURRENT,0),dts);
      tmp[buf+2]=(double)(dts.day_of_week*1440+dts.hour*60+dts.min)*360.0/10080.0;
      //tmp[buf+2]=(double)dts.day_of_week*360.0/7.0;
      tmp[buf+2]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));
   }
 
Non si può fare con un solo ingresso invece di 4?
Solo il numero di minuti da lunedì 0:00 =
dts.day_of_week*1440+dts.hour*60+dts.min
Pessima idea però. Per arrivare, ad esempio, ai primi 10 minuti di ogni ora, dovresti fare un sacco di split.
Probabilmente meglio come te - solo giorni, ore. E forse dei minuti.
 
elibrarius:
Non possiamo fare solo una voce invece di 4 in tutto?
Solo il numero di minuti da lunedì 0:00 = Anche se è una cattiva idea. Per arrivare ad esempio ai primi 10 minuti di ogni ora, bisognerebbe fare molti split.
Probabilmente meglio come te - solo giorni, ore. E forse dei minuti.

Hanno già iniziato l'allenamento senza minuti - vediamo.

Uso ancora il tempo di 1/4 di barra - ore, 4 ore, giorni.