Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 3041

 
mytarmailS #:

¿Por qué no? Entrena, prueba, valida y vete.

Lástima, cambié el avar.

 
СанСаныч Фоменко #:

Lástima, avar cambiado

¿Por qué?

 
El militarismo también ha llegado a este bonito y adorable tema
 
Maxim Dmitrievsky #:
El militarismo ha llegado a este lindo y tierno tema.

¿Es un francotirador lo que tiene?

 

Estoy tratando de linealizar el espacio, o simplemente traducir un espacio no lineal a un espacio más lineal. Estoy interesado en el algoritmo HLLE.


https://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction


parece bastante interesante. Me parece que el AMO será más fácil de reconocer un boceto de este tipo que el precio tal como es.

¿Alguien puede decirme por qué hay una distorsión tan desagradable de los colores en la animación cuando la subo aquí?


Así es como se ve el precio transformado por el algoritmo.


quien quiera jugar

p <- cumsum(rnorm(400,sd = 0.01))+100
p <- stats::embed(p,dimension = 20)[,20:1]
plot(p[,20],t="l",pch=20)

library(dimRed)
emb <- embed(p, "HLLE", knn = 15)

pp <- emb@org.data[,20]
xx <- emb@data@data

par(mar=c(2,2,2,2), mfrow=c(1,2))
plot(pp,t="l",pch=20)
plot(xx,t="p",pch=20)

for(i in 1:nrow(xx)){
  Sys.sleep(0.05)

  plot(pp,t="l",pch=20)
  points(i,pp[i],col=2,lwd=6)
  plot(xx, t="p",lwd=2,pch=20)
  points(xx[i,1],xx[i,2],col=2,lwd=6)
}
Archivos adjuntos:
anigif.zip  6455 kb
 

Bueno, el aprendizaje múltiple tiene los mismos problemas que el pca.

tendrás dificultades para ajustar series no estacionarias

 
Maxim Dmitrievsky #:

Pues yo estoy aprendiendo con los mismos problemas que pca.

te va a costar mucho ajustar series no estacionarias

¿Qué hay que coger? No hay nada que coger, el patrón actual se transforma a una dimensión diferente y ya está.

 

hizo una foto más bonita

p <- cumsum(rnorm(300,sd = 0.01))+100
n <- 10
p <- stats::embed(p,dimension = n)[,n:1]

library(dimRed)
emb <- embed(p, "HLLE", knn = 15)
pp <- emb@org.data[,n]
xx <- emb@data@data


gg <- cbind.data.frame(time=1:length(pp),xx,pp)
library(patchwork)
library(ggplot2)
p1 <- ggplot(gg, aes(x =time, y = pp, col=time)) +
  geom_point()  +
  scale_color_gradientn(colours = rainbow(4))
p2 <- ggplot(gg, aes(x = HLLE1, y = HLLE2, col=time)) +
  geom_point()  +
  scale_color_gradientn(colours = rainbow(4))
p1 + p2 + plot_layout(nrow = 2) 


 

Extraer algunas "buenas" reglas/estrategias de los datos...

Paso completo

1) transformación y normalización de los datos

2) formación del modelo

3) extracción de reglas

4) filtrado de reglas

5) visualización

código listo, sólo hay que sustituir los datos.

close <- cumsum(rnorm(10000,sd = 0.00001))+100
par(mar=c(2,2,2,2))
plot(close,t="l")

sw <- embed(x = close,dimension = 10)[,10:1] #  make slide window data
X <- t(apply(sw,1,scale)) #  normalase data

dp <- c(diff(close),0) #  diff prices
Y <- as.factor( ifelse(dp>=0,1,-1) ) #  target for classification

tr <- 1:500
library(inTrees)  # ?inTrees::getRuleMetric()
library(RRF)

rf <- RRF(x = X[tr,],y = Y[tr],ntree=100)
rule <- getRuleMetric(unique(extractRules(RF2List(rf),X[tr,])),X[tr,],Y[tr])
rule <- data.frame(rule,stringsAsFactors = F)
for(i in c(1,2,3,5)) rule[,i] <- as.numeric(rule[,i])
buy_rules <- rule$condition[ rule$pred==1 ]

plot(x = 1:1000,y = rep(NA,1000), ylim = c(-0.001,0.001)) 
for(i in 1:length(buy_rules)){
   cum_profit <- cumsum( dp[  eval(str2expression(buy_rules[i]))  ] )
   lines(cum_profit,col=8,lwd=1)
}
for(i in 1:length(buy_rules)){
  cum_profit <- cumsum( dp[  eval(str2expression(buy_rules[i]))  ] )
  ccor <- cor(cum_profit, 1:length(cum_profit))
  if(ccor>=0.9)  lines(cum_profit,col=i,lwd=2)
}
abline(h = 0,col=2,lty=2)



La cuestión es que, si puedes encontrar "CTs que funcionan" de forma aleatoria, ¿cuáles son las formas de probar que las CTs encontradas en datos reales no son aleatorias?

Alexey lo está haciendo aquí, me pregunto si hay alguna prueba estadística para este tipo de tareas.

 
Pregunte chatgpt, a menudo responde más informativo que un ser humano :)

Quiero hacer un experimento - escribir un bot desde cero sólo a través de prompts.
Razón de la queja: