Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 196
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Demora o tempo que quiseres. Independentemente do método de agrupamento. Faz um passe. Trim algumas observações. Fá-lo outra vez. Compare os resultados.
resultados. Desenvolva um método para novas ações. Caso contrário, você vai fazer "grails" e depois se perguntar por que não funciona))))
Estava a pensar em fazer um total de 500, se inicialmente fossem 500, então no final pode acontecer que um bom modelo só responda por 5
e isso é tudo o que vou manter...
Se você procurar por padrões como mytarmailS, deslizando por barra, cada padrão conterá informações sobre quanto de um intervalo os valores em cada barra podem ser. Quanto mais padrões - o intervalo menor será atribuído a cada bar.....................
A janela deslizante de alimentação de dados é apenas o meu estilo de alimentação de dados e nada mais, bom ou mau, não sei, acho que é o mesmo que o de todos os outros...
Mas não tem nada a ver com a abordagem que eu expliquei...
Esta abordagem permite agrupar e extrair aqueles poucos por cento de dados úteis que os MOs convencionais não conseguem...
você pode pegar com segurança seus preditores enquanto os alimenta em sua rede, agrupá-los (cada um) e executá-los através do algoritmo que descrevi
Grosso modo, para que uma determinada janela com novos dados caia em qualquer padrão encontrado anteriormente, ela deve cair em tais restrições verídicas inerentes a cada padrão.
Depende do quanto você quer ensinar o modelo, se você quer ensiná-lo fracamente e não fazer muitos clusters então os números na cabeça do modelo serão suavizados e esse defeito que você diz que teoricamente deveria desaparecer...
Eis como o modelo vê uma série de preços de 50 valores embalados em 49 clusters
...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)
Bem, depende de quanto você quer treinar o modelo, se você treinar fraco, não faça muitos clusters, então as formas na cabeça do modelo serão bastante suavizadas e o inconveniente que você diz que teoricamente deveria desaparecer...
Eis como o modelo vê uma série de preços de 50 valores que são embalados em 49 clusters
...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. Eu também o fiz há muito tempo. Kohonen é uma coisa interessante. Mas lembre-se que chamar-lhe um algoritmo de clustering não é correcto. É um algoritmo de convolução. E o agrupamento é então feito no espaço bidimensional resultante...
Obrigado! Eu não sabia disso.
Mas é possível usar a saída do modelo como um cluster, não é?
[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
Obrigado! Eu não sabia disso.
Mas você pode usar a saída de um modelo como um cluster, não pode?
[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
Sim, claro que pode... É essencialmente uma agregação de vectores semelhantes nestas células.
Pode ser que seja assim (eu próprio já o fiz no trabalho e sei o que estou a dizer). Eu tenho n milhão de entradas. O vector de entradas tem um par de centenas. Eu quero agrupá-lo, mas não sei de antemão quantos agrupamentos existem. Nenhum algoritmo pode processar tal conjunto de dados em um computador comum. Portanto, primeiro eu colapso o espaço de entrada e faço uma grade de, por exemplo, 50*50. O resultado é 2500 representantes típicos da população... Em tal array, meu computador puxa agnes (clustering hierárquico). Constrói uma matriz de proximidade de todos a todos...
E acontece que eu cluster estes 2500 em, digamos, 10 clusters e a métrica de agregação é boa.
Sim, claro que pode... Há essencialmente uma agregação de vectores semelhantes nessas células.
Pode ser o caso (eu próprio o fiz no trabalho e sei o que estou a dizer). Eu tenho n milhão de entradas. O vector de entradas tem um par de centenas. Eu quero agrupá-lo, mas não sei de antemão quantos agrupamentos existem. Nenhum algoritmo pode processar tal conjunto de dados em um computador comum. Portanto, primeiro eu colapso o espaço de entrada e faço uma grade de, por exemplo, 50*50. O resultado é 2500 representantes típicos da população... Em tal array, meu computador puxa agnes (clustering hierárquico). Constrói uma matriz de proximidade de todos a todos...
E acontece que eu cluster estes 2500 em, digamos, 10 clusters e a métrica de agregação é boa.
no manualhttps://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
em
Construindo super-classes a partir da SOM resultante
exactamente do que estás a falar.
Para aqueles que querem saber o que é realmente o mercado...
assistir desde vídeos antigos até vídeos novos....
https://www.youtube.com/channel/UCsdK6s9i_I0NEMvis6wXhnQ/featured
não parece difícil, mas programá-lo? para mim ainda não é definitivamente possível...
Eu sugiro que discutamos como codificar tais abordagens para MoD ou apenas codificá-las
Para informações sobre a linguagem R e o novo MetaTrader 5 build 1467:
Distribuições estatísticas em MQL5 - tire o melhor de R e torne-o mais rápido
Muitas novas funções matemáticas e estatísticas semelhantes a R serão adicionadas nas próximas versões. Isto permitirá mais cálculos e visualizações diretamente no MetaTrader 5.Você pode atualizar para 1467 a partir do servidor MetaQuotes-Demo.