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

 
Alexey Burnakov:

Valutate la performance della strategia sulla storia o c'è un lungo termine? L'inferno può essere in valutazione sulla storia.

Entrata sul momentum, uscita via OR su una serie di condizioni. In linea di principio, funziona. Ma se si entra sul picco, poi si aspetta un anno per uscire dal drawdown...

Lo controllo sul forex. Se siete entrati su un picco c'è SL.
 
Andrey Dik:

Maggiori dettagli: segnale di acquisto sulla barra corrente, come comprare, contare il minor numero di barre in avanti......

Ho anche una versione simile di come si può smussare, ve ne ho parlato circa 100 pagine fa, ma è su un livello più astratto...

Non sappiamo come fare trading, dove entrare, dove uscire.

ecco perché tutto ciò che abbiamo inventato (tendenze, zz, colori delle candele, rimbalzi) è solo una sciocchezza nel tentativo di descrivere i movimenti del mercato, soggettivismo com'è

Ognuno ha scelto la propria direzione e ognuno ci scava dentro - alcuni usano i colori delle candele, altri gli zz, io personalmente uso i rimbalzi degli zz, ecc. È tutto molto soggettivo ed è questo che ci separa, anche se in sostanza facciamo tutti la stessa cosa e il risultato è lo stesso.

Propongo di prendere qualcosa che ci accomuna tutti e non sarà soggettivo, cioè l'obiettivo sotto forma di - possiamo dire il desiderio

"Voglio che l'algoritmo guadagni min. 5% a settimana con un massimo di prelievo. 2%"

obiettivo normale? a tutti piace e si adatta, giusto? e tutto è chiaro...

Non bisogna allenare la rete secondo i nostri obiettivi ideati come GZ e altri, che sono soggettività, ma bisogna allenare la rete come la ricerca di un certo minimo o massimo in profitto o in drawdown, o in sharp-ratio o in PV o una combinazione di questi indicatori.

Non mi interessa come fai trading, ma ogni settimana dovrei ottenere +5% con un drawdown fino al 2%..... Lasciamo che sia la rete stessa a commerciare e a determinare se c'è una tendenza o un'inversione, in realtà, tutto ciò che ci interessa è il profitto e il drawdown, e noi controlliamo quello, e non sappiamo come commerciare, quindi non dovremmo entrare in esso....

Come fare...

Ci sono reti che già ci insegnano a giocare, specialmente Super Mario http://gekkoquant.com/2016/03/13/evolving-neural-networks-through-augmenting-topologies-part-1-of-4/, io propongo di insegnare alla rete lo stesso modo, usiamo un'analogia...

1) C'è un ambiente - le tartarughe che sputano, ostacoli sotto forma di tubi, scatole che bisogna saltare, ecc.

2) Ci sono azioni - i pulsanti del joystick che la rete preme per controllare Mario

3) ci sono punti - una ricompensa per la rete

4) c'è una pena - la morte di Mario

Una volta nell'ambiente (1) la rete comincia a premere i pulsanti del joystick (2) e così via per migliaia di iterazioni finché non impara a completare il livello, segnando una quantità ragionevole di punti (3) senza morire (4)

Analogia con il trading

1) c'è un ambiente - che riceve dati nella rete - predittori

2) ci sono azioni - comprare/vendere/non fare nulla

3) ci sono punti - profitto ricevuto

4) c'è una penalità - ottenuto il prelievo

 
mytarmailS:

Non dovreste addestrare la rete in base ai nostri obiettivi sviluppati come GZ e altri che sono soggettivi, ma addestrare la rete alla ricerca di qualche minimo o massimo di profitto o drawdown o sharp-ratio o PV o combinazione di questi indicatori

Sono d'accordo, l'obiettivo scelto è soggettivo e irragionevole. Ho provato a fare un modello di trading con il pacchetto rneat, che ha imparato un po' di trading sulla storia, ma ancora non poteva prevedere correttamente sui nuovi dati.

C'è una differenza molto importante - in tutti questi esperimenti con i giochi il modello è addestrato decine di migliaia di volte su ogni gioco. E il suo risultato è stimato giocando questi stessi giochi, valutazione sui dati per l'apprendimento, per così dire. Per Forex una buona performance sui dati non è sufficiente per l'addestramento, è necessario che il modello funzioni anche sui nuovi dati, e sembra essere un grosso problema per tale algoritmo.

 
Dr.Trader:

1)Sono d'accordo, l'obiettivo scelto è soggettivo e irragionevole. Ho provato a fare un modello di trading con il pacchetto rneat, che ha imparato un po' sulla storia, ma ancora non poteva prevedere correttamente sui nuovi dati.

2) Per il forex, una buona performance sui dati di allenamento non è sufficiente, il modello deve funzionare anche su nuovi dati, e apparentemente questo è un grosso problema per un algoritmo di questo tipo.

1) Non so come dirlo correttamente, ma nel tuo esperimento non hai permesso alla rete di pensare, non le hai permesso di fare operazioni impostando il tuo obiettivo, quindi hai trasformato la rete in un modello molto semplice, la sua idea principale è quella di auto-apprendere e tu l'hai fatto per lei, hai capito?

Ho detto di lasciargli fare il trading, di fargli fare gli scambi e di trarre le conclusioni da solo.

il nostro controllo è il profitto e il prelievo, questo è tutto... lei è da sola...

2) Sì, è un problema per qualsiasi algoritmo, ma c'è speranza che se la rete si allena a commerciare bene, senza i nostri obiettivi senza il nostro soggettivismo, allora c'è una possibilità che percepisca i nuovi dati in modo più oggettivo e sappiamo già come gli algoritmi con i nostri obiettivi trattano i nuovi dati

 
Andrey Dik:
Sto controllando l'attaccante. Se siete entrati sul picco - c'è SL per questo.
SL è lì.
 
Dr.Trader:

Anche se è implicito, preferisco aggiungerlo per renderlo più chiaro a tutti.

Di solito, l'overlearning nei modelli ha l'effetto che il modello ricorda gli esempi di addestramento in modo molto accurato. L'apprendimento inizia con la derivazione da parte del modello di alcune regole generali, dipendenze di valori target sui predittori, ma più l'apprendimento va avanti, più queste regole nel modello diventano rigide, portando alla fine ad esempi completamente memorizzati, con la completa incapacità del modello di predire su nuovi dati. Questo è gestito dalla convalida incrociata, e fermando l'addestramento quando il modello ha imparato alcune regole generalizzate ma non ha ancora iniziato ad apprendere esempi specifici, questo darà migliori prestazioni predittive sui nuovi dati.

Questo funziona alla grande su dati in cui le dipendenze rimangono costanti nel tempo - riconoscimento di immagini o di suoni, per esempio. Ma il forex è diverso in quanto molte delle dipendenze trovate non sono persistenti nel tempo. Il problema non è solo quello di ottenere l'apprendimento senza memorizzare gli esempi di allenamento, ma anche di assicurarsi in qualche modo che i modelli trovati rimangano in futuro.


Hai fatto una buona osservazione. Immagine, riconoscimento del suono è un processo pseudo-stazionario, a condizione che il campione sia rappresentativo e che il modo in cui le immagini sono disegnate nel campione di controllo non sia dato a pazienti cerebrolesi mancini (approssimativamente, scusate).

Il compito è più completo: sviluppare un modo di stimare i predittori rispetto alla variabile obiettivo che assicuri che la relazione tra i predittori e la variabile obiettivo sia costante ed esista anche sui nuovi dati.

Selezionare i predittori in base alla loro importanza per la variabile prevista sulla base della loro persistenza nel tempo è quasi lo stesso che cercare i predittori su un singolo campione più grande. Vale a dire, se si selezionano predittori in diversi campioni consecutivi che si comportano ugualmente bene in tutte le trame, è un adattamento diretto a quelle trame.

In sostanza, su N predittori, ne vengono selezionati n che avranno una buona performance su tutta la linea (su tutti i campioni disponibili). Montato, cosa c'è dopo? E poi arriva il vero avanti, sul quale si osserva un precipitare. Qual è la ragione?

La ragione è che la metodologia di selezione dei predittori nel lotto K non è stata testata per generare risultati di qualità simile nel lotto M. In altre parole, ogni sottoinsieme di predittori selezionati deve produrre risultati correlati su K e M.

Posso selezionare per voi tali predittori e un modello corrispondente che non impara fuori dal campione, tuttavia attraversa la trama molto bene. In effetti, questo è il tipo di modello che imparerebbe bene se tutti i campioni fossero incollati insieme, e io faccio questo incollaggio a mano.

Dobbiamo trovare un modo per selezionare i predittori in modo che durante l'allenamento e la convalida i modelli si comportino come nell'immagine a sinistra:

E solo allora possiamo dire che il modello supera il test out-of-sample. Non solo che alcuni modelli (predittori) passano fuori dal campione.

 
SanSanych Fomenko:

Sembra che siamo solo noi due qui, dato che la posizione di Alexei non mi è molto chiara.


Non vedo perché la mia posizione sia complicata. Ho già detto che se non vedo una correlazione tra le prestazioni dei modelli nel campione e fuori dal campione, allora non sto producendo un modello robusto. O non capisci o non l'hai mai fatto.

Sto dicendo che se si adattano i predittori o i parametri del modello in modo che il modello funzioni bene dappertutto, è semplicemente una cosa BENE da fare. Il modello sarà overfitted, anche se è protetto dall'overfitting.

 
Alexey Burnakov:

La ragione è che la metodologia per selezionare i predittori nel sito K non è stata testata per generare risultati di qualità simile nel sito M. In altre parole, ogni sottoinsieme di predittori selezionati deve produrre risultati correlati su K e M.

Cosa dovrebbe essere correlato a cosa, come si fa? Non lo capisco nemmeno io...

Alexey Burnakov:

O non capisci o non l'hai mai fatto.

Credo che nessuno l'abbia fatto qui tranne te).

 
Alexey Burnakov:

Non vedo perché la mia posizione sia complicata. Ho già detto che se non vedo una correlazione tra le prestazioni dei modelli nel campione e fuori dal campione, allora non sto producendo un modello robusto. O non capisci, o non l'hai mai fatto.

Sto dicendo che se si adattano i predittori, o i parametri del modello in modo che il modello funzioni bene ovunque, è semplicemente una cosa FINE da fare. Il modello sarà overfitted, anche se è protetto dall'overfitting.

Mi sono ricordato - è già stato discusso, ma mi dispiace, l'ho dimenticato.

Mi sembra che tu stia facendo richieste troppo rigide, e a costo di rendere lo strumento più complesso, e uno strumento più semplice è sempre preferibile a uno complesso.

Io uso il seguente schema:

1. Formulo la variabile obiettivo

2. Invento un insieme di predittori che si riferiscono intuitivamente alla mia variabile obiettivo.

3. Usando il mio algoritmo, setaccio i predittori che attribuisco al rumore per ragioni formali. Questo di solito mi lascia il 15-20% del numero originale che ho inventato.

4. Generare un grande file di non meno di 10000 barre

5. Divido questo file in due parti: 7000 и 3000

6. Su 7000 insegno il modello, provo e convalido

7. Se tutte e tre le cifre sono approssimativamente uguali, allora passo 8. Se no, torno al passo 1.

8. Il modello addestrato viene utilizzato nella pratica. Seleziono i predittori da uno degli algoritmi (io uso rfe) nella finestra corrente. Faccio questa selezione sulle uscite per H1. Rfe dal set su cui ho imparato il modello, seleziona da 5 o più predittori per la finestra corrente. L'elenco dei predittori cambia di continuo, ma è ricavato dall'insieme che ho ottenuto durante l'addestramento iniziale.

L'intero schema funziona in modo robusto dallo scorso autunno sul reale. Ma c'è un ma essenziale: questa è solo una parte dell'EA. Prima i miei EA su TA non vivevano più di mezzo anno. Ora non vedo questo problema.

 
mytarmailS:

Ho anche un'opzione simile su come appianare la situazione, l'ho espressa circa 100 pagine fa, ma è su un livello più astratto...

Non sappiamo come fare trading, dove entrare, dove uscire, non sappiamo assolutamente nulla

ecco perché tutto ciò che abbiamo inventato (tendenze, zz, colori delle candele, rimbalzi) è solo una sciocchezza nel tentativo di descrivere i movimenti del mercato, soggettivismo com'è

Ognuno ha scelto la propria direzione e ognuno ci scava dentro - alcuni usano i colori delle candele, altri gli zz, io personalmente uso i rimbalzi degli zz, ecc. È tutto molto soggettivo ed è questo che ci separa, anche se in sostanza facciamo tutti la stessa cosa e il risultato è lo stesso.

Propongo di prendere qualcosa che ci accomuna tutti e non sarà soggettivo, cioè l'obiettivo sotto forma di - possiamo dire il desiderio

"Voglio che l'algoritmo guadagni min. 5% alla settimana con un massimo di prelievo. 2%"

obiettivo normale? a tutti piace e si adatta, giusto? e tutto è chiaro...

Sembra che lei mi abbia frainteso. Non dico alla rete dove entrare, né con zz né con nessun altro indicatore. Una rete addestrata sceglie da sola dove entrare.