Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 196
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Tómate tu tiempo. Independientemente del método de agrupación. Haz una pasada. Recorta algunas observaciones. Hazlo de nuevo. Compara los resultados.
resultados. Desarrollar un método de actuación posterior. De lo contrario, harás "griales" y luego te preguntarás por qué no funciona))))
Estaba pensando en hacer un rebasamiento total, si inicialmente había 500, al final puede resultar que un buen modelo sólo contabilice el 5
y eso es todo lo que guardaré...
Si busca patrones como mytarmailS, deslizando por barra, cada patrón contendrá información sobre el intervalo que pueden tener los valores de cada barra. Cuantos más patrones - más pequeño será el intervalo asignado a cada bar.....................
La alimentación de datos de la ventana deslizante es sólo mi estilo de alimentación de datos y nada más, bueno o malo, no sé, creo que es lo mismo que los demás...
Pero no tiene nada que ver con el enfoque que he explicado...
Este enfoque permite agrupar y extraer ese escaso porcentaje de datos útiles que las MO convencionales no pueden...
puedes tomar con seguridad tus predictores tal y como los introduces en tu red, agruparlos (cada uno) y pasarlos por el algoritmo que he descrito
A grandes rasgos, para que una ventana concreta con datos nuevos entre en cualquier patrón encontrado anteriormente, debe entrar en esas restricciones verticales inherentes a cada patrón.
Depende de cuánto quieras enseñar al modelo, si quieres enseñarlo débilmente y no hacer muchos clusters entonces las figuras en la cabeza del modelo se suavizarán y ese defecto que dices teóricamente debería desaparecer...
Así es como el modelo ve una serie de precios de 50 valores agrupados en 49 grupos
código...
plot(price,t="l")
# делаем скользящее окно (50 знач) через матрицу хенкеля
hankel <- function(data, r=50) {
do.call(cbind,
lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
price <- hankel(price)
# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price,1,function(x){scale(x,center = T,scale = T)}))
# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал
#https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages("SOMbrero")
library(SOMbrero)
# тренируем модель, с матрицей 7 х7 те 49 кластеров
model <- trainSOM(price, dimension=c(7,7), verbose=T)
plot(model,what="prototypes",type="lines",print.title=T)
Bueno, depende de cuánto quieras entrenar el modelo, si entrenas débilmente, no haces muchos clusters, entonces las formas en la cabeza del modelo estarán bastante suavizadas y el inconveniente que dices teóricamente debería desaparecer...
Así es como el modelo ve una serie de precios de 50 valores que se agrupan en 49 grupos
código...
plot(price,t="l")
# делаем скользящее окно (50 знач) через матрицу хенкеля
hankel <- function(data, r=50) {
do.call(cbind,
lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
price <- hankel(price)
# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price,1,function(x){scale(x,center = T,scale = T)}))
# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал
#https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages("SOMbrero")
library(SOMbrero)
# тренируем модель, с матрицей 7 х7 те 49 кластеров
model <- trainSOM(price, dimension=c(7,7), verbose=T)
plot(model,what="prototypes",type="lines",print.title=T)
Vo. Yo también lo hice hace tiempo. Kohonen es algo interesante. Pero recuerda que llamarlo algoritmo de clustering no es correcto. Es un algoritmo de convolución. Y la agrupación se realiza en el espacio bidimensional resultante...
¡Gracias! No lo sabía.
Pero es posible utilizar la salida del modelo como un clúster, ¿no es así?
[1] 7 7 7 7 7 7 7 7 6 6 6 5 5 4 4 3 3 2 2 1 1 1 1 1 8 15 15 22 22 29 36
[32] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[63] 21 21 21 21 21 21 21 21 21 14 14 14 7 7 7 7 7 7 7 6 5 4 3 3 2 1 1 1 1 1 1
[94] 8 8 15 22 22 29 36
¡Gracias! No lo sabía.
Pero se puede utilizar la salida de un modelo como un clúster, ¿no?
[1] 7 7 7 7 7 7 7 7 6 6 6 5 5 4 4 3 3 2 2 1 1 1 1 1 8 15 15 22 22 29 36
[32] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[63] 21 21 21 21 21 21 21 21 21 14 14 14 7 7 7 7 7 7 7 6 5 4 3 3 2 1 1 1 1 1 1
[94] 8 8 15 22 22 29 36
Sí, por supuesto que puedes... Es esencialmente una agregación de vectores similares en estas células.
Simplemente puede ser así (yo mismo lo he hecho en el trabajo y sé lo que digo). Tengo n millones de entradas. El vector de entradas tiene un par de cientos de longitudes. Quiero agruparlo, pero no sé de antemano cuántas agrupaciones hay. Ningún algoritmo puede procesar tal cantidad de datos en un ordenador normal. Por lo tanto, primero colapso el espacio de entrada y hago una cuadrícula de, por ejemplo, 50*50. El resultado son 2.500 representantes típicos de la población... En una matriz de este tipo, mi ordenador tira de agnes (clustering jerárquico). Construye una matriz de proximidad de todos a todos...
Y resulta que agrupo estos 2500 en, digamos, 10 clusters y la métrica de agregación es buena.
Sí, claro que puedes... Hay esencialmente una agregación de vectores similares en esas células.
Podría ser el caso (yo mismo lo hice en el trabajo y sé lo que digo). Tengo n millones de entradas. El vector de entradas tiene un par de cientos de longitudes. Quiero agruparlo, pero no sé de antemano cuántas agrupaciones hay. Ningún algoritmo puede procesar tal cantidad de datos en un ordenador normal. Por lo tanto, primero colapso el espacio de entrada y hago una cuadrícula de, por ejemplo, 50*50. El resultado son 2.500 representantes típicos de la población... En una matriz de este tipo, mi ordenador tira de agnes (clustering jerárquico). Construye una matriz de la proximidad de todos a todos...
Y resulta que agrupo estos 2500 en, digamos, 10 clusters y la métrica de agregación es buena.
en el manualhttps://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
en
Construir superclases a partir del SOM resultante
exactamente a lo que te refieres
Para los que quieran saber qué es realmente el mercado...
ver de los vídeos antiguos a los nuevos....
https://www.youtube.com/channel/UCsdK6s9i_I0NEMvis6wXhnQ/featured
no parece difícil, pero ¿programarlo? para mí no es posible todavía...
Sugiero que discutamos cómo codificar tales enfoques para la MdD o simplemente codificarlos
Para obtener información sobre el lenguaje R y el nuevo MetaTrader 5 build 1467:
Distribuciones estadísticas en MQL5 - tome lo mejor de R y hágalo más rápido
En las próximas versiones se añadirán muchas nuevas funciones matemáticas y estadísticas similares a las de R. Esto permitirá realizar más cálculos y visualizaciones directamente en MetaTrader 5.Puede actualizar a 1467 desde el servidor MetaQuotes-Demo.