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

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
Se non è un segreto, su quali principi è fatta la serie artificiale? È solo un'onda sinusoidale approssimativa mescolata al rumore, o è più complicato di così?
Dato che ci sono diverse domande al mio post, dovrei rispondere a tutte in una volta.
Questo è il forum per il trading, i sistemi di trading automatico e il test delle strategie di trading.
Come usare il machine learning nel trading: teoria e pratica (trading e non solo)
Yuriy Asaulenko, 2019.02.17 21:01
Ho cercato di usare Python per addestrare una rete neurale. Il pacchetto è scikit-learn, NS stesso è sklearn.neural_network.MLPRegressor. Oltre 100 neuroni, strati nascosti -7, ingressi -19, uscita 1. Il compito è quello di prevedere un processo casuale.
Il compito è artificiale, fatto su un generatore di rumore e in modo che questo rumore possa essere teoricamente previsto. Provato per alcuni conteggi in anticipo.
Risultato del confronto tra previsione e reale per 5 mila punti scelti a caso:
X è la previsione, Y è il valore reale. Sono tutti molto vicini a una linea retta di 45 gradi. Cioè la previsione è quasi perfetta (su campione artificiale).
L'apprendimento è molto veloce - 24 epoche. Nel tempo, circa 10 secondi.
Devo dire che sono rimasto molto sorpreso. Ho cercato in tutti i modi di nascondere i dati. Sono sorpreso che l'abbia trovato. In generale, vicino al misticismo).
Conclusioni: Il NS sklearn.neural_network.MLPRegressor è abbastanza utilizzabile. Non ho ancora provato il classificatore.
Già provato qualcosa con il mercato, nessun risultato finora. Non sta cercando, dice che non c'è niente, anche se il compito è della stessa classe di uno generato artificialmente.
Devo dire subito che non ho inventato la macchina del moto perpetuo e non ho fatto nessun trucco, quindi se ho fatto qualche trucco allora l'ho fatto solo per la mia ignoranza.
All'inizio, un po' di teoria. I processi casuali possono essere previsti, compreso il lancio di una moneta. Tutto dipende dalla formulazione del problema di previsione. Per esempio, la previsione "Domani pioverà" è corretta al 90% circa. Tuttavia, non si dice se pioverà la mattina, il pomeriggio o la sera tardi o se potrebbe piovere tutto il giorno, perché non si ottiene una previsione affidabile.
È possibile prevedere le serie temporali - è possibile a certe condizioni. Una di queste possibili condizioni è la natura limitata dello spettro BP - più ampio è lo spettro, più piccolo è l'intervallo di previsione, più stretto è, più lungo è l'intervallo di previsione.
Le serie temporali del mercato hanno uno spettro infinito, quindi non si può davvero prevedere il prezzo per 5 minuti o un'ora in anticipo. Non mi sono posto un compito del genere.
Ora prepariamo i dati per l'allenamento.
1. otteniamo una serie dal generatore di numeri casuali (RNG) e la trasformiamo in una forma vicina a quella del mercato. Tale serie ha uno spettro illimitato e non è realistico prevedere i suoi valori.
2. passiamo la serie attraverso il filtro passa basso (LPF). Abbiamo ricevuto una serie casuale con uno spettro limitato e la possibilità di prevedere il numero n avanti, tuttavia questa serie non è molto simile a quella del mercato.
3. Generiamo una serie con M=0 dalla RNG e la aggiungiamo alla serie dopo la LPF, dopo aver tenuto un gioco di tamburello. Otteniamo di nuovo una serie che è molto vicina a quella del mercato. Useremo questa serie per la formazione.
4. Come funzione obiettivo prendiamo la serie nel passo 2 passata attraverso la LPF e spostata di N campioni all'indietro che dà la previsione di N campioni in avanti.
Poi alimenta le serie di input e di target al NS, si allena e controlla i risultati dell'allenamento. Poi ripetere i passi 1-4, alimentato serie nel passo 3 al NS e confrontare l'uscita del NS con una serie spostata di N campioni nel passo 4.
Questo è tutto. Nessuna meraviglia. Tutto questo può essere fatto senza NS. Quello che mi ha sorpreso è che l'NS lo ha fatto in pochi secondi, e in soli 24 cicli di clock di apprendimento. E questo con molto rumore, non si può nemmeno vedere la componente a bassa frequenza. Incredibile.
Perché non ha funzionato con il mercato VR. Qualsiasi LPF ha un ritardo significativo e la sua curva è spostata a destra rispetto a VR. Cioè, abbiamo un segnale LF già ritardato in ogni punto della serie, e quindi l'intervallo di predizione risulta essere più grande del consentito, e la predizione diventa irrealistica. Non possiamo nemmeno costruire un vero obiettivo per l'allenamento.
Yuriy Asaulenko:
Il concetto di spettro è definito solo per un processo stazionario. Il prezzo non lo è, se non altro perché la dispersione aumenta con il tempo.
Il concetto di spettro è definito solo per un processo stazionario. Il prezzo non lo è, se non altro per l'aumento della dispersione nel tempo.
Questo è del ciclo, c'è un anziano in un giardino, e uno zio a Kiev.
OK, non vi impedirò di vendere tamburi Stradivari.
OK, non vi impedirò di vendere tamburi Stradivari.
Ottenere i prezzi in Python via socket quasi istantaneamente (50k record) in 10 righe di codice
e sul lato mt5 20
Non ho bisogno di libretti improvvisati per R. Perché è così difficile farlo da soli? Grazie per i socket nativi in mt5.
Posso aggiungere qualsiasi funzione molto facilmente, sia che abbiate bisogno di segnali per aprire compravendite o altro.
Ottenere i prezzi in Python via socket quasi istantaneamente (50k record) in 10 righe di codice
e sul lato mt5 20
Non ho bisogno di libretti improvvisati per R. Perché è così difficile farlo da soli? Grazie per il fatto che i socket nativi funzionano in mt5.
Ci puoi scommettere).
Vedo che sono passati a Spyder. Dovrebbero, è meglio che armeggiare con il tuo notebook.
Non si sa mai. La griglia su un grafico è fatta da plt.grid().
Beh, ok, mi fa pena. )) Quasi ogni segnale radio è un processo non stazionario, tuttavia, ha uno spettro.
I radioamatori confondono un processo casuale con la sua attuazione.
I radioamatori confondono un processo casuale con la sua attuazione.
Non voglio discutere con i troll.
Sì, giusto).
Vedo che sei passato a Spyder. È vero, è meglio che pasticciare in U-notepad.
ZS La griglia del grafico è fatta da plt.grid().
Ho dovuto armeggiare con spyder per portarlo su python nudo, senza anaconda.
Avevo vscode prima, ma prosciuga la durata della batteria, quindi devo raggiungere la presa.