Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 1808

 
Aleksey Vyazmikin:

Gracias por intentarlo.

¿Qué ZZ has utilizado? ¿Puede enviarme un par de ZZ marcadas con diferentes rangos?


Ahora quiero agrupar las divisiones, así habrá menos combinaciones.

Por favor...

200 o 300 en valores absolutos.

ZZ por saldo? dígame qué gamas le interesan.


¿O tal vez estudiar un poco de R? ;)


5 líneas de código, y tienes lo que querías.

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

Es mejor así. Menos basura intermedia innecesaria.

Buena suerte

 
Vladimir Perervenko:

Es mejor así. Menos basura intermedia innecesaria.

Buena suerte

Gracias Vladimir, no sabía que se podía hacer eso )) !!! Me encanta R, siempre es una agradable sorpresa!

¿Cuándo me enseñarán a tomar muestras de datos y a transferirlas a los nuevos)?

 

Bueno, pensé que te había dado un enlace a un artículo. Aquí está.

Se utiliza el paquete "discretización".

"Ladiscretización es el proceso de convertir una variable continua en discreta dividiendo su valor en rangos utilizando diversos métodos para determinar los límites.

Se pueden distinguir dos grupos de métodos de discretización: cuantitativos, sin referencia al objetivo, y con referencia a rangos de coincidencia con el objetivo.

El primer grupo de métodos está cubierto casi en su totalidad por cut2()::Hmisc. Es posible dividir la muestra en un número predeterminado de áreas, con límites específicos, en cuartiles, especificando el número mínimo de ejemplos en cada área, en áreas de igual frecuencia.

El segundo grupo de métodos es más interesante, porque divide la variable en parcelas asociadas a niveles del objetivo. Consideremos varios paquetes que implementan estos métodos.

Discretización. Este paquete es un conjunto de algoritmos de discretización con un profesor. También puede agruparse en función de la aplicación descendente o ascendente de los algoritmos de discretización. Veamos algunas de ellas utilizando nuestrodataSet como ejemplo".

Usamosdiscretization::mdlp(), que describe la discretización usando el principio de longitud de descripción mínima. Esta función discretiza los atributos continuos de la matriz de datos utilizando el criterio de entropía con una longitud de descripción mínima como regla de parada. Se divide perfectamente, pero tarda mucho tiempo. Utilizamos base::findinterval() para discretizar el conjunto de pruebas. Hay funciones y ejemplos en el artículo. Este no es el único paquete de muestreo. En otros artículos utilizamos: glmdisc, smbinning, cutpointr (para objetivo binario), woeBinning y otros. Estos son los paquetes en CRAN. Hay un buen paquete MOB- instalarlo desde Github. Los he comprobado y funcionan. Depende del tipo de datos que quieras muestrear (woe, bin, raw...).

Pruébalo.

Buena suerte

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

Depende de la forma en la que quieras el resultado del muestreo (woe, bin, raw...)


Como lo que quieres)))) Pero eso no significa que sea correcto) Gruuuus...........

 
Vladimir Perervenko:

Bueno, pensé que te había dado un enlace a un artículo. Aquí está.

Se utiliza el paquete de "discretización".

No, no lo hiciste :)

He buscado en diferentes paquetes y leído artículos pero no he encontrado como trabajar con nuevos datos al discretizar, quizás no he buscado bien, de todas formas gracias por la aclaración.

 
Vladimir Perervenko:

Bueno, pensé que te había dado un enlace a un artículo. Aquí está.


Hay muchosartículos, la investigación es interesante, pero ¿hay algún sammari sobre los resultados prácticos?
Quiero decir, ¿qué tan bien funciona en el mercado real?

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

Hay muchosartículos, la investigación es interesante, pero ¿hay algún sammari sobre los resultados prácticos?
¿Cómo funciona todo esto en el mercado real?

Lo hace. ¿Te parece bien?

Todos los códigos están dispuestos. Adelante, pruébalo.

Lo más importante no son los modelos, aunque sean importantes. Lo importante son los predictores y su preparación (preprocesamiento). Cuanto mejor se preparen los datos, más fácil será el uso de los modelos.

Buena suerte

 
Vladimir Perervenko:

Funciona. ¿Me creerás?

Todos los códigos están dispuestos. Constrúyelo, pruébalo.

Lo más importante no son los modelos, aunque sean importantes. Lo importante son los predictores y su preparación (preprocesamiento). Cuanto mejor se preparen los datos, más fácil será el uso de los modelos.

Buena suerte

Por supuesto que me lo creeré, leeré todo con atención y analizaré el código, sobre todo ahora que no tengo nada que hacer, tengo mucho tiempo.
Pero antes de dedicarle una semana, ¿podrías darme un enlace a un artículo que comience con una frase como"El método descrito da tales resultados en el mercado real..."? " y luego un par de gráficos o una tabla.
 
Evgeny Dyuka:
Por supuesto que lo creeré, leeré todo con atención y analizaré el código, sobre todo ahora que no hay nada que hacer, hay mucho tiempo.
Pero antes de dedicarle una semana, ¿podrías darme un enlace a un artículo que comience con una frase como"El método descrito anteriormente da tales resultados en el mercado real..."? " y luego un par de gráficos o una tabla.

Bueno, casi todos los artículos terminan con una prueba de nuevos datos

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