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

 
Vizard_:
radikal.ru/video/1JIag8ds57s

)))

 
Vizard_:

Non lasciatevi andare all'euforia. Prenditi un paio di giorni per digerirlo con calma, fallo girare...

Questo è un buon consiglio. Prenditi il tuo tempo... :-)

 
mytarmailS:

i soliti volumi orizzontali!!! Gesù! Da dove venite voialtri? )) Ah, ho dimenticato che questo è un forum Forex)


Nella finestrella? Sul monitor di sinistra?

 
Sergey Chalyshev:

Cosa c'è che non va?

Anch'io ho lo stesso problema. Qualcuno può dirmi perché questo potrebbe accadere?

 
Mikhail Khlestov:

Anch'io ho questo problema. Qualcuno può dirmi perché questo potrebbe accadere?

Questo è il caso di tutti, non ha senso guardare i risultati del vassoio, solo l'OOS, ma se il sistema non ha identificato modelli reali (e un paio di centinaia di persone nel mondo lo fanno), allora l'OOS sarà a filo di spread o qualcosa di peggio. Ma per riparare una traccia - nessun problema per qualsiasi graylist con 100$ e un paio d'ore.

 
Igor Makanu:

1. Cercherò di citare vagamente Haikin: il set di dati dovrebbe contenere sia esempi positivi che negativi

sembra essere chiaro con gli esempi positivi, quello che rimane da chiarire è come insegnare gli esempi negativi?

Anche il 2.noise dovrebbe essere dato, ma non è esattamente un esempio negativo, vero?

1) Hai ragione. Ma hai dimenticato - il rapporto tra positivo e negativo dovrebbe essere coerente con la pratica. Anche una citazione a memoria.

Insegnare allo stesso modo. Servire l'input in miscele con i positivi.

2. Da 1. segue - nessun rumore.

Se avete solo il positivo e nessun negativo, non avete idea di cosa state insegnando.

 
Igor Makanu:

1. non ho dimenticato, perché non so - non c'è niente da dimenticare, voglio ancora leggere, ma sono queste piccole cose che iniziano tutto!

2. individualmente tutti, imho, bene, i miei obiettivi sono buoni - non voglio prevedere l'imprevedibile, voglio adattare l'adattivo )))

A proposito, da dove prendere il negativo. Poiché non conosco il compito, in termini generali.

Se stai insegnando, per esempio, a riconoscere i triangoli, allora il campione di allenamento dovrebbe contenere non solo una varietà di triangoli, ma anche una varietà di non triangoli.

 
Vizard_:

radikal.ru/video/m9Ct2f9xDCn

Merda... che tipo di musica stai ascoltando))

 

Quindi, riguardo al flotsam, se ti ricordi, ho sollevato un argomento su come algoritmizzare il flotsam. Non ho avuto risposte chiare, quindi ho dovuto pensare da solo...

All'inizio ho sperimentato con le distribuzioni - più il prezzo fluttuava su un livello e più queste fluttuazioni erano più probabile il flop; tuttavia, questo metodo ha degli svantaggi e ci ho rinunciato.

Il secondo metodo era migliore e vorrei condividerlo con voi nel caso qualcuno sia interessato...

Per il secondo metodo ho usato l'autocorrelazione del prezzo e ho cercato a lungo segni di piattezza nelle indicazioni ACF e ho trovato due segni semplici.

Ecco come appaiono il prezzo e l'ACF

il codice sul R-ke

layout(1:2)
x <- cumsum(rnorm(100))
plot(x,t="l")
acf(x,plot = T,lag.max = length(x))

Ora circa i segni

Il primo segno è il numero di estremi nell'ACF (blu)

Il secondo indicatore è il numero di intersezioni della linea dello zero con l'asse (rosso)

Più sono gli incroci e gli estremi, più forte è il piatto

Una funzione che restituisce i due attributi o parametri di cui sopra

get_parameters <- function(x){
  ac <- acf(x,lag.max = length(x),plot = F)
  
  
  library(quantmod)
  
  xx <- ac$acf
  
  pi <- findPeaks(xx)
  va <- findValleys(xx)
  length(c(pi,va))
  
  flet <- rep(0,length(xx))
  for(i in 5:length(xx)){
    
    if(xx[i-1]>0 && xx[i]<0)  flet[i] <- 1
    if(xx[i-1]<0 && xx[i]>0)  flet[i] <- 1
  }
  
  x1 <- length(c(pi,va))
  x2 <- sum(flet)
  
  return(c(x1,x2))
}

Il metodo ha uno svantaggio - è una finestra scorrevole di dimensione fissa, ma può essere aggirata, anche se l'algoritmo rallenta un centinaio di volte, il che è male...


Ora il risultato è effettivamente

Consideriamo "piatta" la situazione quando il primo e il secondo segno sono più di 7

l'algoritmo in una finestra scorrevole di 30 punti

algoritmo in una finestra scorrevole di 200 pixel

e il codice stesso

layout(1:1)
x <- cumsum(rnorm(1000))
plot(x,t="l")
n <- 200  # length roll window
for(i in n:length(x)){
  ii <- (i-(n-1)):i
  gp <- get_parameters(x[ii])
 flat <- gp[1]>=8 && gp[2]>=8
if(flat){
   rect(i-length(ii), min(x[ii]), i, max(x[ii]), col = "aquamarine3",border = "aquamarine3")
 }}
lines(x,t="l")


Se qualcuno sa come migliorare l'algoritmo, non esitate a

 
mytarmailS:

Vedere .....

Algoritmo in una finestra scorrevole di 30 pixel

Algoritmo in una finestra scorrevole di 200 pixel

Quindi, se si prende l'intera storia come una finestra, sarà un appartamento dall'inizio alla fine?