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

 
Maxim Dmitrievsky #:

Tutto questo è stato discusso qui molte volte nella preistoria. Il primo modello addestrato su acquisto/vendita viene testato su nuovi dati. I casi in cui si sbaglia vengono inseriti nella classe di non compravendita, gli altri nella classe di compravendita. Il secondo classificatore viene addestrato su di esso. Otteniamo due modelli. Uno di essi prevede la direzione, l'altro prevede se l'operazione deve essere annullata. In questo modo si ottiene una certa flessibilità, se si imposta la soglia per gli scambi attraverso un solo modello. Perché i due modelli possono essere migliorati, uno attraverso l'altro. Ho descritto il metodo originale nell'ultimo articolo. Poi sono passato a una logica modificata.

Questa, tra l'altro, è una questione aperta, perché è possibile migliorarsi a vicenda, apparentemente, in modi diversi.

Poi mi sono imbattuto nell'inferenza di Kozul, dove si procede in modo simile.

Non lo so.

E che sia utile un tale filtraggio da parte del secondo modello?

 
mytarmailS #:

Non lo so.

E a cosa serve questo filtraggio da parte del secondo modello?

È migliore sui nuovi dati.

 
Maxim Dmitrievsky #:

sui nuovi dati, è meglio

se si impostano soglie di probabilità sul singolo modello iniziale, come ad esempio

> 0,7 acquistare

< 0,3 vendere

in questo modo il modello diventerà migliore sia per il test che per la traina, e naturalmente ci saranno meno operazioni...

il secondo modello dà davvero qualcosa? Sono curioso...

Ci sono stati dei test, dei confronti?

 
Maxim Dmitrievsky direzione del trade e un metamodello che prevede la probabilità di vincita (di fare o non fare trading):

Chiamiamo il primo modello il modello principale, che divide lo spazio delle caratteristiche in acquisto/vendita con una linea nera. Il secondo è un metamodello che divide lo spazio totale delle caratteristiche in compravendita/non compravendita (linea rossa).

Ora immaginiamo un'altra variante, quando ci sono due metamodelli e ciascuno di essi divide i diversi spazi delle caratteristiche delle classi BUY e SELL in trade/non-trade separatamente (due linee rosse).

Una domanda puramente teorica "su cui riflettere" è se la seconda opzione sia migliore. E se lo è, perché. Si prega di commentare.

Una richiesta, probabilmente, anche ad Alexei Nikolaev, come si può determinare l'effetto di tale "intervento". Dopo tutto, otterremo due distribuzioni di probabilità di due metamodelli, che possono essere confrontati/valutati/distribuiti da angoli.

Questa è un'affermazione ambigua del problema.

Risulta che crediamo al secondo modello probabilistico più che al primo, e usiamo il secondo modello come filtro per il primo.

Oppure trattiamo la situazione come un'operazione "AND", cioè di intersezione dei risultati.


È un vicolo cieco, ci sono passato e l'ho fatto.


Non ho incontrato modelli che diano una direzione, perché se danno una direzione anche esternamente, è il risultato di una regolarizzazione della probabilità di direzione. Ecco perché viene suggerito l'approccio standard per R chiamato "ensemble di modelli", quando i risultati di due o più modelli, per così dire, di primo livello, vengono utilizzati come predittori in qualche algoritmo di classificazione di secondo livello. A proposito, se vi piacciono tanto le variabili categoriali, potete inserire anche queste nell'input di un classificatore. Se è possibile classificare i risultati dei modelli in base al livello di confidenza, questo può essere regolato da pesi. In altre parole, il secondo livello è un classificatore che utilizza i risultati della classificazione del modello di primo livello come predittori. Questo approccio è molto interessante per le classi sbilanciate ottenute con una regolarizzazione diversa da 0,5, ad esempio dividendo il risultato del classificatore come probabilità da quantili con valori di 0,4 e 0,6. La parte centrale è fuori mercato.

 
mytarmailS #:

se sul modello inizialmente singolo si mettono soglie di probabilità come

> 0,7 acquistare

< 0,3 vendere

allora diventerà migliore sia su test che su traine, e ci saranno meno scambi naturalmente....

Il secondo modello dà davvero qualcosa? Mi chiedo...

Ci sono stati dei test, dei confronti?

Immaginate di aver addestrato il primo modello attraverso la convalida incrociata e di aver inserito nel secondo modello tutte le previsioni sbagliate per non fare trading. Si ha già una significatività statistica del fatto che il primo modello sbaglia più spesso in alcuni punti, mentre in altri fa sempre buoni risultati. Questo può essere filtrato dal secondo modello. Attraverso un modello è già più difficile farlo. Esistono altre varianti di questa messa a punto.
 
Maxim Dmitrievsky #:
Immaginate di aver addestrato il primo modello attraverso la convalida incrociata e di aver inserito tutte le previsioni errate nel secondo modello come no-trade. Si ha già una significatività statistica del fatto che il primo modello ha maggiori probabilità di sbagliare in alcuni punti, che possono essere filtrati dal secondo modello. Attraverso un modello è già più difficile farlo. Esistono altre varianti di questo tipo di messa a punto.

Beh, sembra ragionevole.

 
mytarmailS #:

Sembra ragionevole.

Anche se anche il secondo modello è sbagliato, in questo caso corregge comunque in qualche modo gli errori del primo, sì, più o meno così. Nell'inferenza di Kozul c'è una giustificazione più rigorosa dei loro approcci. Direi che è dimostrato in modo perfettamente rigoroso.

https://en.wikipedia.org/wiki/Frisch%E2%80%93Waugh%E2%80%93Lovell_theorem

 
Forester #:
Non ho provato. Intuitivamente) Ma come diceva Marx: la pratica è il criterio della verità. Se per voi funziona nella pratica - bene).

Sto cercando di passare alla seconda opzione, nel processo.

 
СанСаныч Фоменко #:

Una dichiarazione ambigua del problema.

Si scopre che crediamo più al secondo modello probabilistico che al primo e che il secondo modello viene usato come filtro per il primo.

Oppure interpretiamo la situazione come un'operazione "AND", cioè di intersezione dei risultati.


Una strada senza uscita, l'abbiamo già percorsa.


Non ho incontrato alcun modello che desse una direzione, perché se danno una direzione anche esternamente, è il risultato di una regolarizzazione della probabilità di direzione. Ecco perché viene suggerito l'approccio standard per R chiamato "ensemble di modelli", quando i risultati di due o più modelli, per così dire, di primo livello, vengono utilizzati come predittori in qualche algoritmo di classificazione di secondo livello. A proposito, se si amano tanto le variabili categoriali, anche queste possono essere inserite nell'input di un classificatore. Se è possibile classificare i risultati dei modelli in base al livello di confidenza, questo può essere regolato da pesi. In altre parole, il secondo livello è un classificatore che utilizza i risultati della classificazione del modello di primo livello come predittori. Questo approccio è molto interessante per le classi sbilanciate ottenute con una regolarizzazione diversa da 0,5, ad esempio dividendo il risultato del classificatore come probabilità con quantili con valori di 0,4 e 0,6. La parte centrale è fuori mercato.

Ensemble è vicino nel significato ma lontano nell'implementazione. Poiché l'approccio proposto può essere utilizzato in modi diversi per ottenere risultati diversi, è molto flessibile.

Ho fatto anche degli ensemble, ma non ha funzionato.

 
Maxim Dmitrievsky #:
Immaginate di aver addestrato il primo modello attraverso la convalida incrociata e di aver inserito tutte le previsioni errate nel secondo modello come no-trade. Si ha già una significatività statistica del fatto che il primo modello ha maggiori probabilità di sbagliare in alcuni punti, che possono essere filtrati dal secondo modello. Attraverso un modello è già più difficile farlo. Esistono ancora altre varianti di questa messa a punto.

L'idea di filtrare gli errori non mi è affatto chiara.

Si scopre che se il modello predice 50/50, buttando via i 50 errori il resto predice il 100%? Questo è solo superapprendimento e nient'altro.


L'errore di classificazione deriva dal fatto che gli stessi valori dei predittori in alcuni casi predicono correttamente, e in altri casi non correttamente, e questo è il problema che può essere eliminato solo nella fase di filtraggio della "forza della relazione" tra il predittatore e la variabile target, ed è del tutto impossibile, se Dio vuole, filtrare i predittori e a questo costo ridurre l'errore di classificazione del 10%.