L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 2632

 
elibrarius #:

Les arbres recherchent les divisions en triant chaque colonne.
Apparemment, vous devriez prendre autant de colonnes que possible et remplir de NAN les lignes où elles ne sont pas utilisées. Si le modèle peut gérer NAN.

Ou avec quelque chose d'autre : -INF, 0, +INF... de sorte que toutes les lignes inutilisées se trouvent du même côté lors du tri.

C'est plus ou moins compréhensible. J'aimerais une approche plus créative ou autre. Il y a beaucoup de nouvelles tâches, comme travailler avec des scènes vidéo de différentes longueurs, etc.

 
mytarmailS #:
Qu'est-ce que tu veux dire ? Décrire le problème

Par exemple, je veux fournir au classificateur des morceaux de prix d'entrée non pas d'une longueur fixe en barres (ou en liens d'un modèle en zigzag), mais à partir d'un moment significatif.

 
Aleksey Nikolayev #:

Par exemple, je veux alimenter le classificateur avec des morceaux de prix qui ne sont pas d'une longueur fixe en barres (ou en liens d'un modèle en zigzag), mais qui commencent à un moment significatif.

Les réseaux de récurrence conviennent, comme les réseaux de type "many-to-many".

 
Aleksey Nikolayev #:

Par exemple, je veux fournir au classificateur des morceaux de prix d'entrée non pas d'une longueur fixe en barres (ou en liens d'un modèle en zigzag), mais à partir d'un moment significatif.

Lesrègles associatives devraient être correctes, je vais vous montrer un exemple.

set.seed(123)
li <- list()
for(i in 1:100){
 li <- append(li,  
               list(c(letters[sample(1:10,sample(5:10,1))] ,   sample(c("buy","sell"),1)))
              )}

head(li)

Les données sont sous la forme d'une liste, chaque ligne est un vecteur avec des observations de longueur quelconque.

head(li)
[[1]]
[1] "c"    "b"    "f"    "j"    "e"    "d"    "i"    "sell"

[[2]]
[1] "j"    "e"    "c"    "h"    "a"    "sell"

[[3]]
[1] "i"   "c"   "h"   "b"   "g"   "buy"

[[4]]
 [1] "c"   "d"   "f"   "a"   "j"   "e"   "i"   "h"   "b"   "g"   "buy"

[[5]]
[1] "i"   "g"   "c"   "d"   "e"   "buy"

[[6]]
 [1] "f"   "i"   "b"   "e"   "g"   "d"   "c"   "a"   "h"   "buy"

le code pour rechercher des modèles sous forme de règles d'association

library(arules)
model  <- apriori(li, parameter=list(support=0.2, 
                                     confidence=0.6,
                                     minlen=4,
                                     maxlen=5), 
                 appearance = list(rhs=c("buy","sell"), default="lhs"))
inspect(model)                 

les règles

inspect(model)
      lhs          rhs   support confidence coverage lift     count
[1]   {e,f,j}   => {buy} 0.23    0.6764706  0.34     1.166329 23   
[2]   {e,i,j}   => {buy} 0.21    0.6176471  0.34     1.064909 21   
[3]   {b,e,j}   => {buy} 0.23    0.6216216  0.37     1.071761 23   
[4]   {a,e,j}   => {buy} 0.24    0.6857143  0.35     1.182266 24   
[5]   {e,h,j}   => {buy} 0.22    0.6111111  0.36     1.053640 22   
[6]   {c,e,j}   => {buy} 0.26    0.6666667  0.39     1.149425 26   
[7]   {e,g,j}   => {buy} 0.23    0.6571429  0.35     1.133005 23   
[8]   {e,f,i}   => {buy} 0.24    0.6153846  0.39     1.061008 24   
[9]   {b,e,f}   => {buy} 0.22    0.6666667  0.33     1.149425 22   
[10]  {a,e,f}   => {buy} 0.25    0.6756757  0.37     1.164958 25   
[11]  {c,e,f}   => {buy} 0.24    0.6486486  0.37     1.118360 24  
...
...
..
..
.

L'algorithme recherche les associations entre les éléments indépendamment de leur ordre...

Il existe des algorithmes qui tiennent compte de l'ordre, mais ils sont gourmands.


Ou si vous voulez plus, il y a un système de recommandation appelé recommenderlab, mais je n'y suis pas entré.

 
Maxim Dmitrievsky #:

Les réseaux récurrents sont adaptés, le type many-to-many

Merci, je vais jeter un coup d'oeil.

Bien sûr, j'aimerais avoir une sorte de texte de synthèse sur le sujet, avec une description et une comparaison des approches (il n'y a pas de mal à le souhaiter). En théorie, il devrait y avoir un tel texte quelque part, mais je ne l'ai pas trouvé jusqu'à présent.

 
Aleksey Nikolayev #:

Merci, je vais jeter un coup d'oeil.

Bien sûr, j'aimerais avoir un texte de synthèse sur le sujet, avec une description et une comparaison des approches (il n'y a pas de mal à le souhaiter). En théorie, un tel texte devrait exister quelque part, mais je ne l'ai pas encore trouvé.

Je n'ai vu que des entrées-sorties de longueur variable dans de tels réseaux, et il s'agit là d'un simple examen, sans approfondissement.

pour le traitement de texte, les traductions
 
mytarmailS #:

lesrègles associatives devraient fonctionner, je vais vous donner un exemple

comme une liste , chaque ligne est un vecteur avec des observations de n'importe quelle longueur .

Le code pour rechercher des modèles sous forme de règles d'association.

les règles

L'algorithme recherche les associations entre les éléments indépendamment de leur ordre...

Il existe des algorithmes qui tiennent compte de l'ordre, mais ils sont gourmands.


Ou si vous voulez plus, il y a un système de recommandation appelé recommenderlab, mais je n'ai pas regardé dedans.

Merci, je vais regarder.

Pourtant, chez nous, l'ordre est important. Vous pouvez toujours, par exemple, obtenir SB en mélangeant les incréments de façon aléatoire.

Je me suis également souvenu que vous aviez écrit ici, il y a quelque temps, sur l'extraction de motifs séquentiels et le problème de l'alignement des séquences qui en découle. Il semble également que ce soit l'une des méthodes permettant de résoudre le problème. Cependant, l'appartenance des séquences à une même classe ne signifie pas nécessairement leur similarité.

 
Aleksey Nikolayev #:

Merci, je vais jeter un coup d'oeil.

Pourtant, chez nous, l'ordre est important. Il est toujours possible, par exemple, d'obtenir SB en mélangeant les incréments de manière aléatoire.

Je me suis également souvenu que vous aviez déjà écrit ici sur l'extraction de motifs séquentiels et le problème de l'alignement des séquences. Il semble également que ce soit l'une des méthodes permettant de résoudre le problème. Cependant, l'appartenance des séquences à une même classe ne signifie pas nécessairement leur similarité.

Alors le paquet arulesSequence

 

Sparked one gold strategy from the marketplace ;))

Courbe capitale dans mon testeur.

je l'ai jeté dans tslab pour avoir un meilleur look

On dirait qu'il y a une bonne correspondance.


J'ai regardé les métiers.


Je l'ai regardé comme s'il s'agissait d'un trader manuel avec un sit extrêmement long et un algorithme de trading vague...

Forrest n'a certainement pas pu identifier quoi que ce soit, mais c'était intéressant et instructif ;)))

 
Maxim Dmitrievsky #:

Les réseaux récurrents sont adaptés, de type many-to-many.

Cela pourrait être utile... J'ai un many-to-many sans récurrence. Et pas de couches convolutionnelles. Et j'ai choisi ce modèle après avoir analysé le mécanisme du réseau neuronal. Nous cherchons un dénominateur commun ici, n'est-ce pas ? Argumenter.