L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 172
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
PS.
Per gli ardenti sostenitori di MCL, noto che senza tutte quelle azioni e strumenti discussi in questo thread, il tester non dà alcuna ragione per speculare sul futuro comportamento del sistema di trading. Il tester dice: "Questi sono i risultati per questo periodo di tempo". Questo è tutto. Il tester dà esattamente una cifra, per esempio, il fattore di profitto che è legato a un certo periodo storico. E si possono ottenere statistiche solo in R. E il tester è la parte finale del design del modello, ma non sostituisce l'intero processo di sviluppo.
Stupidaggini e sciocchezze!
Il tester darà esattamente quel tanto e quello che gli è stato chiesto. Avete chiesto il fattore di profitto? - ecco il fattore di profitto. Se chiediamo qualcos'altro o diversi, ci sarà una risposta anche per questo. E le statistiche possono essere ottenute chiamandoTesterStatistics() inOnTester(), e tutto questo è stato disponibile per molto tempo. Qualsiasi altra statistica può essere aggiunta se necessario.
Anche il vostro R non sarà in grado di rispondere se non avete nulla o non sapete cosa chiedere.
Per esempio, avete fatto una convalida su un campione differito. Supponiamo che il modello sui dati differiti si sia fuso. Cosa fare in questo caso? Se iniziate a modificare di nuovo i parametri per passare la convalida sul campione in sospeso, state essenzialmente includendo i dati del campione in sospeso nella vostra convalida incrociata, e anche la convalida incrociata viene modificata. Questo può essere corretto aggiungendo un nuovo campione differito. E se il modello fallisce anche su questo? Dobbiamo adattare i parametri per passare anche il nuovo campionamento ritardato? È una corsa senza fine.
Includere un campione differito nella validazione incrociata e creare un nuovo campione differito non è la risposta, ma un ciclo infinito fino a quando non si è fortunati e il modello passa la validazione differita. Allora puoi fermarti, ma questa non è una soluzione forex, è solo la fortuna che ti sorride, che comunque statisticamente sarebbe uno scarico.
Quindi la domanda è: diciamo che il modello sui dati in sospeso è crollato. Cosa si fa in un caso simile?
Dr. Trader, cercherò di spiegarlo con un'immagine. Non preoccupatevi, questo è un problema complesso, ma può essere risolto. Non dovresti fare come suggerisci o ci sarà un circolo vizioso.
E un'altra cosa, concluderò gradualmente l'attività in questo thread. Mi sto stancando del forum. Meglio in privato e con esempi.
Quindi:
Selezione del modello per la previsione e il trading di serie temporali rumorose
Passo dopo passo:
Imparare il modello - il modello mostra caratteristiche granulose
Test di un modello - i modelli hanno già prestazioni notevolmente peggiori. Ma ci sono alcuni modelli che funzionano bene.
Questo è il punto in cui è necessario selezionare i modelli. Tu ed io scegliamo i modelli che si comportano meglio nel test (possono essere blocchi di convalida nella crossvalidazione). E diventa subito chiaro che se scegliamo un modello per periodo, dove la sua caratteristica è già nota, stiamo facendo una scelta ottimista.
Se abbiamo una convalida incrociata (i dati per i diversi modelli sono misti) non possiamo renderli una commissione sul test (il test è misto). Voi invece prendete i modelli "migliori" selezionati nel test e li testate su un campione ritardato. Cosa ci aspettiamo di vedere? Poiché nell'applicazione reale ci baseremo sulle prestazioni dei modelli su blocchi di convalida incrociata (o su test singoli, se non vogliamo preoccuparci della convalida incrociata), abbiamo bisogno di sapere se i migliori modelli selezionati mostreranno prestazioni simili in futuro (sul campione differito 1). Se c'è una relazione, è già molto buona. In sostanza, possiamo fermare lo studio a questo punto e selezionare i migliori modelli tramite crossvalidazione in futuro.
Ma se vogliamo ancora fare un comitato, dobbiamo capire quali modelli selezionare per il comitato. Lo facciamo sul campione ritardato 1, ma non solo a caso. Ancora una volta ricordiamo che nella vita reale ci baseremo solo su dati di prova (gli ultimi dati a nostra disposizione). Quindi includeremo nel comitato uno per uno i modelli che mostrano i migliori risultati nel TEST. Massimizziamo il rendimento del comitato sul campione ritardato.
A questo punto si è soggetti a un bias di selezione del modello multiplo, perché stiamo valutando la scelta della commissione su dati sui quali la sua caratteristica è già nota.
Il campione finale è necessario per convalidare la commissione.
Se nella fase di convalida dei modelli selezionati (sul test) sul campione ritardato vediamo che le caratteristiche dei modelli sono fluttuanti - questo è già fatale, perché non abbiamo la possibilità di selezionare il modello sul test. A questo punto dobbiamo cambiare qualcosa nell'approccio.
Se il comitato assemblato precipita sull'ultimo campione differito (questo è un test una tantum), allora l'adattamento del comitato al campione precedente è avvenuto.
Ripetere l'intera procedura con diversi parametri, ottenendo la massimizzazione della charact. sui campioni finali differiti è impossibile, perché anche questa sarebbe una scelta ottimistica dei modelli.
Se anche tutto ha funzionato bene nei campioni differiti (cioè abbiamo minimizzato il bias di selezione del modello), è generalmente bene ripetere in un ciclo con gli stessi parametri l'intera procedura e ottenere la distribuzione del lavoro della commissione nell'ultimo campione. È chiaro che ogni volta abbiamo bisogno di dati diversi (almeno parzialmente). E questo è già molto costoso...
Per favore, ricordate questo schema. Porta la tua stima del trading in tempo reale a un possibile assoluto.
Tutto vero, ma questo modello è molto barbuto, tutti lo sanno da molto tempo, quindi...
E ora il classificatore più semplice l'avrebbe trovato, per una serie questa interpretazione di prezzo, volume e OI non è un dato sufficiente, è necessario almeno un order book e una striscia con le direzioni di trade, e nel caso del forex, poiché queste informazioni non esistono, devono essere prese dai mercati dei futures liquidi occidentali.
Persone intelligenti, sviluppano e addestrano reti neurali, ma non vedono le cose semplici. Ho letto il tuo post e sono rimasto abbastanza sorpreso. Se ho capito bene, tu, grosso modo, hai trovato tutte le diminuzioni di prezzo dello 0,2% dopo un certo massimo, poi hai preso tre candele vicino a quel massimo e hai eseguito alcune manipolazioni con i loro prezzi e infine le hai ridotte a una certa probabilità con l'aiuto di una rete neurale. Ma mi scusi, non crede che un tale approccio sia troppo primitivo? :) State scavando nei posti sbagliati. Ecco perché il risultato è l'opposto della realtà. Caratterizzerei il vostro approccio in questo modo: state cercando di prendere 3 pixel da un'immagine FullHD e di farvi un'idea dell'intera immagine basata su quei tre pixel. OK, non l'intera immagine, ma qual è la probabilità di prevedere correttamente almeno il 10% dell'area dell'immagine? Spero che il mio esempio sia chiaro. Non è necessario guardare i pixel per vedere l'immagine. In altre parole, non hai bisogno di guardare le singole barre per capire il grafico, devi guardare l'intero grafico . E la soluzione del problema si trova più nel regno della geometria che dell'algebra, della fisica o della biologia, per esempio. Anche se, quando leggo alcune delle ricerche che le persone fanno qui, ho la forte sensazione che stiano cercando di comprendere la struttura umana usando la geografia. :)
+1
Non direi nemmeno "grafico", ma i grafici oltre ai prezzi...
L'analogia sui 3 pixel e l'HD, è molto pertinente secondo me a ciò che la maggior parte delle persone fa qui.
Andrey Dik:
O anche qualcuno dirà: "Non sai proprio cucinare MO!". - Probabilmente sì, non posso. Ma chi sa come? Chi è stato in grado di usare il MO sul mercato?
Avete mai pensato che cosa succede se alimentiamo le reti con i modelli che saranno in futuro? La domanda è come trovarli: quali giorni devo scegliere per insegnare alla rete a sapere che saranno nel giorno corrente? Ecco la risposta. Selezioniamo i giorni che hanno avuto il volume e l'OM attuali, rispettivamente, nella speranza che il contesto del giorno sia simile ai giorni che erano nel campione di allenamento. Non invio i valori di volume e OI all'ingresso della rete, scelgo solo questi giorni, e l'ingresso è AD, Zscore, Kelli, ecc. In altre parole, l'idea è quella di selezionare un tale insieme di modelli sulla storia e la reazione del mercato ad essi, come nel giorno corrente. Se ci sono teorie su questo tipo di selezione utilizzando altre tecniche, mi piacerebbe sentire....
È esattamente così che si fa, come si potrebbe fare altrimenti? Nel caso banale, il dataset di allenamento è una sequenza vettoriale di incrementi normalizzati del prezzo del volume e dell'OI, chiamiamo vectorSet[][] una rete neurale o qualche altro classificatore input =vectorSet [t][], teach output = vectorSet [t+1][]
Se ho capito bene la domanda...
La questione è come scegliere esattamente quell'insieme di modelli che saranno durante il prossimo giorno di trading o la settimana ?????