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

 
Andrey Dik:

J'ai décrit précédemment mon approche pour diviser en 3 classes (vendre, clôturer, acheter). La classe "clôture" comprend tous les cas qui se contredisent ou qui ne peuvent être divisés en classes d'achat et de vente. Il s'avère que seuls 3 à 10 % d'entre eux entrent dans la catégorie des acheteurs et des vendeurs. La beauté de cette approche est que, en travaillant avec des données inconnues (réelles), avec le temps, le réseau cesse de reconnaître les situations de marché et commence à les attribuer de plus en plus à la "clôture", c'est-à-dire qu'il cesse progressivement de négocier. C'est cent fois mieux que de commencer à pécher par excès d'entrée au fil du temps.

Mais en vain, personne ne veut, personne n'écoute.

Qu'est-ce que la clôture ? Quand le net à acheter dit acheter et le net à vendre dit vendre ?

C'est le même ternaire de Reshetov.

 
Andrey Dik:

J'ai décrit précédemment mon approche consistant à diviser en 3 classes (vendre, clôturer, acheter).

Ceci est déjà implémenté dans jPrediction. C'est pourquoi on l'appelle un classificateur ternaire au lieu d'un classificateur binaire.

Mis en œuvre de manière très triviale :

  1. Formation : former deux classifieurs binaires sur deux parties non chevauchantes de l'échantillon.
  2. Validation croisée : test des classificateurs binaires sur les parties de l'échantillon où ils n'ont pas été entraînés.
  3. Classification : si les lectures des deux classificateurs binaires coïncident, alors nous prenons la valeur de sortie de l'un ou l'autre comme résultat. Si les lectures des classificateurs binaires sont différentes, la sortie est : "s'asseoir sur la clôture et fumer du bambou".

Auparavant, elle était censée utiliser la méthode "vélo" :

  1. Entraîner un classificateur binaire sur une moitié de l'échantillon.
  2. Testez-le sur la seconde moitié de l'échantillon
  3. En utilisant l'analyse ROC, augmentez l'un des seuils pour augmenter la sensibilité, et diminuez le second seuil pour augmenter la spécificité.
  4. Classification : Si le motif à classer est supérieur au seuil de sensibilité - acheter. Si le modèle est en dessous du seuil de spécificité - vendre. Si le modèle se situe entre les deux seuils, restez sur la barrière et fumez du bambou.

Cependant, la "roue" ci-dessus produit plus de faux signaux par rapport à la classification par deux binaires en raison de l'absence de validation croisée, mais elle est plus facile à mettre en œuvre.

Le binaire ternaire le plus stupide et le plus futile, bien que le plus primitif dans sa mise en œuvre : il s'agit d'un ANN à trois sorties. Si chacune de ces sorties a son propre seuil de classification, elles ne produisent pas trois mais huit états potentiellement possibles, dont trois seulement sont sans ambiguïté (une valeur supérieure au seuil sur une seule des trois sorties), et cinq dont l'interprétation n'est pas claire (valeurs supérieures au seuil sur plus d'une des sorties, ou inférieures au seuil sur les trois sorties).

 
mytarmailS:

Qu'est-ce que la clôture ? Quand le filet pour acheter dit acheter et le filet pour s'asseoir dit s'asseoir ?

C'est le même ternaire de Reshetov.

Non. Je ne donnerai pas de lien, cherchez.
 
Yury Reshetov:

Ceci est déjà implémenté dans jPrediction. C'est pourquoi on l'appelle un classificateur ternaire au lieu d'un classificateur binaire.

Mis en œuvre de manière très triviale :

  1. Formation : nous formons deux classifieurs binaires sur deux parties non chevauchantes de l'échantillon.
  2. Validation croisée : test des classificateurs binaires sur les parties de l'échantillon où ils n'ont pas été entraînés.
  3. Classification : si les lectures des deux classificateurs binaires coïncident, alors nous prenons la valeur de sortie de l'un ou l'autre comme résultat. Si les lectures des classificateurs binaires sont différentes, la sortie est : "s'asseoir sur la clôture et fumer du bambou".

Auparavant, elle était censée utiliser la méthode "vélo" :

  1. Entraîner un classificateur binaire sur une moitié de l'échantillon.
  2. Testez-le sur la seconde moitié de l'échantillon
  3. En utilisant l'analyse ROC, augmentez l'un des seuils pour augmenter la sensibilité, et diminuez le second seuil pour augmenter la spécificité.
  4. Classification : Si le motif à classer est supérieur au seuil de sensibilité - acheter. Si le modèle est en dessous du seuil de spécificité - vendre. Si le modèle se situe entre les seuils - restez sur la barrière et fumez du bambou.

Cependant, la "bicyclette" ci-dessus produit plus de faux signaux par rapport à la classification par deux binaires, mais elle est plus facile à mettre en œuvre.

Le binaire ternaire le plus stupide et le plus futile et le plus primitif dans sa mise en œuvre : c'est un ANN à trois sorties. Si chacune de ces sorties a son propre seuil de classification, elles n'ont pas trois mais huit états potentiels, dont trois seulement sont sans ambiguïté (une valeur supérieure au seuil sur une seule des trois sorties), et cinq dont l'interprétation n'est pas claire (des valeurs supérieures au seuil sur plus d'une des sorties, ou inférieures au seuil sur les trois sorties).

Il existe un autre moyen que vous n'avez pas envisagé. La sortie est une du neuronkey, mais la zone des valeurs est conditionnellement divisée en trois zones. Je l'ai fait comme [-1.5...1.5]. La zone de valeur centrale [-1.0...1.0] est la "clôture". Il s'avère que plus la situation est familière au réseau neuronal, plus il est excité et les valeurs tendent davantage vers les valeurs extrêmes. Les valeurs situées en dehors de la plage [-1.0...1.0] sont des signaux appropriés pour l'achat et la vente.

Mais les gens se débattent encore avec la classification binaire.

 
Andrey Dik:

Il existe un autre moyen, que vous n'avez pas envisagé. La sortie est la même à partir du neuronkey, mais la zone de valeurs est divisée conditionnellement en trois zones. Je l'ai fait comme [-1.5...1.5]. La zone de valeur centrale [-1.0...1.0] est la "clôture".

Je ne l'ai pas ignoré, vous ne l'avez pas lu attentivement. Voir la méthode "bicyclette" à deux seuils avec un seul n binaire. 3 et para. 4, et je cite :

Yury Reshetov:
...

Auparavant, la méthode "vélo" était censée être appliquée :

  1. Entraîner un classificateur binaire sur une moitié de l'échantillon.
  2. Testez-le sur la seconde moitié de l'échantillon.
  3. En utilisant l'analyse ROC, augmentez l'un des seuils pour augmenter la sensibilité, et diminuez le second seuil pour augmenter la spécificité.
  4. Classification : Si le motif à classer est supérieur au seuil de sensibilité - acheter. Si le modèle est en dessous du seuil de spécificité - vendre. Si le modèle se situe entre les seuils - restez sur la barrière et fumez du bambou.
...
 
Yury Reshetov:

Le problème de votre approche est qu'initialement (avant le filtrage ternaire des signaux d'achat/de vente), vos MO sont entraînés sur des données qui peuvent expliquer plus de 5% de toutes les données, vous voyez ?

Andrey Dik:

Je pense que c'est la même histoire ici...

==================================

Ma méthode n'utilise pas du tout le MO dans la prise de décision et n'essaie pas d'expliquer l'ensemble de l'échantillon, mais seulement ce qu'elle considère comme une forte régularité statistique, et si ces données ne représentent que 0,01% de toutes les données, alors elles seules resteront...

 
Andrey Dik:

...

Mais les gens continuent de bricoler avec la classification binaire.

En effet, la plupart des gens trouvent plus facile de prendre un paquet prêt à l'emploi avec une classification binaire déjà implémentée que d'expérimenter une classification ternaire. Tout le monde n'aime pas "réinventer la roue", car toutes les idées ne donnent pas de bons résultats. Certaines personnes trouvent plus facile de rouler sur un vélo standard, même s'il a des roues carrées.

Si la classification ternaire est utilisée, la plupart des sources sur l'apprentissage automatique suggèrent la méthode la moins prometteuse : former un ANN avec trois sorties, ce qui est facile à mettre en œuvre mais totalement inadapté en pratique.

 
Yury Reshetov:

En effet, la plupart des gens trouvent plus facile d'obtenir un paquet prêt à l'emploi avec une classification binaire déjà implémentée que d'expérimenter la classification ternaire. Tout le monde n'aime pas réinventer les "bicyclettes", car toutes les idées ne donnent pas de bons résultats. Certaines personnes trouvent plus facile d'utiliser un vélo existant, même s'il a des roues carrées.

Si la classification ternaire est utilisée, la plupart des sources sur l'apprentissage automatique suggèrent la méthode la moins prometteuse : former un ANN avec trois sorties, ce qui est facile à mettre en œuvre mais totalement inadapté en pratique.

Eh bien oui, je suis d'accord, ça l'est.

Mais une chose est certaine (pardonnez la taftalogie) - un binaire est la pire chose qui puisse être utilisée pour le marché.

 
mytarmailS:

Le problème avec votre approche est qu'au départ (avant le filtrage ternaire des signaux d'achat/de vente) , vos MO sont entraînés sur des données qui peuvent expliquer peut-être 5 % de toutes les données, vous voyez ? Avant le filtrage ternaire, les MO sont déjà entraînés sur du bruit et leurs sorties sont en conséquence

Ne dites pas n'importe quoi. Dans jPrediction, un algorithme est mis en œuvre pour réduire la taille des entrées de sorte que vous n'obteniez pas un modèle à la sortie qui a été formé sur des prédicteurs bruyants ou sans importance. C'est-à-dire qu'un choix est fait parmi une variété de modèles avec différentes combinaisons de prédicteurs, parmi lesquels il ne reste que celui qui a la meilleure généralisation.
 
mytarmailS:

Vous voyez, nous essayons de diviser l'échantillon entier en achat et vente et nous voulons prédire chaque mouvement du marché, mais nos prédicteurs sont tellement merdiques qu'ils ne peuvent objectivement prédire que~3% de tous les mouvements, alors de quoi avons-nous besoin ? nous devons essayer de prendre au moins ces3% et jeter le reste des choses indissociables parce que c'est la même merde à l'entrée/bruit qui doit être passé au crible/raison du recyclage etc... quel que soit le nom qu'on lui donne, c'est la bonne chose à faire...

Je vois que vous comprenez la cause des problèmes. Mais j'essaie de résoudre le problème différemment de ce que vous suggérez.

J'ai tendance à suivre les paroles de SanSanych - vous devez recruter des prédicteurs et des cibles qui ne sont pas des déchets. Avec de bons prédicteurs, vous obtiendrez un graphique d'exemples de formation, pas comme je l'ai fait dans mon dernier message, mais comme Vizard_. C'est beaucoup plus difficile que d'éliminer des exemples d'apprentissage contradictoires, mais je pense qu'une sélection adéquate des prédicteurs sera plus fiable au final.

Je ne peux rien dire de votre méthode, je ne suis pas doué pour cela, mais j'espère que vous y arriverez.