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

 
mytarmailS #:

C'è stato qualche scambio o è stato tutto a livello di test nella r-ka?

Solo R.

 

Sono ben lontano dall'essere un professionista del MO, quindi vorrei sapere come risolvere un problema.

Come sapete, per convertire la temperatura da Fahrenheit a Celsius si usa la formula standard: C = (F-32)*5/9

IlGradient Bousting mostra risultati eccellenti all'interno del campione, ma al di fuori di esso l'errore aumenta immediatamente.

Perché? perché la formula è molto semplice. cosa possiamo dire di una relazione complessa sul mercato delle valute)?

come far sì che questo algoritmo mostri buoni risultati in OOS?

 
Evgeni Gavrilovi Gradient Bousting mostra ottimi risultati nel campione, ma al di là di questo l'errore aumenta immediatamente.

Perché? perché la formula è molto semplice. cosa possiamo dire della complessa relazione sul mercato delle valute)?

come fare in modo che questo algoritmo mostri buoni risultati in OOS?

È necessario normalizzare tutti i dati in un intervallo o prendere gli OOS dallo stesso intervallo di valori.

Al di fuori di questo intervallo, il valore estremo dell'intervallo sarà previsto, questo è il modo in cui la foresta e il bousting e l'OOS funzionano parzialmente.
 
Mi sono sempre chiesto perché i pesi vengono regolati nello strategy tester? Si adatta...

La soluzione migliore non sarebbe quella di ottimizzare il numero di neuroni, gli strati e i tipi di funzioni (alcune nel primo, altre nell'ultimo) di attivazione nello strategy tester? E usare la retropropagazione dell'errore come modifica dei pesi?

Ho deciso di testare l'idea. Rete a singolo strato (non so come espandere il numero di strati), funzione tangente (non so come cambiarla) ai neuroni, nessuna funzione in uscita (non so come metterla). Propagazione all'indietro dell'errore. periodo di addestramento: anno - 2021/08/01-2022/08/01

L'ottimizzazione consisteva nel selezionare i seguenti parametri:

- numero di dati di input (il ciclo ha inviato all'input il numero richiesto di differenze di prezzo di chiusura N0-N1, si possono fare altre cose, ma le lancette non sono arrivate) - da 1 a 999 (la variabile array non permetteva di fare di più), passo 1.
- numero di neuroni - da 1 a 99 999 (non ridete), passo 1.
- numero di set (Bar++[numero di dati di input]) - 9 999, passo 1. Poiché l'addestramento è stato eseguito su un grafico orario, ci sono 6500 barre in un anno. Il risultato arriva quasi a un anno e mezzo , credo che vada bene.
- fattore di apprendimento sull'uscita: da 0 a 1 in passi di 0,00001.
- fattore di apprendimento sull'ingresso: da 0 a 1 in passi di 0,00001.00001
- numero di epoche - da 1 a 1000, passo 1.


Allora, vi dico subito del numero di epoche - non sono riuscito a cambiare nulla, né 1 epoca né 1000, non ho notato grandi differenze, probabilmente ci sono degli errori.

MA! Osservazioni interessanti:

- maggiore è il numero di neuroni, maggiore è il numero di scambi (quasi tutte le candele, se sono previste in direzioni diverse)
- il tasso di apprendimento sull'input nei primi 10 risultati migliori è più spesso vicino a 0,7
- il tasso di apprendimento sull'output nei primi 10 risultati migliori è più spesso vicino a 0,07
- i risultati migliori mostrano la formula: il numero di dati di input < il numero di neuroni < il numero di set. Il risultato migliore (per quanto ho avuto la pazienza di aspettare) è stato qualcosa del genere: circa 200 dati di input, circa 300 neuroni e circa 400 set. Perché il risultato migliore? Perché nel backtest - crescita regolare ondulata, nei 2 mesi precedenti - crescita regolare ondulata e.... sul periodo precedente il backtest di circa 2 mesi - crescita regolare ondulata .

Per motivi di interesse 99 999 neuroni - 50/50, ma, naturalmente, il profitto più alto - o il drawdown più alto
. Allo stesso tempo, il numero di ingressi non è superiore a 100, il numero di set non è superiore a 100. È un tempo lungo da aspettare. Ma non è dato sapere quali sarebbero i risultati con 1000 ingressi e 1000 insiemi, o 10.000.
 
Evgeni Gavrilovi Gradient Bousting mostra ottimi risultati nel campione, ma al di là di questo l'errore aumenta immediatamente.

Perché? perché la formula è molto semplice. cosa possiamo dire della complessa relazione sul mercato delle valute)?

come far sì che questo algoritmo mostri buoni risultati in OOS?

Bisogna imparare l'AMO su un campione di riferimento e scegliere un modello su un campione di prova....
Convalida incrociata di Google
 
СанСаныч Фоменко #:

Solo R

Allora c'è la probabilità di un errore nel codice, devi fare dei test o con le quotazioni reali o con una simulazione....

Mi è capitato di recente, il segno guardava la barra +1, non era affatto un errore evidente, ci è voluta mezz'ora per risolverlo....
 
Ivan Butko tester di strategia? Questo è l'adattamento...

Non è forse la via d'uscita migliore.....
Il primo e il secondo sono adattamenti, ovvero la ricerca di parametri sconosciuti, ovvero l'ottimizzazione.
E non importa cosa si sta adattando, i pesi, il numero di neuroni. Neuroni, FUN. Attivazione, numero di mele nel cestino.
 
mytarmailS #:
Sia la prima che la seconda sono operazioni di adattamento, ovvero di ricerca di parametri sconosciuti, ovvero di ottimizzazione.
E non importa cosa si stia adattando, pesi, numero di neuroni. Neuroni, FUN. Attivazione, numero di mele nel cestino.

È una cosa triste da dire. Non so cosa fare.

Le opzioni di base, dove cercare...
 
Ivan Butko #:

È una cosa triste da dire. Non so cosa fare.

Queste sono le opzioni principali, dove cercare...
Sarcasmo?
 
mytarmailS #:
Sarcasmo?

No, per niente. È solo che non so cos'altro fare. Cercare di usare le reti neurali del mercato... Non credo che ci siano prospettive nemmeno lì.

Motivazione: