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

 
Aleksey Vyazmikin:

Grazie per aver provato.

Quale ZZ hai usato? Puoi mandarmi un paio di ZZ marcate con gamme diverse?


Voglio raggruppare gli split ora, in questo modo ci saranno meno combinazioni.

per favore...

200 o 300 in valori assoluti.

ZZ a saldo? Dimmi quali sono le gamme che ti interessano.


O forse studiare un po' la R? ;)


5 righe di codice e hai ottenuto quello che volevi.

#  читаем файл
dat <- read.csv(file = "D:\\R2\\forum\\models\\Balans_OHLCV.csv",sep = ";")
#  установка библы с индикаторами в том числе зигзаг
install.packages("TTR")
#  считаем зигзаг по баласну
my_ZZ <- TTR::ZigZag( dat$Balans ,change = 200,percent = F)
#  зигзаг в бинарный вид
zz <- c(0,diff(my_ZZ)) ; zz[zz>=0] <- 1 ; zz[zz<0] <-  0
zz
#  добавляем зз как колонку к данным
dat_and_zz <- cbind(dat, zz)
#  пишем данные в новый файл  csv
write.csv(dat_and_zz, file = "D:\\R2\\forum\\models\\Balans_OHLCV_ZZ.csv",sep = ";")
 
#  установка библы с индикаторами в том числе зигзаг
install.packages("TTR")
#  читаем файл
dat <- read.csv(file = "D:\\R2\\forum\\models\\Balans_OHLCV.csv",sep = ";")->.;
#  считаем зигзаг по баласну
TTR::ZigZag(., change = 200, percent = F)->.;
#  зигзаг в бинарный вид
c(0, diff(.)) ->.;
sign(.)->.;
#  добавляем зз как колонку к данным
cbind(dat, zz = .) -> dat_and_zz 
#  пишем данные в новый файл  csv
write.csv(dat_and_zz, file = "D:\\R2\\forum\\models\\Balans_OHLCV_ZZ.csv",sep = ";")

È meglio così. Meno spazzatura intermedia non necessaria.

Buona fortuna

 
Vladimir Perervenko:

È meglio così. Meno spazzatura intermedia non necessaria.

Buona fortuna

Grazie Vladimir, non sapevo nemmeno che si potesse fare ))!!! Adoro R, è sempre una piacevole sorpresa!

Quando mi mostrerete come campionare i dati e come trasferirli ai nuovi dati?)

 

Beh, pensavo di averti dato un link ad un articolo. Ecco qui.

Viene utilizzato il pacchetto "discretizzazione".

"La discretizzazione è il processo di conversione di una variabile continua in una discreta dividendo il suo valore in intervalli utilizzando vari metodi di determinazione dei confini.

Si possono distinguere due gruppi di metodi di discretizzazione: quantitativi, senza riferimento all'obiettivo, e con riferimento alla corrispondenza degli intervalli all'obiettivo.

Il primo gruppo di metodi è quasi interamente coperto da cut2()::Hmisc. È possibile dividere il campione in un numero predeterminato di aree, con confini specifici, in quartili, specificando il numero minimo di esempi in ogni area, in aree a frequenza uguale.

Il secondo gruppo di metodi è più interessante, perché divide la variabile in trame associate ai livelli dell'obiettivo. Consideriamo diversi pacchetti che implementano questi metodi.

Discretizzazione. Questo pacchetto è un insieme di algoritmi di discretizzazione con un insegnante. Può anche essere raggruppato in termini di implementazione top-down o bottom-up degli algoritmi di discretizzazione. Vediamo alcuni di essi usando il nostrodataSet come esempio".

Usiamodiscretization::mdlp(), che descrive la discretizzazione usando il principio della lunghezza minima di descrizione. Questa funzione discretizza gli attributi continui della matrice di dati usando il criterio dell'entropia con la lunghezza minima della descrizione come regola di arresto. Si divide perfettamente, ma ci vuole molto tempo. Usiamo base::findinterval() per discretizzare il set di test. Ci sono funzioni ed esempi nell'articolo. Questo non è l'unico pacchetto di campionamento. In altri articoli usiamo: glmdisc, smbinning, cutpointr (per il target binario), woeBinning e altri. Questi sono i pacchetti in CRAN. C'è un bel pacchetto MOB- da installare da Github. Ho controllato questi e funzionano. Dipende dal tipo di dati che vuoi campionare (woe, bin, raw...).

Provalo.

Buona fortuna

Глубокие нейросети (Часть II). Разработка и выбор предикторов
Глубокие нейросети (Часть II). Разработка и выбор предикторов
  • www.mql5.com
В предыдущей части статьи мы рассмотрели различные аспекты получения и подготовки входных данных и целевой переменной. Для воспроизведения скриптов этой статьи вам необходимо либо выполнить все скрипты первой части, либо загрузить результат вычислений первой части статьи из приложения в RStudio. 1. Разработка признаков Разработка признаков —...
 
Vladimir Perervenko:

Dipende da quale forma volete il risultato del campionamento (woe, bin, raw...)


Come quello che vuoi)))) Ma questo non significa che sia giusto) Gruuuus...........

 
Vladimir Perervenko:

Beh, pensavo di averti dato un link ad un articolo. Ecco qui.

Viene utilizzato il pacchetto "discretizzazione".

No, non l'hai fatto :)

Ho cercato in diversi pacchetti e letto articoli ma non ho trovato come lavorare con nuovi dati quando si discretizza, forse non ho cercato bene, comunque grazie per il chiarimento.

 
Vladimir Perervenko:

Beh, pensavo di averti dato un link ad un articolo. Ecco qui.


Ci sono moltiarticoli, la ricerca è interessante, ma c'è qualche sammari sui risultati pratici?
Voglio dire, quanto bene funziona nel mercato reale?

Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с Глубокие нейросети (Часть VI). Ансамбль...
 
Evgeny Dyuka:

Ci sono moltiarticoli, la ricerca è interessante, ma c'è qualche sammari sui risultati pratici?
Voglio dire, quanto bene funziona tutto questo nel mercato reale?

Lo fa. Ti prendi in parola?

Tutti i codici sono esposti. Vai avanti, provalo.

La cosa più importante non sono i modelli, anche se sono importanti. Ciò che è importante sono i predittori e la loro preparazione (preprocessing). Migliore è la preparazione dei dati, più facile sarà l'utilizzo dei modelli.

Buona fortuna

 
Vladimir Perervenko:

Funziona. Mi credete sulla parola?

Tutti i codici sono esposti. Costruiscilo, provalo.

La cosa più importante non sono i modelli, anche se sono importanti. Ciò che è importante sono i predittori e la loro preparazione (preprocessing). Migliore è la preparazione dei dati, più facile sarà l'utilizzo dei modelli.

Buona fortuna

Certo che ci crederò, leggerò tutto attentamente e analizzerò il codice, soprattutto ora non ho niente da fare, ho molto tempo.
Ma prima di passarci una settimana, puoi darmi un link a un articolo che inizia con una frase come"Il metodo descritto sopra dà tali risultati nel mercato reale... "e poi un paio di grafici o una tabella.
 
Evgeny Dyuka:
Certo che ci crederò, leggerò tutto attentamente e analizzerò il codice, soprattutto ora non ho niente da fare, c'è un sacco di tempo.
Ma prima di passarci una settimana, puoi darmi un link a un articolo che inizia con una frase come"Il metodo descritto sopra dà tali risultati nel mercato reale... "e poi un paio di grafici o una tabella.

Beh, quasi ogni altro articolo finisce con un test sui nuovi dati

è qui
Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с Глубокие нейросети (Часть VI). Ансамбль...