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

 
Aleksey Vyazmikin:

Quindi presumo che il soggetto sia lo stesso ovunque - un trader e perché dovrebbe cambiare il suo comportamento a seconda dello strumento?

Hai finalmente deciso nel tuo ragionamento che non c'è differenza se il cavallo è davanti al carro o viceversa - il carro è davanti al cavallo! ))))

Un trader si adatta al mercato, perché non c'è nessun partecipante al mercato che possa dirti dove sarà il prezzo domani, non c'è nessun partecipante al mercato che abbia tutte le informazioni su tutti i partecipanti al mercato


Aleksey Vyazmikin:
Se assumiamo che i mercati siano tutti uguali e che il comportamento dei prezzi abbia modelli simili, allora perché non combinare una dozzina di strumenti in un campione e cercare "segni" comuni per tutti i mercati?

supponiamo, poi nell'ottimizzatore avrai sempre il tuo TS a trovare ottime soluzioni (spero che tu non consideri il trading con stop-loss e risk-excess), ma di solito tutto è triste, quello che funziona su un mercato può non funzionare su un altro.

Ecco il problema generale: semplificate il modello (il mercato) alle coordinate cartesiane X e Y, sulla base del vostro presupposto che tutti i mercati sono uguali, allora c'è un coefficiente di trasformazione (lineare o non lineare) che permette di convertire alcuni dati in altri - se è così, allora è un problema per il NS, risolve il problema di trovare la dipendenza dei dati di input sull'output, una tabella di moltiplicazione non ha alimentato il NS solo persona pigra qui ;)

 
Igor Makanu:

Supponiamo, poi nell'ottimizzatore avrete sempre il vostro TS trovare grandi soluzioni (spero che non stiamo considerando il trading con perdite in eccesso e rischi in eccesso), ma di solito tutto è triste, ciò che funziona su un grafico non funziona su altri


Questo indica solo che la neuronet o qualunque cosa stiate usando ha trovato un'altra cazzata. Si è aggrappata alla forma, adattata su un'area locale, una delle milioni di implementazioni, ma non ha potuto "capire" la struttura globale. Ma la cosa principale - per andare, voglio dire per guadagnare, giusto?

Se siete così impegnati nel MO, volendo spostare la responsabilità dalla propria testa e dagli occhi, e armeggiare senza anima, ecco un "criterio" per la valutazione finale.Se avete trovato "qualcosa" sui 15 minuti della sterlina, dovrebbe funzionare più o meno lo stesso sui minuti dell'oro e sul giornaliero-settimanale dei "chemos" domestici, e su tutto, compreso lo zucchero e i semi di soia dai tempi di Larry Williams.

Scusa se sono così scortese (Igor Makanu: non tu personalmente, ma in generale), apri gli occhi e guarda i grafici nel libro "Long-Term Secrets"... O Linda Raschke ha alcune immagini, vedi molte differenze da 15 minuti della sterlina o orologi bitcoin :)

Se si giudica dalla percentuale di operazioni redditizie, dal fattore di profitto, tutto dipende dallo strumento, dal timeframe, la differenza è più o meno 3-4 per cento, non di più. Con la crescita del timeframe la stabilità dei modelli è in calo. La più accurata è sui "ticks", qualunque sia il test, i parametri del sistema sono stretti come prima. E poi l'errore si accumula nel tempo e i modelli diventano più vaghi. Più tempo ci vuole per formare il modello, più forte è il tremolio dell'immagine. Ma la struttura del modello non "cade a pezzi", anche su MN, è ancora lo stesso modello, la differenza è nelle percentuali.

--

La base di ferro per la "uguaglianza" di tutti i grafici di mercato è lì, non possono essere diversi puramente fisicamente. Né possono cambiare nel tempo, nemmeno di "un millimetro", beh a meno che per esempio non cambi la velocità della luce o il numero di PI.

Ti ho dato un link a un libro più di una volta, e dice perché sono uguali e perché non possono cambiare nel tempo.

 
Aleksey Vyazmikin:

Avevo la formazione per il 2016-2017 e poi ho solo controllato i fogli per il 2014-2018 e ho selezionato quelli che erano redditizi ogni anno e soddisfacevano una serie di altri criteri (crescita complessiva / nessun grande drawdown). Quindi mi sto chiedendo se un tale modello può essere utilizzato.

Per quanto riguarda la combinazione di diversi simboli, molti predittori qui sono il guadagno in pip per diversi intervalli di tempo, e non funzionerà con diversi strumenti...

Cos'è un pacchetto o un programma in cui si possono visualizzare le singole foglie e le loro statistiche?

Ha insegnato 1 albero o una foresta lì?
 
Wizard2018:

Dimostra solo che la rete neurale o qualsiasi cosa tu stia usando ha trovato l'ennesimo falso. Si aggrappa alla forma, si regola su una sezione locale, una delle milioni di varianti di implementazione, ma non può "capire" la struttura globale.Ma la cosa principale è guidare, cioè guadagnare, giusto?

Se siete così intenti sul MOD, volendo spostare la responsabilità dalla propria testa e dai propri occhi, a un puma senz'anima, ecco il "criterio" per la valutazione finale.Se avete trovato "qualcosa" sui 15 minuti della sterlina, dovrebbe funzionare più o meno lo stesso sui minuti dell'oro e sul giornaliero-settimanale dei "chemos" domestici, e su tutto, compreso lo zucchero e i semi di soia dai tempi di Larry Williams.

Scusa se sono così scortese (Igor Makanu: non è per te personalmente, ma in generale), apri gli occhi, guarda i grafici nel libro "Long-Term Secrets"... O Linda Raschke ha alcune immagini, vedi molte differenze da 15 minuti della sterlina o orologi bitcoin :)

Se si giudica dalla percentuale di operazioni redditizie, dal fattore di profitto, tutto dipende dallo strumento, timeframe, la differenza è più o meno 3-4 per cento, non di più. Con la crescita del timeframe la stabilità dei modelli è in calo. Il più accurato è su "ticks", qualunque sia il test, i parametri del sistema sono stretti come prima. E poi un errore si accumula nel tempo e gli schemi diventano più vaghi. Più tempo ci vuole per formare uno schema, più l'immagine trema.

--

La base di ferro per cui tutti i grafici di mercato sono "uguali" c'è, non possono essere diversi dal punto di vista puramente fisico, né possono cambiare nel tempo, anche di "miglio-metro", beh, a meno che per esempio non cambi la velocità della luce o cambi il numero di PI.

Ho dato un link a un libro più di una volta, dice tutto, sia perché sono uguali che perché non possono cambiare nel tempo.

Mi dispiace, non ho sempre il tempo di leggere tutte le discussioni nel thread, lo leggerò, non c'è niente da leggere ora comunque

 

R o Python? Perché non entrambi? Usare Anaconda Python in R con {reticulate}

R or Python? Why not both? Using Anaconda Python within R with {reticulate}
R or Python? Why not both? Using Anaconda Python within R with {reticulate}
  • Econometrics and Free Software
  • www.r-bloggers.com
This short blog post illustrates how easy it is to use R and Python in the same R Notebook thanks to the package. For this to work, you might need to upgrade RStudio to the current preview version. Let’s start by importing : is an RStudio package that provides “a comprehensive set of tools for interoperability between Python and R”. With it...
 
Vizard_:

Fa, serve un filtro normale come il JMA di Jurica, ma prima del '71.
Preferibilmente non troppo complicato e in R. Ne hai?

No.

Ho usato il JMA finalizzato su mcl4 per molto tempo in termini di adattamento al periodo, ma non è molto utile: si sbiadisce come tutto il resto. Di tanto in tanto ho dovuto intervenire con le mani.

Uso gli indicatori come predittori, ma non sono a conoscenza di nessuno smoothing che abbia potere predittivo per le mie variabili target.

Se si tratta di filtri, c'è un curioso pacchetto chiamato smooth. All'interno dello smoothing si trova Kalman con lo spazio di stato. Dà mashup di ottima qualità, e con estrapolazione (previsione) per diversi passi avanti.


Ma di nuovo, la cosa principale per me è: capacità predittiva per l'obiettivo, e tutto in questo pacchetto è lo stesso problema: non ha capacità predittiva.


Ecco perché ho rinunciato a tutti i filtri, allo smoothing e alle altre cose.

 
Igor Makanu:

nel vostro ragionamento avete finalmente deciso che non fa differenza se il cavallo è davanti al carro o il carro è davanti al cavallo! ))))

Il trader si adatta al mercato, perché non c'è nessun partecipante al mercato che può dirvi dove sarà il prezzo domani, non c'è nessun partecipante al mercato che ha tutte le informazioni su tutti i partecipanti al mercato

Il commerciante è un'immagine collettiva, è una persona che esprime la volontà di una persona (fisica o giuridica), che influenza il mercato applicando le sue competenze per soddisfare le esigenze di un cliente. Questo è il motivo per cui dico che collettivamente le competenze simili in tutti gli strumenti vincono, non a causa della conoscenza o delle competenze stesse, ma a causa della quantità di beni degli stakeholder utilizzati. Aggiungete a questo la religione globale dell'analisi tecnica, che è inapplicabile alla maggior parte dei partecipanti al mercato (una volta scontato un link al requisito della Banca Centrale di conoscere questi postulati per un partecipante professionale al mercato dei titoli)... Non si può dire dove sarà il prezzo, il nostro compito è quello di capire come il prezzo si muoverà a seconda del vettore di movimento scelto e di minimizzare il costo di entrata nella transazione, il prezzo del rischio.


Igor Makanu:


Supponiamo poi nell'ottimizzatore si avrà sempre il vostro TS troverà grandi soluzioni (spero che il commercio con la perdita di sovracompensazione e l'eccesso di rischio, non consideriamo), ma di solito tutto è triste, ciò che funziona su un grafico non funziona su altri

Ecco il problema generale: semplificate il modello (il mercato) alle coordinate cartesiane X e Y, in base al vostro presupposto che tutti i mercati sono uguali, allora c'è un rapporto di trasformazione (lineare o non lineare), che permette di convertire alcuni dati in altri - se è così, allora è un problema per il NS, risolve il problema di trovare la dipendenza dei dati di input sull'output, la tabella di moltiplicazione non è alimentata al NS dal pigro ;)

Sto lavorando di più con i predittori, che descrivono il mercato, e ne ho già più di 300, e 300 input sono troppo complicati per SN... Ecco perché uso modelli ad albero. In ogni caso il compito è quello di convertire i punti in unità relative affinché i predittori non dipendano dallo strumento. Io lo faccio con l'ATR giornaliero, ma forse c'è un metodo migliore - non lo so. In ogni caso ho bisogno di provare diversi metodi di trasformazione dei dati, dal momento che il mio campione di allenamento è piccolo - non tutte le variazioni sono prese in considerazione o presenti in una piccola forma quantitativa, che impedisce di identificare la regola (formazione della lista).

 
elibrario:

Qual è il pacchetto o il programma in cui si possono guardare i singoli fogli e le statistiche sul loro lavoro?

Hai allenato 1 albero o una foresta lì?

Sì, è molto istruttivo lavorare con il campionamento in Deductor Studio - puoi ricostruire rami o costruire un albero da zero - un ottimo strumento per capire come funziona l'albero e per testare le tue ipotesi. Lo svantaggio è che il pacchetto è pagato e non si può scaricare le regole (foglie) così facilmente...

Uso lo script R per generare l'albero con la genetica, poi uso lo script per scaricare i dati dell'albero ad ogni iterazione, e poi uso il programma parser, che è stato scritto separatamente, converte gli alberi in foglie in questo formato:

            if(Test_P!=1245)if(DonProc>=5.5 && TimeH< 10.5 && Levl_High_H4s1< 1.5) CalcBuy=CalcBuy+1; //(0.22513089 0.30366492 0.47120419)
            if(Test_P!=2030)if(Povtor_Low_M1>=0 && TimeH>=10.5 && TimeH< 21.5 && BB_iD_Center_H1< 0 && Levl_Close_D1>=-2.5 && Levl_Support_W1s1< 4.5 && LastBarPeresekD_Down_M15< 4.5) CalcBuy=CalcBuy+1; //(0.09111617 0.51252847 0.39635535)
            if(Test_P!=2537)if(Povtor_High_M1>=0 && rLevl_Down_iD_RSI< -6.5 && TimeH< 14.5) CalcBuy=CalcBuy+1; //(0.1990172 0.3832924 0.4176904)
            if(Test_P!=3243)if(Levl_Close_H1>=0 && TimeH<10.5 && Levl_Support_W1<-3.5) CalcBuy=CalcBuy+1; //(0.1153846 0.1538462 0.7307692)
            if(Test_P!=3314)if(Levl_Close_H1>=0 && TimeH< 10.5 && Levl_Low_W1s1N< 4.5 && Levl_Support_W1< -3.5) CalcBuy=CalcBuy+1; //(0.1153846 0.1538462 0.7307692)
            if(Test_P!=3583)if(Povtor_Type_M1>=0 && TimeH< 10.5 && Levl_Close_W1< -3.5) CalcBuy=CalcBuy+1; //(0.11428571 0.20000000 0.68571429)
            if(Test_P!=3857)if(Povtor_Type_M1>=0 && TimeH<10.5 && Levl_Support_W1<-3.5) CalcBuy=CalcBuy+1; //(0.07142857 0.17857143 0.75000000)
            if(Test_P!=6546)if(Povtor_Type_H1< 0 && Levl_Close_H1s1N>=0 && Levl_Close_H1s1N< 2.5 && Levl_High_W1s1>=2.5 && DonProc_M15>=5.5) CalcBuy=CalcBuy+1; //(0.1228070 0.4210526 0.4561404)
            if(Test_P!=6676)if(Povtor_Type_H1< 0 && Levl_Close_H1s1N>=0 && Levl_Close_MN1< 4.5 && TimeH< 21.5 && BB_iD_Center_H1< 0 && Povtor_Type_M15>=0 && Levl_Down_DC_M15>=-2.5) CalcBuy=CalcBuy+1; //(0.10619469 0.42477876 0.46902655)
            if(Test_P!=8673)if(Levl_Close_H1s1< 0 && Levl_Close_H1s1N>=0 && Part_H4>=2.5 && TimeHG< 3 && Levl_first_W1s1>=0.5) CalcBuy=CalcBuy+1; //(0.11607143 0.40178571 0.48214286)
            if(Test_P!=8840)if(TimeHG>=1.5 && RSI_Open_M1< 0.5 && BB_Peresek_Last_M1< 0.5 && RSI_Open_M1>=-0.5 && Levl_Support_W1s1>=-4.5 && Povtor_Low_H1>=0 && Levl_Support_H4>=0 && RegressorSpeed< 1.5) CalcBuy=CalcBuy+1; //(0.1606218 0.4145078 0.4248705)
            if(Test_P!=10002)if(rOpen_WormsDown>=0 && BB_Peresek_Last_M1< 0.5 && rDeltaWorms< 2.5 && DonProcVisota< 4.5 && Part_D1< 3.5 && BB_iD_Center_H1< 0 && Levl_Close_H1s1N>=0) CalcBuy=CalcBuy+1; //(0.1890244 0.3963415 0.4146341)
            if(Test_P!=10395)if(rOpen_WormsDown>=0 && Povtor_Type_M15>=0 && Levl_Low_H1< -4.5 && Levl_Close_H1s1N>=0) CalcBuy=CalcBuy+1; //(0.1990741 0.3888889 0.4120370)
            if(Test_P!=14244)if(rPeresek_Up<0.5 && BB_Peresek_Last_M1<0.5 && Polozhenie_M1>=0 && Povtor_High_H1<-2.5) CalcBuy=CalcBuy+1; //(0.1948052 0.3506494 0.4545455)
            if(Test_P!=14462)if(rPeresek_Up<0.5 && BB_Peresek_Last_M1<0.5 && Polozhenie_M1>=0 && DonProc_M15<9.5 && Levl_Support_H4s1<4.5 && Povtor_High_H1<-2.5) CalcBuy=CalcBuy+1; //(0.2112676 0.3239437 0.4647887)
            if(Test_P!=17944)if(Levl_Low_H1s1N< -1.5 && Levl_Close_H4>=0 && Levl_Close_H1s1N>=0 && BB_iD_Center_H1< 0 && Part_H1< 2.5) CalcBuy=CalcBuy+1; //(0.1408451 0.3239437 0.5352113)
            if(Test_P!=18382)if(Povtor_Low_M15< 3.5 && LowPerekH1s1_1< 0.5 && Polozhenie_M1>=0 && BB_iD_Down_M1>=-5.5 && DonProcVisota>=3.5 && Povtor_Low_M15< 1.5 && BB_iD_Down_M1>=-1.5) CalcBuy=CalcBuy+1; //(0.1659389 0.3842795 0.4497817)
            if(Test_P!=19123)if(rPeresek_Down< 0.5 && Povtor_Low_M15< 3.5 && LowPerekH1s1_1< 0.5 && Polozhenie_M1>=0 && rCalcLvlWorms< 1.5 && DonProcVisota>=3.5 && rLevl_UpPeresek_iD_RSI< 1.5 && RegressorCalc_S1>=-1.5 && Levl_first_W1s1>=-0.5) CalcBuy=CalcBuy+1; //(0.1225490 0.4313725 0.4460784)
            if(Test_P!=26038)if(Levl_Support_H1s1>=-3.5 && Part_H4< 2.5 && LowPerekH1s1_0>=0.5 && Part_H1>=1.5) CalcBuy=CalcBuy+1; //(0.1912568 0.4153005 0.3934426)

Poi uso l'EA che legge i predittori dal file e il risultato finanziario e applica le foglie su di loro in modalità di ottimizzazione "Calcoli matematici" e all'interno di esso raccolgo già le statistiche dal calcolo degli indicatori finanziari e altre statistiche, che vengono passate dagli agenti all'EA in cornici e raccolte in un file come risultato.


Poi guardo il foglio per ogni periodo di riferimento.

 
Aleksey Vyazmikin:

Sì, è molto istruttivo lavorare con il campionamento in Deductor Studio - puoi ricostruire rami o costruire un albero da zero - un ottimo strumento per capire come funziona l'albero e per testare le tue ipotesi. Lo svantaggio è che il pacchetto è pagato e non si può scaricare le regole (foglie) così facilmente...

Uso lo script R per generare l'albero con la genetica, poi uso lo script per scaricare i dati dell'albero ad ogni iterazione, e poi uso il programma parser, che è stato scritto separatamente, converte gli alberi in foglie in questo formato:

Poi uso l'EA che legge i predittori dal file e il risultato finanziario e applica le foglie su di loro in modalità di ottimizzazione "Calcoli matematici" e all'interno di esso raccolgo già le statistiche dal calcolo degli indicatori finanziari e altre statistiche, che vengono passate dagli agenti all'EA in cornici e raccolte in un file come risultato.


Poi, guardo come si è comportato il foglio in ogni periodo di riferimento.

Cavolo, tutto quello che si fa manualmente dovrebbe essere fatto da un neuronet, e così.... Perdita di tempo, e se il risultato è negativo, si ha un sacco di frustrazione e la ricerca di altri metodi.

 
Vizard_:

Martello. Prova la retroilluminazione per comodità (mappe di calore)

Sì, ho visto tali implementazioni con retroilluminazione, ma è un algoritmo separato da scrivere, e una tela da attrarre, che non ho trattato affatto. Ecco perché lo tiro fuori con le formule. Ma una mappa sarebbe interessante, ma poi di nuovo è meglio usare il multidimensionale...

Ora sto pensando a cosa mirare quando raccolgo le foglie per un modello, prima di tutto ho selezionato le foglie stabili - ho già scritto, poi viene il filtro foglie (ho -1/0/1 classificazione - vendita/non entrare/acquistare), rispettivamente il filtro può essere foglie dal gruppo "non entrare" e dal gruppo "comprare" per la vendita, e infatti sono del gruppo "sell" - poiché o il pattern era falso o il grafico di applicazione delle foglie all'entrata nel mercato non copre questa superficie con il segnale di entrata, ma filtra bene in termini di ignorare l'entrata. Finora il criterio dei filtri è il seguente - miglioramento del profitto, diminuzione del drawdown, diminuzione del numero di voci perdenti in una riga, quindi si possono prendere 4-6 foglie, che in periodi 3x/4x miglioreranno tutti questi indici in una volta, e gli indici in generale - profitto e drawdown. E poi o concentrare l'attenzione di selezione sulla redditività e la percentuale di voci corrette, o penso di provare a trovare un filtro individuale per ogni foglia (1-2), che è più costoso, ma dovrebbe essere più efficace in teoria.

Motivazione: