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

 
Yerlan Imangeldinov:
Fala direito, é domingo, não há pressa, e há alguma verdade em tudo. Eu não acho que seu método seja charlatanismo, é um bom método com fundamentos fundamentais.
O que há para dizer? Eu não disse nada sobre o "meu" método.
 
mytarmailS:
O que há para dizer? Eu não disse nada sobre o "meu" método.
Estás a rir-te de alguma coisa, por isso diz-me do que te estás a rir.
 
Yerlan Imangeldinov:
Estão a rir-se de alguma coisa, por isso digam-me juntos.

Obrigado, eu já me ri.

 
mytarmailS:

Obrigado, eu já me ri.

Tudo pode ser explicado, haveria compreensão.
 
SanSanych Fomenko:

Seria desejável ver os resultados dos cálculos

Mas aconselho-o a verificar as suas próprias ferramentas, porque o problema pode estar nas pequenas nuances da implementação de funções individuais. Por exemplo, a visualização de ZZ em "vista categórica" pode ser deslocada para a direita por uma barra, não é deslocada no meu caso, onde ZZ joelho termina e onde o indicador de ZZ derivado muda de sinal. A verificação é simples, onde a curva de aprendizagem é mais alta, é mais correta, o principal é que os sinais devem ser sem espreitar, e os alvos são obrigados a espreitar, essa é a sua essência. Mas o fato é que ZZ em particular (sua inclinação) é imediatamente um alvo, porque mostra a tendência com vista ao futuro e a direção ideal da posição no momento.

 
Eu vou ficar bem:

OK, vou ter meio dia de folga...

Em R pode ser feito em 3 minutos, então se Sanych quer tanto uma puritana ele pode passar esses três minutos
 
mytarmailS:
em R pode ser feito em 3 minutos, então se Sanych quer tanto um pruf que poderia ter passado esses três minutos

Você já entendeu o que precisa fazer nesses "três minutos"? Se você entender, então grave um vídeo de camtasia de você fazendo isso em três minutos, sem acelerar ou editar na primeira vez.

 
O barulho:

Você já entendeu o que precisa fazer nesses "três minutos"? Se você entender, então grave um vídeo de camtasia de você fazendo isso em três minutos, sem acelerar ou editar na primeira vez.

aqui...

exceto eu adicionei ruído à onda senoidal porque a onda senoidal pura é previsível e o modelo, em ambos os casos, é previsível sem erros

# создаем  синус
make.sin <- function(){
  t <- seq(0,50,0.1)
  s <- sin(t)
  return(s)
}
S <- make.sin()

noise <- rnorm(length(S))
S <- (S+noise)+1000

# х енкель для создания скользящего окна
hankel <- function(data, r=5) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
S <- hankel(S)

# делаем зиг и целевую с него
library(TTR)
make.zz <- function(ch=0.2){
  zz <- ZigZag(S[,ncol(S)], change = ch, percent = T, retrace = F, lastExtreme = T)
  n <- 1:length(zz);
  for(i in n) { if(is.na(zz[i])) zz[i] = zz[i-1]}
  dz<-c(NA,diff(zz))
  sig<-ifelse(dz>0, 1, ifelse(dz<0, 0, NA))
  return(list(label=sig , zz=zz))
}
Y <- make.zz()

layout(1:2)
# рисуем для наглядности синусоиду ,
# зигзаг на ней и внизу бинарный сигнал бай/сел
plot(S[,ncol(S)],t="l")
lines(Y$zz,col=4,lwd=2)
plot(Y$label ,t="l")

# подготовка данных
dat <- na.omit(  cbind.data.frame(var=S, label=Y$label) )

label <- as.factor(dat$label)
dat <- dat[,-ncol(dat)]

# тренировки модели
tr <- 1:400
ts <- 401:nrow(S)

library(randomForest)
# тренируем модель как есть те целевая
# не заглядывает в будущее на один шаг

rf1 <- randomForest(label[tr]~., dat[tr,])
pr1 <- predict(rf1, dat[ts,])

# теперь тренируем вторую модель которая
# уже пробует предсказать следующее значение

label2 <- label[-1]
dat2 <- dat[-nrow(dat),]

rf2 <- randomForest(label2[tr]~., dat2[tr,])
pr2 <- predict(rf2, dat2[ts,])

# проверяем результаты
library(caret)

#ошибка без попытки предсказать
confusionMatrix(pr1,label[ts])
#ошибка с предсказанием на шаг
confusionMatrix(pr2,label2[ts])


média sem previsão

Precisão : 0,7895

com previsão

Precisão : 0,6702

P.S. Eu li um pouco errado, porque nos preditores em vez de Momentum eu tenho a própria onda senoidal depois dos 5 valores. 5 valores com ruído sobreposto

 

mytarmailS:

média sem previsão

Precisão : 0,7895

com previsão

Precisão : 0,6702

Então...

A aceleração na floresta é 10% maior sem um deslocamento ZZ, o que era necessário para provar, pois ZZ prevê o futuro em um momento específico, não há necessidade de deslocá-lo.

 
Eu vou:

Aí tens...

A pontuação na floresta é 10% a mais sem mudar ZZ, o que era necessário para provar, como ZZ prevê o futuro em um momento específico, que não há necessidade de mudá-lo.

Isso não prova nada.

A regra é simples: ao preparar os dados para o treinamento , deslocar o alvo para a esquerda ("para o futuro") por uma barra, independentemente de como você gerou o sinal. Tens alguma ideia do porquê?

Se você não sabe, eu vou descrevê-lo em detalhes.

Boa sorte.