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

 
Maxim Dmitrievsky:

Ho scritto sopra. Il modello di base su una metà dei pezzi, il secondo modello correttivo sull'altra metà

allora 5-10 falli saranno sufficienti, e anche di più

Ciò che è stato scritto sopra è chiaro.

Non capisco cosa significhi "5-10 falli".

 
Aleksey Vyazmikin:

Ciò che è stato scritto sopra è chiaro.

Non capisco cosa significhi "5-10 falli".

dividere il dataset in parti uguali, diciamo 5 pezzi

unire 1,3,4 e insegnare il modello principale su di essi

combinare 2,5. Addestrare il 1° modello su di loro e ottenere i risultati.

Addestrare il 2° modello su questi 2,5 usando i risultati del 1° modello e correggere i trade non redditizi.

Esegui entrambi i modelli sull'intero set di dati e sui nuovi dati e vedi i risultati.

 
Aleksey Vyazmikin:

Cosa deve essere ricalcolato esattamente?

Come al solito in un portafoglio - pesi (attività, sistemi). Nel tuo caso potrebbe essere, per esempio, 0 - trade virtuale del segnale del foglio, 1 - reale e puoi aggiungere -1 - inversione del segnale. Ogni portafoglio corrisponde a un vettore di lunghezza 0, 1 o -1. L'ottimizzazione è fatta, per esempio, per ogni ultimo mese per profitto con penalità per il drawdown e il volume del portafoglio.

 
Maxim Dmitrievsky:

dividere il set di dati in sezioni uguali, diciamo 5 pezzi

combinare 1,3,4 e addestrare il modello principale su di essi

combinare 2,5. Eseguire il 1° modello su di loro, ottenere risultati.

Addestrare il 2° modello su questi 2,5 usando i risultati del 1° modello e correggere i trade non redditizi.

Esegui entrambi i modelli sull'intero set di dati e sui nuovi dati e vedi i risultati

Ah, ora capisco, volevo solo confondere il campione e addestrare il secondo modello dove il primo non era addestrato. Devo pensare a come può essere implementato, ma probabilmente non in questo progetto, tranne che per insegnare il secondo modello nel 2019, ma allora non ci sarà un posto per controllare i risultati al di fuori dell'allenamento.

 
Aleksey Nikolayev:

Come al solito in un portafoglio - pesi (attività, sistemi). Nel tuo caso potrebbe essere, per esempio, 0 - trade virtuale del segnale del foglio, 1 - reale e puoi aggiungere -1 - inversione del segnale. Ogni portafoglio corrisponde a un vettore di lunghezza 0, 1 o -1. L'ottimizzazione è fatta, per esempio, per ogni ultimo mese per profitto con penalità per il drawdown e il volume del portafoglio.

Qui la questione è quanto spesso vengono cambiati i coefficienti - se sono rari, rimaniamo indietro rispetto alla tendenza, se sono frequenti, ci troveremo di fronte ad un orribile aggiustamento, perché la strategia stessa permette dei drawdown, mentre il foglio potrebbe non dare mai un segnale durante un trimestre, il che complica questo approccio.

 
Maxim Dmitrievsky:

Sembra aver sistemato il tester, senza sbirciare da nessuna parte, risultati:

EURUSD treno+valido, 10k barre


EURUSD prova 50k barre

Stesso modello allenato su EURUSD ma testato su GBPUSD, 50k barre

Lo stesso modello si è allenato anche su USDCHF

Sembra avere senso. C'è una tendenza alla crescita per così dire).

Forse mi sono perso qualcosa, ma, al volo, è chiaramente meglio della foresta di alglib (anche se ho aggiunto molte altre cose per migliorarla)

Corre veloce, ci sono molti segnali, possiamo provare a creare un portafoglio. Qual è l'arco di tempo del campione?

 
Aleksey Vyazmikin:

Correndo alacremente, un sacco di segnali, si può provare a fare un portafoglio. E qual è l'intervallo di tempo del campione?

Un anno e mezzo su 15 minuti circa.

Devo pulire il drawdown e tutto il resto, ecco cosa farò.

 
Maxim Dmitrievsky:

Un anno e mezzo su 15 minuti circa.

Beh, è una prova, ho bisogno di pulire il drawdown e tutto il resto, ed è quello che farò.

Sembra che ci siano molti scambi, come se lo spread non stesse mangiando tutto... Comunque, il potenziale c'è - buona fortuna!

 

Ho deciso di guardare un po' la dinamica degli indicatori metrici dei modelli durante la suddivisione, ho preso 1, 20 e 48 passi (l'ultimo elaborato), è venuta fuori la seguente tabella riassuntiva.

Indicatori del campione utilizzato per la formazione.

I risultati mi sembrano interessanti; prima di tutto dovrei prestare attenzione al fatto che stiamo lavorando con alberi che danno solo il 52%-53% di precisione, che è molto basso per il modello nel suo complesso.Tuttavia non siamo interessati all'intero modello, perché per il trading è più importante entrare nella giusta direzione che sbagliare un'entrata e quindi dovremmo essere interessati prima di tutto all'accuratezza della classificazione e possiamo vedere che l'accuratezza delle classi "-1" e "1" ad un certo punto è diventata del 4% e del 3% maggiore rispetto alla versione iniziale, mentre l'accuratezza della classe "0" ha perso solo l'1-2% ma allo stesso tempo la completezza delle classi "-1" e "1" è diminuita e quella della classe "0" è cresciuta insieme ad essa.

A questo punto, circa il 10% dei predittori radicali sono stati rimossi dal campione - uno ad ogni passo - ma il modello non è crollato e anche i singoli indicatori, importanti per noi, sono migliorati.

Naturalmente, più informazioni sulla dinamica possono essere ottenute elaborando tutti i 48 split, forse ci sono lacune negli indicatori, o al contrario, tutti gli indicatori si stanno muovendo nel vettore selezionato. Ma la cosa principale che penso è che il trading ha bisogno di un proprio metodo di creazione di modelli, il cui principio non è quello di cercare di descrivere l'intera struttura, ma di capire una parte della struttura meglio di altre parti, e ora un buon modello, in tutti i metodi che conosco, il modello è stimato per entropia o logloss, cioè per imparare l'intero modello - conoscenza di zero e uno, se volete, mentre abbiamo solo bisogno di sapere di più sull'uno.

Bene, come ho mostrato prima, l'albero per foglie, e il mio metodo di selezione per foglie, migliora la precisione di classificazione sul campione di allenamento del 20%-25% rispetto al modello convenzionale.

La questione è come possiamo accelerare il processo, sto cercando persone interessate con le quali possiamo lavorare insieme per ripensare il funzionamento dello script R, che ora genera alberi, e per pensare a migliorare e velocizzare la metodologia.

 
Aleksey Vyazmikin:

Ho deciso di guardare un po' la dinamica degli indicatori metrici dei modelli durante la suddivisione, ho preso 1, 20 e 48 passi (l'ultimo elaborato), è venuta fuori la seguente tabella riassuntiva.

Indicatori del campione utilizzato per la formazione.

I risultati mi sembrano interessanti; prima di tutto dovrei prestare attenzione al fatto che stiamo lavorando con alberi che danno solo il 52%-53% di precisione, che è molto basso per il modello nel suo complesso.Tuttavia non siamo interessati all'intero modello, perché per il trading è più importante entrare nella giusta direzione che sbagliare un'entrata e quindi dovremmo essere interessati prima di tutto all'accuratezza della classificazione e possiamo vedere che l'accuratezza delle classi "-1" e "1" ad un certo punto è diventata del 4% e del 3% maggiore rispetto alla versione iniziale, mentre l'accuratezza della classe "0" ha perso solo l'1-2% ma allo stesso tempo la completezza delle classi "-1" e "1" è diminuita e quella della classe "0" è cresciuta insieme ad essa.

A questo punto, circa il 10% dei predittori radicali sono stati rimossi dal campione - uno ad ogni passo - ma il modello non è crollato e anche i singoli indicatori, importanti per noi, sono migliorati.

Naturalmente, più informazioni sulla dinamica possono essere ottenute elaborando tutti i 48 split, forse ci sono lacune negli indicatori, o al contrario, tutti gli indicatori si stanno muovendo nel vettore selezionato. Ma la cosa principale che penso è che il trading ha bisogno di un proprio metodo di creazione di modelli, il cui principio non è quello di cercare di descrivere l'intera struttura, ma di capire una parte della struttura meglio di altre parti, e ora un buon modello, in tutti i metodi che conosco, il modello è stimato per entropia o logloss, cioè per imparare l'intero modello - conoscenza di zero e uno, se volete, mentre abbiamo solo bisogno di sapere di più sull'uno.

Bene, come ho mostrato prima, l'albero per foglie, e il mio metodo di selezione per foglie, migliora la precisione di classificazione sul campione di allenamento del 20%-25% rispetto al modello convenzionale.

La domanda è come posso accelerare il processo, sto cercando persone interessate con cui lavorare per ripensare il funzionamento dello script R che attualmente genera gli alberi, e pensare a migliorare e velocizzare la metodologia.

quindi avete un logloss di ~1, quindi il modello è in un casino.

Volete trovare un logloss separato per un singolo ingresso? Cioè la quantità di informazioni tra i valori del foglio e i valori obiettivo?

la classe "non fare nulla" è chiaramente sbilanciata rispetto alle altre, come ho scritto sopra che potrebbe essere un problema a causa del modello a 3 classi. Altri indicatori sono deprimenti.