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

 
SanSanych Fomenko:

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.

 
Dr.Trader:

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.

 
In passato, quando Neurochel era giovane e disponibile, si usava il paper trading. Spero che tutti sappiano cos'è, ma quando si lavora in tempo reale TS ha cominciato a perdere, e poi si è deciso di non usare un pezzo di carta commerciale, e addestrare la rete, lasciando un pezzo di reale per valutare la correttezza della rete. Attualmente sto facendo quanto segue: cancello un giorno, che è l'ultimo in termini di volume e interesse aperto. Per quello che ???? hai visto spesso un grafico del genere, che all'inizio dopo l'ottimizzazione il TS è precipitato un po', e poi inizia a dare segnali abbastanza decenti. Ecco perché tolgo un giorno che mi è già noto, e TS è come se iniziasse a scambiare dal giorno successivo.... Sto diventando abbastanza bravo, non senza errori ovviamente, ma ancora accettabile per i profitti...
 
Mihail Marchukajtes:


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.

 
Avete mai pensato a cosa succede se la rete alimenta i modelli che ci saranno in futuro? La questione è come trovarli, quali giorni si dovrebbe scegliere per allenare la rete a sapere che nel giorno corrente questi modelli saranno lì. 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....
 
BlackTomcat:
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?

E non sei solo, è NORMALE, non normale quando funziona e tali non vendere corsi su "trading di successo", non impegnati in partnership e altre sciocchezze, e bussare da qualche parte come https://www.rentec.com/Jobs.action?data=true se non c'è il desiderio di preoccuparsi di raccogliere capitale per il trading algoritmico))
Renaissance Institutional
Renaissance Institutional
  • www.rentec.com
RENAISSANCE TECHNOLOGIES, a quantitatively based financial management firm, has openings for programming positions at its Long Island, NY research center. Programming Opportunity We are looking for bright, outstanding programmers who are interested in working in a stimulating and academic environment to implement and support software used in...
 
Ancora una volta, credo fermamente che, affinché NS funzioni, deve essere addestrato sui modelli che si verificheranno durante un trade (giorno, settimana) e, soprattutto, la reazione del mercato a quei modelli deve essere la stessa del periodo di addestramento. Allora qualsiasi perseptron farà il lavoro. La questione è come selezionare l'esatta serie di modelli che saranno nel corso della prossima giornata o settimana di trading????? Ecco come si fa, e non c'è bisogno di inventare un NS super complesso o altro se la rete è addestrata su modelli futuri....
 
Mihail Marchukajtes:
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...
 
Mihail Marchukajtes:
La questione è come scegliere esattamente quell'insieme di modelli che saranno durante il prossimo giorno di trading o la settimana ?????
Purtroppo non ne ho il diritto e francamente non voglio approfondire, visto che ci stiamo rubando soldi a vicenda)))) Ma 2 anni fa, quando lavoravo con SAM, stavo elaborando più di 500 chip all'ingresso della rete neurale e avevo circa 30 uscite, ma il tempo passa... ;)