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

 

Estrazione di alcune regole/strategie "buone" dai dati...

Fase completa

1) trasformazione e normalizzazione dei dati

2) formazione del modello

3) estrazione delle regole

4) filtraggio delle regole

5) visualizzazione

codice pronto, basta sostituire i dati.

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 domanda è: se è possibile trovare "TC funzionanti" in modo casuale, quali sono i modi per dimostrare che i TC trovati su dati reali non sono casuali?

Alexey lo sta facendo qui, mi chiedo se esista un test statistico per questo tipo di compiti.

 
Chiedete a chatgpt, spesso risponde in modo più informativo di un umano :)

Voglio fare un esperimento: scrivere un bot da zero solo attraverso i prompt.
 
Maxim Dmitrievsky scrivere un bot da zero solo attraverso i prompt.

Perché? Per superare Lilith? Anche se cosa sarebbe ..... ... ... ... Mi piacerebbe )))))))))))))))))))))))) Uno strumento davvero fantastico in mani esperte).

 
Valeriy Yastremskiy #:

Perché? Per superare Lilith? Anche se cosa ..... ... ... ... ... )))))))) È uno strumento davvero fantastico nelle mani giuste).

È un metalivello di programmazione, e in più conosce perfettamente python. Mi occupo anche di suggerimenti a voce, sdraiato sul divano. Spesso mi capita di avere delle idee, ma sono troppo pigro per scrivere di nuovo il codice :).
 
Maxim Dmitrievsky #:
È una programmazione di meta-livello, e in più conosce perfettamente python. Faccio anche dei prompt a voce mentre sono sdraiato sul divano. Spesso mi capita di avere delle idee, ma sono troppo pigro per scrivere di nuovo il codice :)

Sono d'accordo, la domanda giusta è un meta-livello))))

Bene e verificare la correttezza dell'esecuzione del codice)
 
Valeriy Yastremskiy #:

Sono d'accordo, una domanda posta correttamente è un meta-livello)))))

E controllare la correttezza dell'esecuzione del codice).
Datemi un'interfaccia neurale così non dovrò muovere la bocca.
 
Credo che si tratti di un degrado
 
mytarmailS #:

Estrarre alcune regole/strategie "buone" dai dati...

Passo completo

1) trasformazione e normalizzazione dei dati

2) formazione del modello

3) estrazione di regole

4) filtraggio delle regole

5) visualizzazione

codice pronto, basta sostituire i dati



La domanda è: se si possono trovare "TC funzionanti" in modo casuale, in che modo si può dimostrare che i TC trovati sui dati reali non sono casuali?

Alexey lo sta facendo qui, mi chiedo se esista un test statistico per questo tipo di compiti.

Il problema principale dell'applicazione di matstat a questo tipo di problemi è che la ricerca dei TC viene effettuata selezionando un gran numero di varianti. È sempre possibile scegliere qualcosa di molto bello da un ampio insieme di varianti - con un semplice esempio ho dimostrato qui che modellando i prezzi come SB, è sempre possibile "trovare" una buona ora della settimana per il trading. E sono solo 120 le varianti tra cui scegliere.

Il matstat non dice che il TS selezionato è necessariamente negativo, dice solo che tale risultato può (NON DEVE) essere solo il risultato della selezione dal SB.

 
mytarmailS #:

Estrarre alcune regole/strategie "buone" dai dati...

Ricevo un errore all'avvio

> sw <- embed(x = close,dimension = 10)[,10:1] # make slide window data
Error in h(simpleError(msg, call)) : 
  ошибка при оценке аргумента '.data' при выборе метода для функции 'embed': argument ".data" is missing, with no default
 

È sorta una domanda puramente teorica: è possibile utilizzare un modello ONNX per ricavare un altro modello ONNX? Ad esempio, il primo modello viene utilizzato per riqualificarsi periodicamente su nuovi dati e aggiornare il modello di lavoro. Cioè, senza usare python ecc.

A prima vista, è improbabile che ciò sia possibile, ma nel caso in cui qualcuno abbia provato a fare qualcosa di simile.

Non sono riuscito a ottenere risposte significative dall'IA - scrive che può farlo e cita riferimenti che non hanno nulla a che fare con la domanda).