C'è uno schema nel caos? Proviamo a trovarlo! Apprendimento automatico sull'esempio di un campione specifico. - pagina 27

 
Aleksey Vyazmikin #:

In Excel, il conteggio parte da uno, mentre in CatBoost e mql (e in altri linguaggi) parte da zero.

Cioè, a quanto ho capito, si prende l'ultima colonna, si fa un array cumulativo e si ottiene un grafico. Supponiamo. Avete creato alcuni predittori basati su questi dati. E l'obiettivo è il valore successivo di questa serie o l'originale, cioè il delta? Cioè un modello di regressione che dà il risultato in modo condizionato (+x||-x), e se +x, entriamo nel trade, giusto?

Cercherò di fornire i dati per queste ultime colonne, ma un po' più tardi - alcune modifiche sono state fatte da me al codice da allora, poi sono andate perse e tutto è stato rielaborato di nuovo - caso difficile.

È vero! Dal grafico si forma un obiettivo. Poi un solo tacchino - un oscillatore - viene "adattato" a questo target attraverso la genetica. L'oscillatore viene utilizzato come predittore ed è anche l'obiettivo (il suo prossimo passo). E se il prossimo passo previsto del target è al ribasso, vendiamo, se al rialzo, compriamo. Questo è il semplice algoritmo. Non c'è takeout, perché il profitto è solo sul segnale inverso. Lo stop viene calcolato su tutte le operazioni negative del treno di campioni attraverso un approccio statistico (media di 5 sigma di operazioni negative), ma nelle immagini precedenti lo stop è azzerato per stringere.

 
RomFil #:

Ancora non capisco ... :( Quali offerte, quali marcature?

L'approccio al trading è il seguente:

1) C'è un movimento di prezzo (grafico Close, per esempio bitcoin). Per chiarezza, sul grafico viene tracciato un movimento con periodo 9 e spostamento -2.

2) Il trading con l'approccio sopra descritto implica segnali di vendita o acquisto di un asset senza essere vincolati al lotto. In un determinato momento c'è una sola operazione sull'asset.

3) Se l'operazione ha prodotto un profitto, il numero di punti +A viene registrato nel totale, altrimenti -A.

4) In questo modo si forma il reddito in punti.

È chiaro che se si aggiungono spread e commissioni ai grafici dei profitti sopra menzionati, le immagini non saranno così rosee.

Tutto si risolve dieci volte più facilmente. Il tempo è tempo.
 
RomFil #:

Proprio così! Dal grafico si forma un obiettivo. Poi solo un tacchino - un oscillatore - viene "adattato" a questo target attraverso la genetica. L'oscillatore viene utilizzato come predittore ed è anche il target (il suo prossimo passo). E se il prossimo passo previsto del target è al ribasso, vendiamo, se al rialzo, compriamo. Questo è il semplice algoritmo. Non c'è takeout, perché il profitto è solo sul segnale inverso. Lo stop viene calcolato su tutte le operazioni negative del treno di campioni attraverso un approccio statistico (media di 5 sigma di operazioni negative), ma nelle immagini precedenti lo stop è azzerato per stringere.

Il risultato finanziario è stato conteggiato da una colonna, a quanto ho capito.

Provatene due: l'ultima per le vendite e la penultima per gli acquisti. In questo caso, la colonna Target_P dovrebbe diventare un filtro - se il grafico è +1 e il segnale è di acquisto, allora lo fa, altrimenti salta l'ingresso, lo stesso per la vendita - -1.

Se il grafico è in positivo, lo ammirerò.

La strategia ha già una direzione, quindi il risultato finale per l'entrata opposta non è stato calcolato.

 
Aleksey Vyazmikin #:

Il risultato finanziario è stato conteggiato su una sola colonna, a quanto ho capito.

Provare con due colonne: l'ultima per le vendite e la penultima per gli acquisti. In questo caso, la colonna Target_P dovrebbe diventare un filtro - se +1 e se si desidera effettuare un acquisto, allora lo si esegue, altrimenti si salta l'inserimento, lo stesso per le vendite - -1.

Se il grafico è in positivo, lo ammirerò.

La strategia ha già una direzione, quindi il risultato finale per l'entrata opposta non è stato calcolato.

Mi dispiace, ma non ci proverò nemmeno. Chi dice che Target_P sia il "filtro" giusto. Beh, le ultime due colonne sono segnali opposti - il valore è lo stesso, ma il segno è diverso. Ecco perché il risultato di cui sopra è stato ottenuto con i dati in nostro possesso.

Si propone di creare nuovi campioni. Almeno il "caos", o qualsiasi strumento reale. Due campioni sono sufficienti: (1) traina e (2) test. profondità di campionamento traina da 10k valori. Anche se chi ha bisogno di cosa ... :)

Saluti, RomFil.

 
RomFil #:

Mi dispiace, ma non ci proverò nemmeno. Chi ha detto che Target_P è il "filtro" giusto. Ebbene, le ultime due colonne sono segnali opposti - il valore è lo stesso, ma il segno è diverso. Ecco perché il risultato di cui sopra è stato ottenuto sui dati disponibili.

Si propone di creare nuovi campioni. Almeno il "caos", o qualsiasi strumento reale. Due campioni sono sufficienti: (1) traina e (2) test. profondità di campionamento traina da 10k valori. Anche se chi ha bisogno di cosa ... :)

Saluti, RomFil.

Puoi rilasciare i risultati della classificazione su ciascun campione separatamente?

Vorrei solo capire come applicare il risultato ottenuto. Finora la mia idea è che dovrei entrare senza stop loss e forse il risultato corrisponderà.

E che cos'è l'oscillatore - me lo spieghi?

Posso creare un altro campione, ma non capisco se ho bisogno dell'intero campione o solo della coda con i dati di markup/calcolo del risultato finanziario?

 
Aleksey Vyazmikin #:

È possibile rilasciare i risultati della classificazione su ogni singolo campione?

Vorrei solo capire come si può applicare il risultato ottenuto. Finora l'idea è che dovremmo entrare senza stop loss e forse il risultato corrisponderà.

Qual è l'oscillatore - me lo può dire?

Posso fare un altro campione, ma non capisco se ho bisogno dell'intero campione o solo della coda con i dati di markup/calcolo del risultato finanziario?

Un oscillatore può essere qualsiasi cosa! Il compito principale di un oscillatore è quello di convertire un grafico in un altro grafico, ma con un'ampiezza nota in anticipo. Io ne uso uno scritto da me, ma non è questo l'aspetto principale.

Il campione può essere qualsiasi! Si può fare senza alcun risultato.

Tuttavia, ho appena provato un generatore casuale regolare da 0 a 1 e... Non è riuscito a utilizzare l'approccio!!!

Il motivo è già stato determinato: si tratta di dati molto rumorosi. Tuttavia, c'è una via d'uscita da questa situazione! Aumentate il periodo di campionamento! Se il campione non è redditizio, allora ne facciamo un M2 e lo controlliamo di nuovo. Se il campione non è redditizio di nuovo, allora M3, ecc.


P.S. Anche se su 10 volte il controllo è fallito solo una volta ... :) E questo risultato negativo è stato ottenuto dopo aver addestrato il comitato della rete neurale su un campione di vassoi. Con un tale risultato possiamo generalmente affermare che il campione non è affatto prevedibile.

 
RomFil #:

Un oscillatore può essere qualsiasi cosa! Il compito principale di un oscillatore è quello di convertire un grafico in un altro grafico, ma con un'ampiezza nota in anticipo. Io ne uso uno scritto da me, ma non è la cosa principale.

Il campione può essere qualsiasi! È possibile senza un risultato.

Tuttavia, proprio ora ho provato il solito generatore casuale da 0 a 1 e .... Non è riuscito a utilizzare l'approccio!!!

Il motivo è già stato determinato, si tratta di dati molto rumorosi. Tuttavia, c'è una via d'uscita da questa situazione! Aumentate il periodo di campionamento! Se il campione non è redditizio, ricavatene M2 e ricontrollatelo. Se non è redditizio di nuovo, allora M3, ecc.


P.S. Anche se su 10 volte il controllo è fallito solo una volta ... :) E questo risultato negativo è stato ottenuto dopo l'addestramento del comitato della rete neurale su un campione di vassoi. Con un risultato del genere possiamo dire in generale che il campione non è affatto prevedibile.

Beh, qualsiasi, ovviamente può esserlo, ma non tutti saranno efficaci.

Allego un file con un markup simile a quello che avete già addestrato: verificate il modello su di esso.

Inoltre, non capisco se ci si debba aspettare che il file marcato preveda il modello o meno.

File:
New_data.zip  21 kb
 
Aleksey Vyazmikin #:

Chiunque può esserlo, naturalmente, ma non tutti saranno efficaci.

Allego un file con un markup simile a quello che avete già studiato: controllate il modello.

Inoltre, non ho capito bene se aspettare il file marcato per prevedere il vostro modello o no?

Vorrei chiarire il concetto di "file marcato per previsione": si tratta di creare una nuova colonna e specificare in quale fase si acquista e in quale si vende?

 
RomFil #:

Vorrei chiarire il concetto di " file marcato per previsione": si tratta di creare una nuova colonna e specificare in quale fase si acquista e in quale si vende?

Beh, sì, penso di sì.

Si può inviare solo questa colonna, il resto non serve. E la data - per controllare la sincronizzazione.
 
Aleksey Vyazmikin #:

Sì, credo di sì.

È possibile inviare solo questa colonna, non è necessario il resto. E la data - per controllare la sincronizzazione.

Ho aggiunto una colonna: "1" acquisto, "-1" vendita. Apre un'operazione in caso di cambiamento del segnale in quello opposto. Penso di averlo fatto correttamente, ma non l'ho controllato ... :) Pigrizia.

Sul grafico senza spread e commissioni questo è il risultato in punti:

Risultati: PR=157488 +trades=778 -trades=18 (profitto, numero di trade positivi e negativi).

Spread di 0,00050:


Risultati: PR=117688 +trades=629 -trades=167

Spread a 0,00100:

PR=77888 +trades=427 -trades=369

Spread a 200:


PR=-1712 +trades=241 -trades=555

File:
Motivazione: