Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1808

 
Aleksey Vyazmikin:

Obrigado por tentares.

Qual ZZ você usou? Podes enviar-me um par de ZZs marcados com alcances diferentes?


Eu quero agrupar as divisões agora, assim haverá menos combinações.

Por favor...

200 ou 300 em valores absolutos.

ZZ por equilíbrio? Diga-me em que intervalos está interessado.


Ou talvez estudar um pouco de R? ;)


5 linhas de código, e você conseguiu o que queria.

#  читаем файл
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 = ";")

É melhor assim. Menos lixo intermediário desnecessário.

Boa sorte.

 
Vladimir Perervenko:

É melhor assim. Menos lixo intermediário desnecessário.

Boa sorte.

Obrigado Vladimir, nem sabia que você podia fazer isso )!!! Eu amo R, sempre uma surpresa agradável!

Quando é que me vai mostrar como fazer uma amostra dos dados e como os transferir para novos dados?)

 

Bem, pensei que te tinha dado um link para um artigo. Aqui está.

O pacote "discretização" é utilizado.

"Discretização é o processo de converter uma variável contínua em discreta, dividindo seu valor em intervalos, usando vários métodos para determinar os limites.

Dois grupos de métodos de discretização podem ser distinguidos: quantitativos, sem referência ao alvo, e com referência a intervalos de correspondência com o alvo.

O primeiro grupo de métodos é quase inteiramente coberto pelo cut2()::Hmisc. É possível dividir a amostra em um número predeterminado de áreas, com limites específicos, em quartis, especificando o número mínimo de exemplos em cada área, em áreas de igual frequência.

O segundo grupo de métodos é mais interessante, pois divide a variável em parcelas associadas aos níveis do alvo. Vamos considerar vários pacotes implementando estes métodos.

Discretização. Este pacote é um conjunto de algoritmos de discretização com um professor. Também pode ser agrupado em termos de implementação de cima para baixo ou de baixo para cima de algoritmos de discretização. Vamos olhar para alguns deles usando o nossoDataSet como exemplo".

Nós usamosdiscretização::mdlp(), que descreve a discretização usando o princípio do comprimento mínimo da descrição. Esta função discretiza atributos contínuos da matriz de dados usando o critério de entropia com comprimento mínimo de descrição como regra de parada. Divide-se perfeitamente, mas leva muito tempo. Nós usamos base::findinterval() para discretizar o conjunto de testes. Há funções e exemplos no artigo. Este não é o único pacote de amostras. Em outros artigos nós usamos: glmdisc, smbinning, cutpointr (para alvo binário), woeBinning e outros. Estes são os pacotes na CRAN. Existe um bom pacote MOB- instale a partir do Github. Eu verifiquei estes e eles funcionam. Depende do tipo de dados que você quer amostrar (desgraça, lixo, cru...).

Experimenta.

Boa sorte.

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

Depende da forma em que você quer que o resultado da amostragem (ai, caixote do lixo, cru...)


Como o que você quer)))) Mas isso não significa que esteja certo) Gruuuus...........

 
Vladimir Perervenko:

Bem, pensei que te tinha dado um link para um artigo. Aqui está.

O pacote "discretização" é usado.

Não, você não fez :)

Procurei em diferentes pacotes e li artigos, mas não descobri como trabalhar com novos dados quando discretamente, talvez eu não tenha parecido bem, de qualquer forma, obrigado pelo esclarecimento.

 
Vladimir Perervenko:

Bem, pensei que te tinha dado um link para um artigo. Aqui está.


Há muitosartigos, a pesquisa é interessante, mas existe algum sammari sobre os resultados práticos?
Quero dizer, até que ponto funciona bem no mercado real?

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

Há muitosartigos, a pesquisa é interessante, mas existe algum sammari sobre os resultados práticos?
Quero dizer, quão bem funciona tudo isto no mercado real?

Pois é. Acredite na sua palavra?

Todos os códigos estão dispostos. Vá lá, experimenta.

O mais importante não são os modelos, apesar de serem importantes. O que é importante são os preditores e sua preparação (pré-processamento). Quanto melhor forem preparados os dados, mais fácil será a utilização dos modelos.

Boa sorte.

 
Vladimir Perervenko:

Funciona. Vai acreditar na minha palavra?

Todos os códigos estão dispostos. Constrói-a, experimenta.

O mais importante não são os modelos, apesar de serem importantes. O que é importante são os preditores e sua preparação (pré-processamento). Quanto melhor forem preparados os dados, mais fácil será a utilização dos modelos.

Boa sorte.

Claro que vou acreditar, vou ler tudo cuidadosamente e analisar o código, especialmente agora que não tenho nada para fazer, tenho muito tempo.
Mas antes de eu passar uma semana nisso, você pode me dar um link para um artigo que comece com uma frase como"O método descrito acima dá tais resultados no mercado real... "e depois um par de gráficos ou uma tabela.
 
Evgeny Dyuka:
Claro que vou acreditar, vou ler tudo cuidadosamente e analisar o código, especialmente agora não há nada a fazer, há muito tempo.
Mas antes de eu passar uma semana nisso, você pode me dar um link para um artigo que comece com uma frase como"O método descrito acima dá tais resultados no mercado real... "e depois um par de gráficos ou uma tabela.

Bem, quase todos os outros artigos terminam com um teste sobre novos dados.

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