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

 
Yury Reshetov:
Non dire sciocchezze. In jPrediction usiamo un algoritmo di riduzione della dimensionalità dell'input per evitare di ottenere un modello in uscita che è stato addestrato su predittori rumorosi o poco importanti. Cioè, viene fatta una scelta tra una varietà di modelli con diverse combinazioni di predittori, di cui rimane solo quello con la migliore generalizzabilità.

situazione ipotetica....

Abbiamo 100 potenziali predittori, lasciamo che siano indicatori per semplicità.

Supponiamo di sapere inizialmente che tutti questi predittori hanno solo una situazione redditizia, è quando RCI ha attraversato 90 e lo stocastico è appena andato sotto zero (situazione naturale dal soffitto), Tale situazione dà il calo del prezzo con il 90% di probabilità, tutti gli altri predittori sono rumore totale, tutte le altre situazioni nei predittori RSI e stocastico sono anche rumore totale, e ci sono centinaia e centinaia di situazioni varie....

cioè abbiamo circa lo 0,01% di segnale utile al 99,9% di rumore

Supponiamo che, per qualche miracolo, il vostro MO rifiuti tutti i 98 predittori e ne lasci solo due - RSI e stocastico

ci sono centinaia di situazioni di RSI>0, RSI>13, RSI<85, RSI=0, RSI<145, ............ Dal momento che si addestra MO a riconoscere tutti i movimenti di prezzo, MO costruirà modelli tenendo conto di tutte le possibili situazioni che sono disponibili in RSI e stocastico, e la probabilità in quelle situazioni che funzionino è quasi zero, ma MO deve tenerle in considerazione e costruire alcuni modelli con esse, nonostante il fatto che questo è il vero rumore, e che una situazione funzionante si perderà tra centinaia di altre soluzioni, questo è retraining ....

Come l'hai avuto alla fine?

 

Hai confuso tutto.

Ci sono questioni diverse e indipendenti. MA SONO COME I MATTONI PER UNA CASA: SOLO TUTTI INSIEME DARANNO UN SISTEMA COMMERCIALE.

1. Preparazione dei predittori. Questa fase ha un numero piuttosto grande di obiettivi e di strumenti corrispondenti. Ho deliberatamente orientato l'intero problema di questa fase verso l'eliminazione del rumore, cioè la ricerca di tali predittori che hanno una capacità predittiva per questa particolare variabile obiettivo. Descriverò l'ideale. Tratto da un articolo sulla genetica. Ma usando il mio esempio personale.

Prendiamo la variabile target "Muslims" (per chiarezza). Il predittore "abbigliamento", che ha due valori "pantaloni" e "gonna". Una parte dei valori predittori "abbigliamento" con il valore "pantaloni" predice senza ambiguità la classe "maschio" e l'altra parte predice la femmina. Abbiamo anche dei predittori come l'RSI per la variabile target "buy/sell". Sappiamo tutti che l'indicatore spesso mente, ma parte di esso predice una classe e parte un'altra. Quindi dovremmo cercare dei predittori, alcuni dei quali predicono una classe e altri un'altra. E meno è la sovrapposizione (falsi positivi), più alta è la qualità del predittore. L'ideale è "pantaloni/gonne" quando un predittore può essere diviso in due parti senza intersezioni. Ma questo funziona solo per i musulmani, e per gli europei....

Ci sono metodi algoritmici (PCA, per esempio, ma non classico, ma con raffinatezza), ma bisogna partire dal contenuto dei predittori. In base alle considerazioni sul contenuto, si dovrebbe inizialmente scartare gli anelli di Saturno, i fondi di caffè e gli altri .... Ciò che conta NON è la correlazione di questi predittori. Per esempio, prendiamo alcuni derivati da kotir - sono tutti da kotir, ma prendiamo interesse aperto, volumi... Poi per qualche motivo altre coppie di valute, la macroeconomia non è condizionata...

2. Montaggio del modello. Questo è un problema separato, e il primo non può essere risolto con il modello utilizzato. La confusione è causata dal fatto che molti algoritmi di modelli hanno un algoritmo di selezione dei predittori incorporato. Personalmente non sono a conoscenza di nessun algoritmo integrato che risolva il primo problema.

Reshetov sostiene di avere un tale algoritmo incorporato. Ma non ha mai citato alcuna prova della mancanza di riqualificazione con il suo algoritmo.

Il primo passo è obbligatorio. Ma non esclude, e forse suggerisce anche di usare algoritmi di selezione dei predittori incorporati. Ma questi algoritmi devono essere risparmiati dai "fondi di caffè" nella prima fase.

3. classificatore binario-alternativo. Reshetov, come al solito, ha confuso la questione con la sua comprensione del classificatore ternario. Ternario è quando la variabile obiettivo ha tre valori, e in generale qualsiasi numero di valori qualitativi (nominale, categoria). Reshetov ha due binari da cui ottiene un segnale di lavoro, che sul forex è MOLTO desiderabile - avere un segnale ternario di acquisto/vendita. Uso una variabile target binaria per la classificazione, e per il trading dai risultati delle due classificazioni binarie ottengo tre segnali - esattamente come Reshetov.

4. Combinare i risultati di diversi modelli in un segnale di trading è un problema separato. C'è una soluzione proposta da Reshetov. Ma altre soluzioni sono state suggerite sopra in questo thread. Dik ha suggerito sopra di prendere in considerazione i valori da cui deriva la classe. Si può incorrere anche in questo problema, soprattutto se si ricorda che gli algoritmi di classificazione danno il valore di OGNI classe da cui la classe è derivata. Quando raggruppiamo i risultati di diversi modelli in un unico risultato, tenere conto di queste probabilità è inevitabile. Ci sono algoritmi che dividono queste probabilità non a metà, ma diversamente, il che riduce l'errore di classificazione.

5. Valutazione finale del modello. Questo è qualcosa su cui non sono riuscito a raggiungere un'intesa con Burnakov. Prendiamo il modello e lo eseguiamo "fuori dal campione", intendendo per "fuori" l'intervallo di tempo in cui sono stati eseguiti l'addestramento, il test e la validazione incrociata... Questo passo non è costruttivo perché non ci dice cosa fare. Questo passo è un verdetto: tenere o scartare. Il motivo dello "scarto" non è un errore troppo grande, ma la sua VARIABILITÀ rispetto ai passi precedenti. Scartare perché il modello è sovrallenato, è senza speranza e pericoloso. Se questo passo è superato, allora passate al tester, ottenendo da esso lo stesso risultato 'tenere - scartare'.

 
mytarmailS:

situazione ipotetica....

...

poi MO costruirà modelli tenendo conto di tutte le situazioni possibili...

Mentre addestrate il MO a riconoscere tutti i movimenti di prezzo, il MO ...

...

ma MO deve tenerne conto e costruire dei modelli basati su di essi, nonostante il fatto che questo è il vero rumore, e che una situazione di lavoro si perderà tra centinaia di altre soluzioni, ecco a cosa serve l'overtraining....

jPrediction non deve tenere conto di tutte le situazioni possibili. Funziona in modo molto più semplice di quello che hai inventato.

Il principio della selezione sequenziale dei predittori (non un'enumerazione completa delle combinazioni come state cercando di fare voi) è disponibile nel mio post a pg. 109

Se avete un'amnesia, vi ricordo che avete già chiarito l'ordine di selezione dei predittori su p. 110

 

SanSanych Fomenko:

Reshetov, come sempre, ha confuso la questione con la sua comprensione del classificatore ternario.

...

Uso una variabile target binaria per classificare, e per fare trading dai risultati di due classificazioni binarie ottengo tre segnali - esattamente come Reshetov.


Reshetov non è una canaglia?

Ha confuso così tanto la questione, che ora anche Fomenko deve fare esattamente come Reshetov.

Shurik Shurikovich, prendi una torta dallo scaffale. Dopo tutto, hai onestamente guadagnato nel campo della critica ravanello e uomo cattivo - Reshetov.

 
Yury Reshetov:

jPrediction non deve considerare tutte le situazioni possibili. Funziona in modo molto più semplice di quello che hai inventato.

Il principio della selezione coerente dei predittori (e non un'enumerazione completa delle combinazioni come stai cercando di fare tu) è nel mio post a pg. 109

Se avete un'amnesia, vi ricordo che avete già chiarito l'ordine di selezione dei predittori su p. 110

Sto parlando del perché IO (qualsiasi) non può selezionare correttamente le caratteristiche, e tu stai parlando del verde...

 
mytarmailS:

Sto parlando del perché MO (qualsiasi) non può campionare correttamente le caratteristiche, e tu stai parlando del verde...

jPrediction va bene per eliminare i predittori. Probabilmente non è il metodo più ideale, ma va bene per i compiti applicati. Molto probabilmente il limite della perfezione non è stato ancora raggiunto e c'è potenziale per ulteriori ricerche? La cosa più importante è che ci sia un risultato positivo e che si possa iniziare a ballare.

Il punto è di non proiettare i propri pregiudizi su nessun metodo di apprendimento automatico (e non solo nel campo del MO).

Se qualcosa non funziona per voi e la stessa cosa funziona per altri, non significa che non ci siano metodi normali. Questo significa solo che non usate questi metodi normali, o li usate in modo scorretto, a causa di alcuni pregiudizi personali.

 
Yury Reshetov:

Questo Reshetov non è una canaglia?

Ha confuso così tanto la questione che ora anche Fomenko deve fare esattamente come Reshetov.

Shurik Shurikovitch, prendi una torta dallo scaffale. Hai onestamente meritato nel tuo campo di critica di un ravanello e non un uomo buono - Reshetov.

Si calmi.

Non ho MAI pensato di offenderti personalmente, perché io e te siamo dello stesso sangue.

Ma il tuo "on the fence" è di innegabile interesse per me.

Ecco come stanno le cose. Sull'esempio di un binario.

Supponiamo che la probabilità di una classe sia 0,49 e la probabilità della seconda sia 0,51. Si tratta di due classi o di un "recinto"?

 
Yury Reshetov:

La bicicletta ternaria più stupida e poco promettente, anche se la più primitiva nell'implementazione: questa è una RNA con tre uscite. Se ciascuna di queste uscite ha la sua soglia di classificazione, allora hanno non tre ma otto stati potenzialmente possibili, di cui solo tre sono univoci (un valore sopra la soglia su una sola delle tre uscite), e cinque non sono chiari da interpretare (valori sopra la soglia su più di una delle uscite, o sotto la soglia su tutte e tre le uscite).

Classificare tutto è molto più semplice, è comune prendere l'uscita con il valore più alto. Se i risultati su tre uscite sono (0.1;0.3;0.2), allora il valore più grande = 0.4 e l'uscita numero 2 è attiva.
Il modello di trading può avere questa logica:
Il valore più alto sulla prima uscita -> posizione lunga,
Il valore più alto nella seconda uscita -> uscire da tutti i trade e non fare trading,
Il valore più alto nella terza uscita -> posizione corta.
Tutto qui, niente soglie, niente stati, ecc.

Questa non è affatto una bicicletta, ma un metodo spesso usato in neuronica per la classificazione quando sono necessarie più di due classi, quindi ci possono essere almeno decine di classi quando si classificano le immagini, per esempio.
Un'uscita con una soglia nel mezzo è sufficiente per due classi.
 

Dr.Trader:

Il modello di trading potrebbe avere questa logica:


  • Valore più alto alla prima uscita -> posizione lunga,
  • Valore più alto sulla seconda uscita -> esci da tutti i trade e non fare trading,
  • Il valore più alto sulla terza uscita -> posizione corta.


Tutto qui, niente soglie, niente stati, ecc.

Anche un'opzione. Anche se non è certo che un approccio così banale dia una generalizzabilità normale. A volte la semplicità è peggio del furto. Cioè è necessario verificare empiricamente - l'autopsia lo dimostrerà.
 
SanSanych Fomenko:

Supponiamo che la probabilità di una classe sia 0,49 e la probabilità della seconda classe sia 0,51. Si tratta di due classi o di un "recinto"?

Perché il gelato.

Mi dispiace, ma come è la domanda, così è la risposta.

Cioè non capisco l'umorismo perché per prendere una decisione bisogna confrontare il valore di uscita del classificatore con qualcosa, per esempio con un valore di soglia. E poiché nella tua formulazione del problema i valori comparabili per qualche motivo sono sconosciuti, e sono noti solo quelli che non sono necessari per la classificazione, sarebbe una buona idea fare delle precisazioni.