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

 
Bogard_11 #:

Loschema, o modello, è uno solo. Non appena si semplifica qualsiasi movimento all'ABC, è possibile trovare tutte le proporzioni della matrice del modello. Anche senza l'apprendimento automatico, tutto questo può essere facilmente calcolato a mano. Ranok non è più complicato delle lezioni di algebra e geometria a scuola.

Un modello, per esempio, nei modelli di legno, che sono molti, è un albero. Per ogni modello in legno, ad esempio, CatBoost trova più di cento alberi, leggi modelli. Per RandomForest ho delle statistiche: fino a 50 alberi l'errore di classificazione diminuisce, e oltre i 150 alberi l'errore di classificazione è stabile, cioè nelle serie temporali che ho elaborato il numero di modelli non supera i 150.

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

Un modello, ad esempio, nei modelli di legno, che sono molti, è un albero. Ogni modello di legno, ad esempio CatBoost, trova più di cento alberi, modelli di lettura. Per RandomForest ho delle statistiche: fino a 50 alberi l'errore di classificazione diminuisce, e oltre i 150 alberi l'errore di classificazione è stabile, cioè nelle serie temporali che ho elaborato il numero di pattern non supera i 150.

Non resta che formalizzare questi 150 pattern in un unico pattern comune. Se c'è A e c'è B, allora C arriverà in un certo momento in una tale e tale anatra, altrimenti il momento e il punto saranno diversi. Ci sono solo tre diverse varianti dello sviluppo di C. Tutto è deciso dal TEMPO! E questo può essere facilmente elaborato prima a mano e poi, se volete, potete inserirlo in un robot.

P.S. - non solo la dimensione di A fornisce già determinati livelli per il pullback di B (molto spesso il contraccolpo non supera 1-3 punti). Allo stesso modo, B segnala in anticipo i livelli di prezzo di C. C'è molta matematica ovunque.

Ad esempio, un Expert Advisor manuale calcola automaticamente i livelli a partire dal movimento che ci interessa. In altre parole, si tira sull'onda desiderata e il futuro è già segnato.

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

Un modello, ad esempio, nei modelli di legno, che sono molti, è un albero. Ogni modello di legno, per esempio CatBoost, trova più di cento alberi, modelli di lettura. Per RandomForest ho delle statistiche: fino a 50 alberi l'errore di classificazione diminuisce, e oltre i 150 alberi l'errore di classificazione è stabile, cioè nelle serie temporali che ho elaborato il numero di pattern non supera i 150.

Piuttosto, il percorso di ogni foglia la cui risposta supera la soglia per l'apertura di un trade è un pattern.
Per esempio:
1° split: delta di 40 barre con corrente = 0,
2° split: 30 barre=100,
3° split: 20 barre=50,
4° split: 10 barre=100,
5° split: 1 barra=0.
Si tratta di 2 top con un trough. Un modello? Sì. Il percorso di 1 foglia lo descrive.

Se nel vostro albero ci sono 20 foglie che superano la soglia che state negoziando, avete 20 pattern nel vostro albero che utilizzate. Anche le foglie di minor successo descrivono i pattern, ma sono casuali/perdite.
Altri 100 alberi possono utilizzare altri chip/barre con valori di divisione diversi.
La foresta farà una media (sommando e dividendo per il numero di alberi) delle risposte di tutti gli alberi, otterremo un'opinione media sulla situazione.
Boost si aggiungerà semplicemente con un coefficiente di ponderazione/chiarificazione.

 
Bogard_11 #:

Rimane solo unpo' da formalizzare questi 150 schemi in un unico schema comune. Se c'è A e c'è B, allora C arriverà in un certo momento in una tale e tale anatra, altrimenti il momento e il punto saranno diversi. Ci sono solo tre diverse varianti dello sviluppo di C. Tutto è deciso dal TEMPO! E questo può essere facilmente elaborato prima a mano e poi, se si vuole, lo si può inserire in un robot.

P.S. - non solo la dimensione di A fornisce già determinati livelli per il pullback di B (molto spesso il contraccolpo non supera 1-3 punti). Allo stesso modo, B segnala in anticipo i livelli di prezzo di C. C'è molta matematica ovunque.

Ad esempio, un Expert Advisor manuale calcola automaticamente i livelli a partire dal movimento che ci interessa. In altre parole, si tira sull'onda desiderata e il futuro è già segnato.

Non c'è bisogno di formalizzare nulla: tutto viene fatto per voi.

 
Forester #:

Piuttosto, il percorso di ogni foglio la cui risposta supera la vostra soglia per l'apertura di un trade è un pattern.
Per esempio:
1° split: delta di 40 barre con corrente = 0,
2° split: 30 barre=100,
3° split: 20 barre=50,
4° split: 10 barre=100,
5° split: 1 barra=0.
Si tratta di 2 top con un trough. Un modello? Sì. Il percorso di 1 foglia lo descrive.

Se nel vostro albero ci sono 20 foglie che superano la soglia che state negoziando, avete 20 pattern nel vostro albero che utilizzate. Anche le foglie di minor successo descrivono i pattern, ma sono casuali/perdite.
Altri 100 alberi possono utilizzare altri chip/barre con valori di divisione diversi.
La foresta farà una media (sommando e dividendo per il numero di alberi) delle risposte di tutti gli alberi, otterremo un'opinione media sulla situazione.
Boost si aggiungerà semplicemente con un coefficiente di ponderazione/chiarificazione.

Un albero è un albero e, se non ricordo male, si può anche stampare.

Le foglie, invece, sono una materia oscura. È a livello di foglie che l'algoritmo, insieme alle penne del progettista, cerca un equilibrio tra errore di classificazione e bias. È possibile impostare gli alberi a una profondità tale da descrivere esattamente l'insieme di input - overtraining o overfitting. Il problema è ottenere una classificazione con un errore minimo in un futuro in cui non conosciamo l'insieme di input. Le foglie sono ovviamente finite, ma devono essere approssimate, non esattamente "finite". Pertanto, un modello è un albero.

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

Un albero è un albero e, se non ricordo male, si possono anche stampare.

Ma la questione delle foglie è oscura. È a livello di foglie che l'algoritmo, insieme alle penne del progettista, cerca un equilibrio tra errore di classificazione e bias. È possibile impostare gli alberi così in profondità da descrivere esattamente l'insieme di input - overtraining o overfitting. Il problema è ottenere una classificazione con un errore minimo in un futuro in cui non conosciamo l'insieme di input. Le foglie sono ovviamente finite, ma devono essere approssimate, non esattamente "finite". Pertanto, un modello è un albero.

Non sono d'accordo. Ho fatto l'esempio di una foglia con una profondità di 5 (la foglia si ottiene attraverso 5 suddivisioni ed è un modello). Se si ottiene una foglia attraverso 200 suddivisioni, si otterrà un modello sovra-addestrato che avrà scarse prestazioni su nuovi dati. Ma non smetterà di essere un modello. Un albero è un insieme di modelli.

 
Forester #:

Non sono d'accordo. Ho fatto l'esempio di un foglio a 5 profondità (il foglio è ottenuto attraverso 5 split ed è un modello). Se si ottiene un foglio attraverso 200 suddivisioni, si otterrà un modello riqualificato che avrà scarse prestazioni sui nuovi dati. Ma non smetterà di essere un modello. Un albero è un insieme di modelli.

Cominciamo dai fornelli.

Sto considerando due varianti di alberi: i tipi bagging e booleani (rf, ada).

Ciascuna di queste serie di algoritmi, piuttosto ampia, considera i dati in ingresso POSSIBILE, senza fare riferimento alle righe vicine. per questo motivo il set di addestramento viene creato selezionando casualmente le righe.

All'interno di una singola riga, viene effettuata una selezione dei valori del predittore che predice con la massima probabilità la classe specificata dalla variabile target (l'insegnante).

La combinazione di un certo numero di predittori dall'insieme dei predittori di input e dei loro valori in una singola riga viene chiamata modello.

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

All'interno di una singola riga, vengono selezionati i valori dei predittori che prevedono con la massima probabilità la classe specificata dalla variabile target (insegnante).

La combinazione di un certo numero di predittori dall'insieme dei predittori di input e dei loro valori in una riga può essere definita un modello.

Avete frainteso lo stovepipe. Sembra che non abbiate mai guardato il codice di costruzione dell'albero.... Non ci sono affatto operazioni all'interno di una riga!!!, solo con gli insiemi (con i pieni o con i lotti).

In breve:
Un insieme casuale/pieno di righe passato all'addestramento, viene ordinato uno per uno per ogni predittore/colonna. Vengono controllate diverse suddivisioni (media/percentile/random), vengono contate le statistiche per ciascuna di esse e viene selezionata la migliore suddivisione per l'intero insieme di righe, non per una/ogni riga come suggerito.
In base alla migliore suddivisione, l'insieme di stringhe viene diviso in due insiemi, poi ogni insieme viene ordinato di nuovo e viene selezionata la migliore suddivisione per ciascuna delle parti, ecc. fino a quando non viene raggiunta la regola di arresto (per profondità, numero di esempi per riga, ecc.)

Potete vedere maggiori dettagli nell'editor, avete il file:
\MQL5\Include\Math\Alglib\dataanalysis.mqh
Funzione ClassifierSplit() e quella da cui viene chiamata.
Lo capirete in un paio d'ore e non dovrete più parlare della ricerca dei predittori da una riga.
 
СанСаныч Фоменко #:

Non c'è bisogno di formalizzare nulla: tutto è già stato fatto per voi.

E qual è la precisione del vostro robot sull'intervallo più o meno di tre ore nel futuro? Mi riferisco al punto di snodo che la vostra IA calcolerà nel futuro. Con un errore di più meno 5-10 pip intraday sulla stessa sterlina-dollaro, e un errore di +-1-2 barre su m5.

E la vostra IA sarà in grado di rendersi conto in tempo che il modello (pattern) si è spostato non in base al prezzo, ma in base al tempo? Questo significa che non sarà il primo, ma il secondo o il terzo punto di calcolo ad essere attivato. :)

I coder sono come i bambini, se qualcuno dubita delle capacità di un computer (come se una macchina trovasse tutto), fanno subito il broncio e si offendono. ;) E nessuno riesce a capire perché non si riesce a trovare un algoritmo funzionante al 100%. E tutto perché c'è un piccolo dettaglio impercettibile, che dà il segnale che le proporzioni del modello in futuro si sposteranno di una certa quantità. Ma voi siete geni e dei del codice, non è una cosa onorevole scegliere qualcosa (cercare tutto a mano, contando su carta o calcolatrice). È più facile codificare qualche stronzata in ingresso, ottenere stronzate in uscita e poi cercare di ottimizzare il tutto.

Un chiaro sistema logico matematico è stato descritto più di 100 anni fa (e funziona ancora come un orologio). Sia in termini di algebra che di geometria. Ma gli inventori dei loro stessi lisapi sono ancora in abbondanza....

 
Bogard_11 #:

Un chiaro sistema logico matematico è stato descritto oltre 100 anni fa (e funziona ancora come un orologio). Sia in termini di algebra che di geometria. Ma ci sono ancora un sacco di inventori della propria lisapedine.....

Quindi mostrateci il vostro mestiere...
Perché tutte queste parole d'ordine?

E vediamo come funziona la tua TS secondo una teoria centenaria che funziona come un orologio....
Forza.