L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 3042

 

Extraire quelques "bonnes" règles/stratégies des données...

Etape complète

1) transformation et normalisation des données

2) entraînement du modèle

3) extraction de règles

4) filtrage des règles

5) visualisation

code prêt à l'emploi, il suffit de substituer vos données.

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 question est la suivante : si l'on peut trouver des "CT de travail" au hasard, quels sont les moyens de prouver que les CT trouvées sur des données réelles ne sont pas aléatoires ?

Alexey le fait ici, je me demande s'il existe un test statistique pour ce genre de tâches ?

 
Demandez à chatgpt, les réponses sont souvent plus instructives que celles d'un humain :)

Je veux faire une expérience - écrire un bot à partir de zéro uniquement à l'aide de messages-guides.
 
Maxim Dmitrievsky écrire un bot à partir de zéro uniquement à l'aide de messages-guides.

Pourquoi ? Pour surpasser Lilith ? Bien que ..... ... ... ... J'aimerais )))))))))))))))))))))))) Un outil vraiment cool dans des mains habiles).

 
Valeriy Yastremskiy #:

Pourquoi ? Pour surpasser Lilith ? Mais qu'est-ce que ..... ... ... ... sya)))))))) C'est un outil vraiment cool entre de bonnes mains).

C'est un niveau méta de programmation, et elle connaît parfaitement le langage Python. Je fais aussi des invites à la voix, allongé sur le canapé. Il m'arrive souvent d'avoir des idées, mais je suis trop paresseux pour réécrire ce code :).
 
Maxim Dmitrievsky #:
Il s'agit d'une programmation de niveau méta, et elle connaît parfaitement le langage Python. Je fais aussi des invites vocales en m'allongeant sur le canapé. Il m'arrive souvent d'avoir des idées, mais je suis trop paresseux pour réécrire ce code :)

Je suis d'accord, la bonne question est un méta-niveau))))

Bien et vérifier l'exactitude de l'exécution du code)
 
Valeriy Yastremskiy #:

Je suis d'accord, une question correctement posée est un méta-niveau)))))

Bien et vérifier l'exactitude de l'exécution du code)
Donnez-moi une interface neuronale pour que je n'aie pas à bouger la bouche.
 
Je pense qu'il s'agit d'une dégradation
 
mytarmailS #:

Extraire quelques "bonnes" règles/stratégies des données...

Étape complète

1) transformation et normalisation des données

2) Entraînement du modèle

3) extraction de règles

4) filtrage des règles

5) visualisation

code prêt à l'emploi, il suffit de substituer vos données



La question est la suivante : si vous pouvez trouver des "CT de travail" au hasard, comment pouvez-vous prouver que les CT trouvés sur des données réelles ne sont pas aléatoires?

Alexey le fait ici, je me demande s'il existe un test statistique pour ce genre de tâches?

Le principal problème de l'application de matstat à de tels problèmes est que la recherche de CT est effectuée par sélection à partir d'un grand nombre de variantes. Il est toujours possible de choisir quelque chose de très beau parmi un grand nombre de variantes - par un exemple simple, j'ai montré ici que, en modélisant les prix comme des SB, on peut toujours "trouver" une bonne heure de la semaine pour le trading. Et ce n'est qu'à partir de 120 variantes que l'on peut choisir.

Le matstat ne dit pas que le TS sélectionné est nécessairement mauvais, il dit seulement qu'un tel résultat PEUT (PAS DOIT) être simplement le résultat d'une sélection à partir du SB.

 
mytarmailS #:

Extraire quelques "bonnes" règles/stratégies des données...

J'obtiens une erreur au démarrage

> 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
 

Une question purement théorique s'est posée : un modèle ONNX peut-il être utilisé pour dériver un autre modèle ONNX. Par exemple, le premier modèle est utilisé pour se réentraîner périodiquement sur de nouvelles données et mettre à jour le modèle de travail. Autrement dit, sans utiliser python, etc.

A première vue, il est peu probable que cela soit possible, mais au cas où quelqu'un aurait essayé de faire quelque chose comme ça.

Je n'ai pas réussi à obtenir de réponses significatives de l'IA - elle écrit qu'elle peut le faire et cite des références qui n'ont rien à voir avec la question).