L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 279

 
Yerlan Imangeldinov:
Parla chiaro, è domenica, non c'è fretta e c'è un po' di verità in tutto. Non penso che il suo metodo sia ciarlataneria, è un buon metodo con basi fondamentali.
Non ho detto nulla sul "mio" metodo.
 
mytarmailS:
Non ho detto nulla sul "mio" metodo.
Stai ridendo di qualcosa, quindi dimmi di cosa stai ridendo.
 
Yerlan Imangeldinov:
State ridendo di qualcosa, ditemelo insieme.

Grazie, ho già riso.

 
mytarmailS:

Grazie, mi sono già fatto una risata.

Tutto può essere spiegato, ci sarebbe comprensione.
 
SanSanych Fomenko:

Sarebbe auspicabile vedere i risultati dei calcoli

Ma vi consiglio di controllare i vostri strumenti, perché il problema potrebbe risiedere nelle piccole sfumature dell'implementazione delle singole funzioni. Per esempio la visualizzazione di ZZ in "vista categorica" può essere spostata a destra di una barra, non è spostata nel mio caso, dove finisce ZZ knee e dove l'indicatore ZZ derivativo cambia segno. Il controllo è semplice, dove la curva di apprendimento è più alta, è più corretto, la cosa principale è che i segni dovrebbero essere senza sbirciare, e i bersaglieri sono obbligati a sbirciare, questa è la loro essenza. Ma il fatto è che ZZ in particolare (la sua pendenza) è immediatamente un obiettivo, perché mostra la tendenza in vista del futuro e la direzione ideale della posizione al momento.

 
Starò bene:

OK, avrò mezza giornata libera...

In R può essere fatto in 3 minuti, quindi se Sanych vuole così tanto un pruff potrebbe spendere quei tre minuti
 
mytarmailS:
in R può essere fatto in 3 minuti, quindi se Sanych vuole così tanto un pruf avrebbe potuto spendere quei tre minuti

Avete almeno capito cosa dovete fare in quei "tre minuti"? Se hai capito, allora registra un video di Camtasia di te che lo fai in tre minuti, senza accelerare o modificare la prima volta.

 
Il rumore:

Avete almeno capito cosa dovete fare in quei "tre minuti"? Se hai capito, allora registra un video di Camtasia di te che lo fai in tre minuti, senza accelerare o modificare la prima volta.

qui...

tranne che ho aggiunto il rumore all'onda sinusoidale perché l'onda sinusoidale pura è prevedibile e il modello in entrambi i casi ha predetto senza errori

# создаем  синус
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])


media senza previsione

Precisione: 0,7895

con previsione

Precisione: 0,6702

P.S. Ho letto un po' male, perché nei predittori invece di Momentum ho la sinusoide stessa dopo i 5 valori. 5 valori con rumore sovrapposto

 

mytarmailS:

media senza previsione

Precisione: 0,7895

con previsione

Precisione: 0,6702

Quindi...

L'accelerazione sulla foresta è del 10% più alta senza uno spostamento di ZZ, che era necessario provare, perché ZZ predice il futuro in un momento specifico, non c'è bisogno di spostarlo.

 
Lo farò:

Ecco fatto...

Il punteggio sulla foresta è del 10% in più senza lo spostamento di ZZ, che era necessario per dimostrare, come ZZ predice il futuro in un momento specifico, non c'è bisogno di spostarlo.

Non prova nulla.

La regola è semplice: quando preparate i dati per l'allenamento , spostate il target a sinistra ("nel futuro") di una barra, indipendentemente da come avete generato il segnale. Ha un'idea del perché?

Se non lo sapete, ve lo descriverò in dettaglio.

Buona fortuna

Motivazione: