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

 
Maxim Dmitrievsky:

Se si tratta di cluster, basta spazzare le statistiche sui nuovi dati. Se sono uguali, puoi costruire TC.

Parametri sulla barra. Gli incrementi, le velocità, le medie della storia. Non capisco perché tutti considerano i parametri sull'ultima barra completa, ma è essenzialmente scorretto. Le medie sono in ritardo della metà o poco meno dell'intervallo di media, e gli incrementi non sono abbastanza significativi. E nessuno conta i parametri della serie nel suo insieme. Le due gradazioni di piatto e di tendenza non sono nemmeno divertenti.
 
Maxim Dmitrievsky:

Se i cluster sono gli stessi, allora puoi costruire i TC. Se sono uguali, possiamo costruire TC.

L'area tematica dei cluster e della statistica deve essere chiaramente compresa. Se è identico su tutti gli strumenti dal '70 al '20, allora è possibile))

 
mytarmailS:

Il catbusto non aiuterà, il problema è la dimensione dei dati, non sarò nemmeno in grado di creare dei tratti, non arriverai nemmeno all'allenamento...

Fare un campione di 50k, che sia piccolo, che non sia grave, che sia più possibile il sovrallenamento, .... ..., ... Il compito è quello di fare un robot per la produzione, ma solo per ridurre l'errore dal lavoro creativo comune, e poi la conoscenza acquisita può essere applicata a qualsiasi strumento e mercato, 50 k sarà abbastanza per vedere quali segni significano qualcosa.

Ok, farò un piccolo campionamento.

mytarmailS:

Se non conosci OHLK, non devi scriverlo, perché dovresti spostare tutto OHLK? Nessuno lo fa, devi solo spostare ZZ di un passo, come per guardare nel futuro di 1 passo per imparare e questo è tutto. Avete letto almeno un articolo di Vladimir Perervenko su deerelearning? Per favore, leggetelo. È molto scomodo quando le azioni ottimali con i dati si sono stabilite e tutti sono abituati ad esse, e qualcuno cerca di fare lo stesso ma in modo diverso, è un po' insensato e fastidioso, e causa molti errori nelle persone che cercano di lavorare con i dati di un tale autore.

Ho letto i suoi articoli, ma non capisco il codice R, quindi non posso davvero capire tutto quello che c'è.

Quindi te lo chiedo, visto che capisci il problema. La classificazione avviene sulla barra zero, quando si conosce solo il prezzo di apertura, da quanto ho capito non usate il prezzo di apertura della barra zero ma solo le informazioni della prima barra e successive? Infatti l'obiettivo determina il vettore ZZ sulla barra dello zero? Ho capito che il vettore della prossima barra è stato previsto - non è essenziale, vero? Altrimenti devo rifare un sacco di lavoro di nuovo - è faticoso.

Ho solo una soluzione pronta per prendere i dati e applicare il modello, non un modello di calcolo.

mytarmailS:

Se dopo tutto questo volete ancora fare qualcosa, ho i seguenti requisiti

1) i dati 50-60k non di più, preferibilmente un file, solo d'accordo che il n dell'ultima candela sarà il test

2) I dati, preferibilmente senza colle, in modo da poter considerare non solo gli ultimi prezzi, ma anche supporto e resistenza, cosa impossibile con le colle

3) l'obiettivo dovrebbe essere già incluso nei dati

4) dati nel formato data, ora, o, h, l, c, target


O dovrei fare un set di dati?

Si può pretendere da chi si è impegnato - cioè non da me :) Facciamo un accordo.

1. Facciamo 50 per l'allenamento e altri 50 per il test (campionamento al di fuori dell'allenamento).

2. ok.

3. ok.

4. OK.

Aggiunto: Mi sono reso conto che i futures Si-3.20 non hanno abbastanza barre normali (22793) e non si vuole incollare.


Aggiunto un campione di sber - ho ottenuto un accurato 67.

File:
Setup.zip  891 kb
 
Aleksey Vyazmikin:

Quindi ti chiederò, visto che l'hai capito. La classificazione avviene sulla barra zero, quando solo il prezzo di apertura è noto, da quanto ho capito non usate il prezzo di apertura della barra zero, ma solo le informazioni della barra 1 e successive? Infatti l'obiettivo determina il vettore ZZ sulla barra dello zero? Ho capito che il vettore della prossima barra è stato previsto - non è essenziale, vero? Altrimenti bisogna rifare un mucchio di lavoro - noioso.

La classificazione è fatta sull'ultima barra in cui la clausola nota (cioè una candela OHLS completa), prevediamo il segno ZZ di una candela futura. Perché prendere in considerazione la candela sulla quale l'unica opzione conosciuta non riesco a capire, qual è il vantaggio oltre alla complessità ? sia nella comprensione che nella realizzazione, e se si capisce che l'opzione[i] è quasi sempre uguale alla clausola[i-1], allora ho solo un punto interrogativo per questo approccio


Aleksey Vyazmikin:

Si può pretendere da coloro che si sono impegnati - cioè non da me :) Troviamo un accordo.

Non pretendo nulla da te personalmente). Requisito per il campione, il campione deve essere lo stesso per tutti in modo che si possa confrontare qualcosa, giusto? Penso che sia ovvio.


E grazie per aver ascoltato)

1) dati 50-60k non di più, preferibilmente un file.........

Prendiamo 50 per l'allenamento e altri 50 per il test (campione al di fuori dell'allenamento).

Ho pensato a 50-60k forse per curiosità, perché non raddoppiare? )))

)))

1) dati 50-60k non di più, meglio un file, solo d'accordo

E grazie per aver compilato un solo file invece di due! ))
 

L'ho provato per primo, fuori dalla scatola, per così dire...

Solo gli ultimi n valori sono coinvolti nella previsione, come te, perché l'errore è lo stesso.

Ho 217 indicatori, sono sicuro che ci sono delle ridondanze ma sono troppo pigro per pulirli.

Ho usato il fileOHLC_Train.csv per addestrare e validare un totale di 54147


testato il modello sulle prime 10k osservazioni (per l'esattezza, 8k, le prime 2k non sono state prese in considerazione, perché gli indicatori sono stati calcolati su di esse)

ha testato il modello sui 44k dati rimanenti, quindi penso che non ci sia nessun riqualificazione. 5,5 volte treno 44/8 =5,5


Dei modelli che ho provato boosting e forrest, boosting non mi ha impressionato e mi sono fermato a forrest.

nella formazione impostare un forte squilibrio classi, ma io sono troppo pigro per sciamano

table(d$Target[tr])

   0    1 
3335 4666 

modello finale sulle caratteristiche attuali - foresta 200 alberi

su trayne...

 Type of random forest: classification
                     Number of trees: 200
No. of variables tried at each split: 14

        OOB estimate of  error rate: 14.75%
Confusion matrix:
     0    1 class.error
0 2557  778  0.23328336
1  402 4264  0.08615517

sul test

Confusion Matrix and Statistics

          Reference
Prediction     0     1
         0 12449  5303
         1  9260 17135
                                          
               Accuracy : 0.6701          
                 95% CI : (0.6657, 0.6745)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3381          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.5734          
            Specificity : 0.7637          
         Pos Pred Value : 0.7013          
         Neg Pred Value : 0.6492          
             Prevalence : 0.4917          
         Detection Rate : 0.2820          
   Detection Prevalence : 0.4021          
      Balanced Accuracy : 0.6686          
                                          
       'Positive' Class : 0  

Come puoi vedere i risultati sono identici ai tuoi, e non hanno bisogno di milioni di dati 50k sono sufficienti per trovare un modello, se ce n'è uno.

Così abbiamo ottenuto gli stessi risultati, questo è il nostro punto di partenza, ora questo errore deve essere migliorato

 

)) Hohma ))

Rimosso tutti i cosiddetti indicatori di analisi tecnica

Ci sono 86 indicatori, non 217 come nell'esempio precedente

E la qualità del modello è solo migliorata)


Confusion Matrix and Statistics

          Reference
Prediction     0     1
         0 12769  5597
         1  8940 16841
                                          
               Accuracy : 0.6707          
                 95% CI : (0.6663, 0.6751)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3396          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.5882          
            Specificity : 0.7506          
         Pos Pred Value : 0.6953          
         Neg Pred Value : 0.6532          
             Prevalence : 0.4917          
         Detection Rate : 0.2892          
   Detection Prevalence : 0.4160          
      Balanced Accuracy : 0.6694          
                                          
       'Positive' Class : 0 
 
mytarmailS:

La classificazione avviene sull'ultima barra in cui la clausola nota (quelle candele OHLS a tutti gli effetti), prevede il segno ZZ candela futura . Perché prendere in considerazione la candela su cui l'unica opzione conosciuta non riesco a capire, qual è il vantaggio oltre alla complessità ? sia nella comprensione che nell'implementazione, e se si capisce che l'opzione[i] è quasi sempre uguale alla clausola[i-1], allora ho solo un punto interrogativo per questo approccio

Non puoi capirlo perché hai dei dati in R e il terminale non sa quando si forma l'OHLC sulla barra corrente, quindi puoi ottenere l'OHLC solo sulla barra zero dalla prima barra. Ben aperti sulla barra zero sono i nuovi dati temporali - particolarmente rilevanti per i grandi TF, perché ho una classe di predittori uguali nel mio campione, ma applicati su TF diversi.


mytarmailS:


1) dati 50-60k non di più, preferibilmente un file.........

Diamo 50 per l'allenamento e altri 50 per il test (campione fuori allenamento).

Probabilmente ho appena nominato 50-60k, perché non raddoppiare? )))

)))

1) dati 50-60k non di più, un file è meglio, basta essere d'accordo

E grazie per aver compilato un solo file invece di due! ))
mytarmailS:

addestrato e validato sul fileOHLC_Train.csv un totale di 54147

testato il modello sulle prime 10k osservazioni (per l'esattezza, 8k, le prime 2k non sono state prese in considerazione, perché sono state utilizzate per calcolare gli indicatori)

ha testato il modello sui 44k dati rimanenti, quindi penso che non ci sia nessun riqualificazione. il test è 5,5 volte più treno 44/8 =5,5

Come puoi vedere i risultati sono identici ai tuoi e non ho bisogno di milioni di dati, 50k sono sufficienti per trovare i modelli, se non altro

Così abbiamo ottenuto gli stessi risultati, questo è il nostro punto di partenza, ora questo errore deve essere migliorato

Ho diviso il campione in due file, il primo file per qualsiasi tentativo di apprendimento contorto, e il secondo per controllare i risultati dell'apprendimento.

Non avete un'opzione per salvare il modello e testarlo sui nuovi dati? Se è così, controlla, ho dato il risultato per il campione OHLC_Exam.csv

Puoi rimandare allo stesso modo, dividendo questi due file, ma aggiungendo i tuoi predittori e la colonna con il risultato della classificazione?


Per quanto riguarda il sovrallenamento o la mancanza di esso.

Secondo me è un chiaro sovrallenamento.

 
Aleksey Vyazmikin:

Sì... Tutto è più triste sui nuovi dati ((((.

Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 9215 5517
         1 3654 7787
                                          
               Accuracy : 0.6496          
                 95% CI : (0.6438, 0.6554)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3007          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.7161          
            Specificity : 0.5853          
         Pos Pred Value : 0.6255          
         Neg Pred Value : 0.6806          
             Prevalence : 0.4917          
         Detection Rate : 0.3521          
   Detection Prevalence : 0.5629          
      Balanced Accuracy : 0.6507          
                                          
       'Positive' Class : 0


Ecco i file, NON usare le prime 2k stringhe nel vassoio

in test prime 100 linee

UPD====

i file non vanno bene, mandami una mail nella tua casella di posta elettronica

 
mytarmailS:

Sì... Tutto è più triste nei nuovi dati (((


Ecco i file, NON usare le prime 2k linee nel percorso

nel test, le prime 100 righe.

Non ci sono file nell'applicazione.

Ho cambiato la ripartizione del campionamento per la formazione e la convalida, per la convalida ho preso ogni 5 righe, ho ottenuto un grafico divertente

Sul campione OHLC_Exam.csv Precisione 0,63


Per X, ogni nuovo albero diminuisce il risultato, indicando un sovrallenamento dovuto a esempi insufficienti nel campione.

Comprimere il file con uno zip.
 
Aleksey Vyazmikin:

Non ci sono file nell'applicazione.

Ho cambiato la ripartizione del campionamento per la formazione e la convalida, per la convalida ho preso ogni 5 righe e ho ottenuto un grafico divertente

Sul campione OHLC_Exam.csv Precisione 0,63


Per X, ogni nuovo albero diminuisce il risultato, indicando un sovrallenamento dovuto a esempi insufficienti nel campione.

Comprimere il file con uno zip.

Sì, sì, i nostri modelli sono troppo addestrati...

Ecco un link per scaricare i file, anche il file compresso non entra nel forum

https://dropmefiles.com.ua/56CDZB


Prova il modello sui miei segni, mi chiedo quale sarà la precisione