L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 19
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Non abbiamo perso nulla. Poi avremo una sequenza di cambiamenti di cluster. Nei punti di transizione da cluster a cluster si può costruire una matrice quadrata e cambiare il MO: entrare in acquisto sul cluster n, chiudere la posizione sul cluster m. Poi la stessa matrice per la vendita. Tutte le varianti stanno solo passando. E puoi variare i parametri di clustering e guardare il risultato nel ciclo.
Probabilmente avete parametri diversi per la creazione di foreste in r e rattle, quindi i risultati sono diversi. In rattle stesso si può anche cambiare il numero di alberi e di variabili.
E avete il 34% di errore nel rattle sui dati di allenamento e il 3% di errore sui dati di convalida? C'è qualcosa di sbagliato nei dati di test, o in qualche modo esisteva già nei dati di allenamento, o avete un set di dati molto piccolo ed è semplicemente successo così.
no, nel rattle in tutte le fasi c'è un piccolo errore
e R ha un grande in tutte le fasi )
sono gli stessi, e con qualsiasi parametro un tale divario non è possibile.
E un'altra domanda per la R
libreria(kza)
DAT <- rnorm(1000)
KZP <- kzp(DAT,m=100,k=3)
sommario(KZP,cifre=2,top=3)
come posso tirarlo fuori dal "sommario" http://prntscr.com/bhtlo9 in modo che io possa lavorare con queste cifre
Anch'io ho questi problemi. Di solito basta eseguire attributi(KZP) per ottenere un elenco di variabili disponibili e poi semplicemente passare attraverso di esse, ad esempio KZP$window ecc. e trovare i numeri giusti. Ma qui questi numeri sono generati nella funzione Riepilogo stesso e non vengono salvati da nessuna parte.
Qui c'è un codice sorgente: https://cran.r-project.org/web/packages/kza/index.html, dovete fare qualcosa del genere:
Grazie Dr.Trader, è bello avere qualcuno a cui chiedere di questo complicato R )
Per quanto riguarda rattle ho capito qual è il problema, rattle campiona anche i dati "sample()" è necessaria questa azione? Con il campionamento e su R ho ottenuto gli stessi risultati, ma il trucco è che i nuovi dati arriveranno una candela alla volta, non sarà possibile campionarli.
E si scopre che se l'intero campione viene campionato, i risultati sono sorprendenti per tutti i periodi, compresi quelli fuori campione, ma quando si inviano i dati reali, è lo stesso di sempre.
Quindi la domanda è se questo campionamento è necessario?
Sì, è vero. Con sample - rattle divide i dati di allenamento in diversi gruppi per righe (le righe sono assegnate casualmente a tre tabelle, in un rapporto di 75%/15%/15%). Produce 3 tabelle da un file di input. Le colonne non sono interessate da questo, saranno le stesse in tutte le tabelle.
Tabella di formazione - la formazione del modello sarà basata su di essa
Convalidare e testare le tabelle - per controllare la formazione
Supponiamo di prendere i dati dell'ultimo anno e di voler allenare il modello per fare trading durante i prossimi mesi. La formazione stessa avrà luogo solo sul tavolo del treno. Dopodiché, puoi testare il modello su una seconda o terza tabella contando i loro errori. Se il modello è addestrato correttamente, gli errori su tutte e tre le tabelle saranno approssimativamente uguali, nonostante il fatto che sia stato addestrato usando solo la prima tabella.
Questo è facile da controllare su una foresta casuale. Quasi ogni set di dati può dare un errore dello 0% su una tabella di allenamento. Ma avendo controllato lo stesso modello ma con le tabelle di prova e di convalida - molto probabilmente vedrete il 50% di errore lì. Questo significa che il modello viene riqualificato, e spostandolo su mt5 perderai gradualmente il tuo deposito.
Ma se prendete il file RData con l'esempio di SanSanych, vedrete un errore del 30% sulla tabella dei treni. È interessante notare che l'errore sulle tabelle di validazione e di test rimarrà più o meno lo stesso, nonostante il fatto che il modello non abbia visto i dati di queste tabelle durante l'addestramento. Questo modello può essere facilmente trasferito su mt5 e scambiato.
Se prendiamo semplicemente tutti i dati disponibili senza campionamento, addestriamo il modello, vediamo lo 0% di errore e siamo felici, sarà molto male nel commercio reale.
Sì, è vero. Con sample - rattle divide i dati di allenamento in diversi gruppi per righe (le righe sono assegnate casualmente a tre tabelle, in un rapporto di 75%/15%/15%). Produce 3 tabelle da un file di input. Le colonne non sono interessate da questo, saranno le stesse in tutte le tabelle.
Tabella di formazione - la formazione del modello sarà basata su di essa
Convalidare e testare le tabelle - per controllare la formazione
Supponiamo di prendere i dati dell'ultimo anno e di voler allenare il modello per fare trading durante i prossimi mesi. La formazione stessa avrà luogo solo sul tavolo del treno. Dopodiché, puoi testare il modello su una seconda o terza tabella contando i loro errori. Se il modello è addestrato correttamente, gli errori su tutte e tre le tabelle saranno approssimativamente uguali, nonostante il fatto che sia stato addestrato usando solo la prima tabella.
È facile da controllare su una foresta casuale. Quasi ogni set di dati può dare un errore su una tabella 0%. Ma, avendo controllato lo stesso modello ma con tabelle di prova e di convalida - probabilmente vedreste il 50% di errore lì. Questo significa che il modello viene riqualificato, e spostandolo su mt5 perderai gradualmente il tuo deposito.
Ma se prendete il file RData con l'esempio di SanSanych, vedrete un errore del 30% sulla tabella dei treni. È interessante notare che l'errore sulle tabelle di validazione e di test rimarrà più o meno lo stesso, nonostante il fatto che il modello non abbia visto i dati di queste tabelle durante l'addestramento. Puoi facilmente trasferire questo modello a mt5 e fare trading.
Se si prendono tutti i dati disponibili senza campionamento, si addestra il modello, si vede lo 0% di errore e si è felici - sarà molto male nel commercio reale.
Capisco il tuo punto, ma la satira è che l'errore è piccolo sui campioni di tutti e tre, ma è grande sui dati non campionati.
Inviami la tua email in un messaggio privato ti invierò i dati, vedere da soli o insegnarmi ad allegare un file perché io o non allegare o il forum si blocca in un inferno nel tentativo di allegare
Comunque, ho addestrato il mio modello (foresta casuale), il risultato non è soddisfacente, ma non riqualificato come
1) il mio obiettivo è uno zigzag con un ginocchio dello 0,5%.
2) predittori - livelli e candele - 100 cose in totale (senza oscillatori e altri indicatori)
3) Il modello stesso non è stato ottimizzato affatto, ho appena messo 3 divisioni, il numero di alberi è 200 unità
4) A proposito, se lo passiamo attraverso PrunePredictors (selezione delle caratteristiche), allora solo 3 predittori sono stati scartati su tutti i 100, per un totale di 97 predittori rimasti
il campione è diviso in due parti, una formazione e una prova, la prova è la quinta parte della formazione
Nella parte di addestramento: errore del modello 33
Sul test: errore del modello 32%
I dati non sono campionati, perché non capisco ancora questa bestia.
Ora possiamo pensare al cluster
Forum: come inserire un'immagine
Questo è l'unico modo perché l'immagine rimanga sul forum per sempre e tutti gli utenti, anche dopo un anno, possano vedere l'immagine e capire di cosa si trattava.
L'unico modo per mantenere un'immagine in un forum a tempo indeterminato è che tutti gli utenti possano vederla e capirla anche dopo un anno.
La domanda non è perché ci sono risultati diversi in R e rattle sugli stessi dati e lo stesso modello
Seconda domanda: che senso ha testare un modello "fuori campione" su rattle se mostra l'inferno