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

 
Dr. Trader:

A segunda parte da experiência é.

Eu tinha 14 preditores previamente selecionados, acrescentei outros 14 com valores aleatórios. O número máximo permitido de componentes ForeCA é agora de 28.

Precisão da previsão com todos os 28 componentes nos dados de treinamento em ambos os casos (com e sem foreCA) 76%, precisão nos dados novos em ambos os casos 57%.

Eu não acho que o ForeCA lidou com o lixo nos preditores, eu não vi o milagre esperado.

Isso é óptimo!

Obrigado por reduzir a minha carga de trabalho.

 
Notei que em outros dados o meu exemplo ForeCA não funcionou, porque a covariância dos preditores é muito alta.
Isto pode ser resolvido com este código:
#это  строки кода из примера:
targetName <- colnames(trainData)[ncol(trainData)]
predictorColnames <- colnames(trainData)[-ncol(trainData)]
#...
#это  нужно добавить сразу после них:
while(TRUE){
        covMatrix <- cov(as.matrix(trainData[,predictorColnames]))
        covMatrixRank <- qr(covMatrix)$rank
        if(covMatrixRank == ncol(covMatrix)){
                break
        }else{
                eigenValues <- abs(eigen(covMatrix)$values)
                #  eigenValuesLow <- order(eigenValues, decreasing=FALSE)[1:(ncol(covMatrix)-covMatrixRank)]
                #  predictorColnames <- predictorColnames[-eigenValuesLow]
                eigenValuesHigh <- order(eigenValues, decreasing=TRUE)[1]
                predictorColnames <- predictorColnames[-eigenValuesHigh]
        }
}
Basta remover os preditores com alto valor próprio da matriz de covariância um a um. Talvez devêssemos remover os preditores com baixo valor próprio ao contrário. Mas ainda é longo e ineficiente, mas como torná-lo melhor - ainda não sei.
 

Porque é que os indicadores nunca funcionaram e nunca funcionarão? A minha opinião... E como tentar consertá-lo....

um pouco sobre ser apedrejado... :)

Todos sabemos que os mercados não são estacionários, mas utilizamos principalmente ferramentas para análise de mercado, incluindo eu mesmo.

Por exemplo, existem algoritmos bem estabelecidos para análise de dados não estacionários, e não existem muitos deles: modelos Markov ocultos "HMM " , método de contabilidade de grupo de argumentos "MGUA", e redes neurais recorrentes para BP especificamente, por que não usamos esses algoritmos? Mas todos nós usamos andaimes, neurónios convencionais, os classificadores mais estúpidos que nada têm a ver com o problema.

Porquê? Porque é que, apesar de compreender tudo isto, continuo a praticar RF... O que há de errado connosco... Escreva o que pensa sobre isso...

Agora sobre os indicadores e um pouco sobre nerd novamente...;)

Sabendo que os mercados estão instáveis, estamos a tentar encontrar alguns indicadores que funcionarão no futuro, como é possível se o mercado mudar constantemente? A resposta é óbvia - nem pensar!!! Ou não é assim tão simples...?

Penso que há uma forma de ser mais objectivo sobre o mercado, utilizando indicadores, a análise do espectro, neste caso o wavelet, ajudará a ilustrar o nosso pensamento

w

na figura, do lado esquerdo há uma escala que mostra períodos, ou seja, períodos que existem no mercado, quanto mais vermelha a área no gráfico, mais forte o período prevalece, o período mais forte é delineado com contorno preto como na figura...

Por favor, não leia mais nada até que você execute o código

Após o código estar pronto, pressione a "seta para trás" sobre a foto no estúdio para ver todas as fotos que saíram depois de executar o código

install.packages("dplR")

hankel <- function(data, r=10) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))} #hankel  matrx

price <- cumsum(rnorm(200))+1000    ;    plot(price,t="l")
H.price <- hankel(price,100)

library(dplR)
for(i in nrow(H.price):1 ){
  m <- morlet(y1 = H.price[i,] )
  wavelet.plot(m)
}

Você vê que os períodos no mercado estão constantemente flutuando como nuvens no céu e está claro agora que não há nada para fazer no mercado com período fixo, mas você pode se adaptar. E se identificar o período forte actual no mercado e ajustar constantemente o indicador exactamente para esse período real - objectivo, que está exactamente agora no mercado?

links

https://cran.r-project.org/web/packages/dplR/vignettes/timeseries-dplR.pdf

https://www.r-bloggers.com/wavelet-spectrogram-non-stationary-financial-time-series-analysis-using-r-ttrquantmoddplr-with-usdeur/

 

Para os amantes de NS , aqui

Deep Learning Parte 1: Comparação de Estruturas Simbólicas de Aprendizagem Profunda

Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
  • Joseph Rickert
  • www.r-bloggers.com
This blog series is based on my upcoming talk on re-usability of Deep Learning Models at the Hadoop+Strata World Conference in Singapore. This blog series will be in several parts – where I describe my experiences and go deep into the reasons behind my choices. Deep learning is an emerging field of research, which has its application across...
 
mytarmailS:

Porque é que os indicadores nunca funcionaram e nunca funcionarão? A minha opinião... E como podemos tentar consertá-lo....

Todos nós sabemos que os mercados não são estacionários, mas a grande maioria das ferramentas que usamos para analisar o mercado são séries estacionárias, incluindo eu, não sei porquê, qual é a razão? moda? teimosia?

Sabendo que os mercados são não-estacionários, tentamos encontrar alguns indicadores que funcionem no futuro, como é possível se o mercado está em constante mudança?


Mas a classificação, como Sanych escreveu sobre isso, não vai funcionar?
 
Yuri Evseenkov:
E a classificação, como Sanych escreveu sobre isso, não vai servir?
Vamos ser mais específicos, porque não entendo de que classificação estamos a falar.
 
mytarmailS:
sejamos mais específicos, porque eu não entendo de que classificação estamos a falar.

L O que sou eu, um médico? Aqui está a escrita de Sanych:

"Aqui estamos discutindo as previsões baseadas em classificação, que não levam em conta o estado anterior ao prever a próxima barra. As previsões (previsões) baseadas em classificação são previsões baseadas em padrões. E se houve notícias no passado que levaram a uma mudança que NÃO segue os valores anteriores (não extrapolados), então a classificação apanhará essa mudança como tal e se houver uma mudança semelhante no futuro (não exactamente a mesma, mas semelhante) ela será reconhecida e será feita uma previsão correcta. "

É nisso que eu acho que vale a pena investigar:"a classificação vai captar tal mudança como tal" .

 
Yuri Evseenkov:

L O que sou eu, um médico? Aqui está a escrita de Sanych:

"Aqui estamos discutindo as previsões baseadas em classificação, que não levam em conta o estado anterior ao prever a próxima barra. As previsões (previsões) baseadas em classificação são previsões baseadas em padrões. E se houve notícias no passado que levaram a uma mudança que NÃO segue os valores anteriores (não extrapolados), então a classificação apanhará essa mudança como tal e se houver uma mudança semelhante no futuro (não exactamente a mesma, mas semelhante) ela será reconhecida e será feita uma previsão correcta. "

Por isso acho que vale a pena cavar nesta direcção:"a classificação vai apanhar esta mudança como tal" .

a experiência é o critério da verdade - não pense, mas faça

Pessoalmente acho que a análise espectral é mais promissora, mas isso sou eu...

 
Yuri Evseenkov:


Por isso acho que vale a pena cavar nesta direcção:"a classificação vai apanhar uma tal mudança como tal".

A classificação não é uma panaceia ou uma ferramenta para fazer graal.

A primeira coisa que a aplicação da classificação faz é aplicar as ferramentas aos problemas aos quais as ferramentas se aplicam. Por exemplo, a ideia de aplicar a análise espectral aos mercados financeiros tem sido discutida muitas vezes, todas aparentemente grandes ferramentas, mas para outros objectos, ah, não, oferecida novamente.

Segundo. A classificação é bastante aplicável aos mercados financeiros, mas há muitos problemas, como foi escrito acima. Mas com a classificação podemos colocar o problema principal - o problema da reconversão (overfitting) do TS. O que poderia ser mais importante? Não é bom, claro, ser privado da ilusão de ter um graal favorito, mas aqui está a escolha: a felicidade é boa, mas a verdade é melhor?

Terceiro. A classificação coloca a questão muito especificamente: o que estamos a prever. Vamos compará-lo com o TA. Nós tomamos indicadores. É sempre um bar [1]. A barra actual não é utilizada. O que isso significa para o H1? Nós usamos informações de frescor de hora em hora para prever a entrada no mercado! Isto é no melhor dos casos.

Isto é completamente diferente na classificação. Você pega o valor atual da variável de destino e o combina com os dados brutos de ontem - altere o destino por uma ou mais barras. Quando você usa um modelo adaptado a tais dados, você sempre prevê realisticamente o futuro quando a próxima barra chegar.

PS.

Se você vai usá-la para prever movimentos bruscos do mercado (notícias) você terá sucesso se puder formar uma variável alvo, e você tem grandes problemas com ela em casos muito mais simples.

 
DAFomenko:

Por exemplo, a idéia de aplicar a análise espectral aos mercados financeiros tem sido discutida muitas vezes, todas aparentemente uma grande ferramenta, mas para outros objetos, ah, não, mais uma vez ela é proposta.

????????????????????????

Se um pesquisador não tem idéia sobre análise espectral e acaba com um artigo de wikipedia, concordo que ele não é aplicável ao mercado :)