L'étiquette du marché ou les bonnes manières dans un champ de mines - page 10

 

Bonjour paralocus, je pense que vous pouvez commencer ici et nous verrons ensuite.

Au fait, pour tous ceux que cela intéresse : la stratégie "bloquer les pertes et laisser croître les profits" ou "bloquer les profits et laisser croître les pertes" (selon que le marché est en tendance ou plat, selon l'horizon de trading choisi) n'est pas optimale lors du réinvestissement du capital. Dans ce cas, il est plus rentable de fixer sur chaque étape avec un réinvestissement ! Par exemple, si nous avons 10 transactions rentables continues, il est plus rentable de payer des commissions aux sociétés de courtage et de les réinvestir, que de garder une position tout le temps et d'économiser sur le spread.

C'est le paradoxe, à partir duquel il n'est pas loin de la bernullisation des transactions, et après cela - à l'utilisation effective de l'équation de base du trading sous la forme analytique (contrairement à Vince) sans aucun problème de paramétrage.

 
Neutron >> :

Bonjour paralocus, je pense que vous pouvez commencer par là et nous verrons ensuite.


Merci !

J'ai trois perceptrons sur l'entrée (trois jusqu'à présent) qui est la première couche. La composition de la couche est la suivante :

Un perceptron sur le RSI, un sur le CCI et un sur le stochastique. Toutes les entrées et sorties sont normalisées (-1 ; +1). Les perceptrons sont entraînés par des généticiens sur le schéma le plus simple - le fractionnement.

Je veux maintenant ajouter une deuxième couche de deux perceptrons, dont l'un est entraîné à acheter uniquement et l'autre à vendre uniquement. Question :

Suffit-il que les perceptrons de la deuxième couche soient entraînés, pour ainsi dire, chacun dans sa spécialité, tout en utilisant les mêmes données de la première couche, ou bien

Les perceptrons de la première couche doivent également être entraînés séparément pour l'achat et séparément pour la vente ?

 
paralocus писал(а) >>

Merci !

Pas du tout !

Vous voyez, paralocus, le NS est par essence un additionneur universel et, mathématiquement, cela ne fait aucune différence que vous aiguisiez les neurones de la couche de sortie individuellement pour la vente ou l'achat, ou que vous construisiez la troisième couche à partir d'un seul neurone à activation hypertangente, dont la polarité de sortie indiquera l'achat ou la vente, et l'amplitude la probabilité de succès (certitude du réseau en question). De ce point de vue, il n'est pas nécessaire de spécialiser les neurones de la première couche de manière forcée - ils seront déterminés au cours du processus d'apprentissage, et en tenant compte du fait que la puissance de calcul du SN n'augmente pas lors du passage d'une architecture à deux couches à une architecture à trois couches (sauf pour certains cas exotiques) et du fait que la longueur de l'échantillon d'apprentissage est proportionnelle au carré de tous les poids du réseau (et l'échantillon, si possible, devrait être minimal, pour une réponse immédiate aux événements du marché), ainsi qu'en utilisant le principe du rasoir d'Occam (pas besoin de multiplier inutilement).

P.S. Oui, il est important que la densité de probabilité du signal d'entrée pour NS ait une espérance nulle et soit distribuée dans l'intervalle +/-1 de manière égale (tablette). Cela augmente considérablement l'apprentissage et les performances du réseau.

 
Neutron >> :

Pas encore !

Vous voyez, paralocus, le NS est par essence un additionneur universel et, mathématiquement, cela ne fait aucune différence que vous aiguisiez les neurones de la couche de sortie individuellement pour la vente ou l'achat, ou que vous créiez la troisième couche à partir d'un seul neurone à activation hypertangente, dont la polarité de sortie indiquera l'achat ou la vente, et l'amplitude la probabilité de succès (la confiance du Réseau). De ce point de vue, il n'est pas nécessaire de spécialiser les neurones de la première couche de manière forcée - ils seront déterminés au cours du processus d'apprentissage, et en tenant compte du fait que la puissance de calcul du SN n'augmente pas lors du passage d'une architecture à deux couches à une architecture à trois couches (sauf pour certains cas exotiques) et du fait que la longueur de l'échantillon d'apprentissage est proportionnelle au carré de tous les poids du réseau (et l'échantillon, si possible, devrait être minimal, pour une réponse opérationnelle aux événements du marché), ainsi qu'en utilisant le principe du rasoir d'Occam (il n'est pas nécessaire d'être inutilement grand).

P.S. Oui, il est important que la densité de probabilité du signal d'entrée pour NS ait une espérance nulle et soit distribuée dans l'intervalle +/-1 de manière égale (tablette). Cela augmente considérablement l'apprentissage et les performances du réseau.

Eh ! Une partie est claire, mais une grande partie est nouvelle ! Pour ne rien manquer, je vais demander au fur et à mesure...

1. NS est en fait un additionneur universel et il n'y a pratiquement aucune différence d'un point de vue mathématique, que vous aiguisiez les neurones de la couche de sortie individuellement pour la vente ou l'achat, ou que vous construisiez la troisième couche à partir d'un seul neurone avec une activation hypertangente, dont la polarité de sortie indiquera l'achat ou la vente, et l'amplitude - la probabilité de succès (la confiance du réseau en lui).

J'ai compris pour l'additionneur, mais qu'en est-il du neurone à activation hypertangente - quel genre de bête est-ce ? Je normalise les entrées et les sorties avec une sigmoïde, et pour m'assurer que le signal sur les entrées et les sorties est correct( -1<max et minima < +1), j'ai subtilement réécrit l'indicateur Perseptron. C'est-à-dire que nous prenons trois neurones d'entrée et donnons leurs sorties au quatrième (avec une activation hypertangente) dont la sortie peut être absolument transparente comme une estimation probabiliste du succès d'une transaction dans la direction spécifiée (vers la polarité active) ... n'est-ce pas ?


2. De ce point de vue, il n'est pas nécessaire de spécialiser de force les neurones de la première couche - ils se détermineront d'eux-mêmes au cours du processus de formation.

En d'autres termes, les neurones de la couche d'entrée doivent simplement être entraînés à séparer les données d'entrée en "droite" et "gauche". Je suis un peu confus sur la façon dont "ils sont déterminés dans le processus de formation" - cela signifie-t-il la formation de l'hypertangente du neurone de sortie, ou la formation de tous les neurones de sortie et d'entrée à la fois ? S'ils sont tous en même temps, le généticien ne permettra pas d'optimiser plus de 8 paramètres simultanément, alors qu'il y en a au moins 12 dans une telle grille (... sans compter les paramètres des dindes) - que faire ? Si vous voulez vous entraîner séparément - d'abord, chaque paramètre d'entrée séparément, et ensuite seulement celui de la sortie (c'est ce que je fais maintenant), ne sera-ce pas une erreur ?


3. le fait que la longueur d'un échantillon d'entraînement est proportionnelle au carré de tous les poids du réseau (et l'échantillon, si possible, doit être minimal, pour réagir rapidement aux événements du Marché).

Comment ça ? Mettons au carré tous les poids du réseau, puis additionnons ces carrés et obtenons ce à quoi la longueur de l'échantillon d'entraînement devrait être proportionnelle ?

Pour ce qui est de l'inutilité des échantillons longs, je le sais déjà - je suis arrivé, pour ainsi dire, par "essais et erreurs scientifiques". J'ai même trouvé la date (2008.12.02), à partir de laquelle les données sont tout simplement inutiles pour la grille - aucune corrélation avec la dynamique réelle du marché.


4) La meilleure option semble être un NS à deux couches avec une couche cachée et un neurone de sortie.

Ici, je ne comprends pas quelque chose... S'il y a une couche d'entrée de neurones, une couche de sortie de neurones et une couche cachée de neurones, alors il y en a déjà trois. Alors pourquoi existe-t-il un réseau à deux couches ?


5. Oui, il est important que la densité de probabilité d'entrée pour le NS ait une espérance nulle et soit uniformément distribuée dans l'intervalle +/-1 (étagère). Cela augmente considérablement l'efficacité de la formation et les performances du réseau.

Je comprends moi-même la nécessité de normaliser le signal d'entrée (au niveau de l'intuition), c'est pourquoi je transforme le signal d'entrée pour que la sortie ait la même forme, mais dans la plage -/+1. Mais comment est distribuée la densité de probabilité d'un RSI normalisé ? Par exemple, le signal d'entrée de mon neurone RSI ressemble à ceci :


Est-ce suffisant, ou faut-il autre chose ?

P/S Je suis bien avec le rasoir, le principal est de comprendre ce qu'il faut couper...:-)

 
paralocus писал(а) >>

1. Je comprends l'additionneur, le neurone d'activation hypertangente, c'est quoi ce truc ? Je normalise les entrées et les sorties avec une sigmoïde, et pour m'assurer que le signal des entrées et des sorties est correct( -1<max et minima < +1), j'ai légèrement modifié l'indicateur Perseptron. C'est-à-dire que nous prenons trois neurones d'entrée et donnons leurs sorties au quatrième (avec une activation hypertangente) dont la sortie peut être absolument transparente comme une estimation probabiliste du succès d'une transaction dans la direction spécifiée (vers la polarité active) ... n'est-ce pas ?

Il s'agit d'un neurone, dont la fonction d'activation (FA) est une tangente hyperbolique (plage de valeurs +/- 1) - c'est pratique pour prendre une décision d'achat ou de vente et si |FA|<const - sortir du marché.

Tous les neurones NS doivent avoir une FA non linéaire (avec quelques exceptions - sauf la dernière). Rien ne dépend du type spécifique d'AF, sauf le rythme d'apprentissage.

2. De ce point de vue, il n'est pas nécessaire de spécialiser de force les neurones de la première couche - ils se détermineront d'eux-mêmes au cours de la formation.

En d'autres termes, les neurones de la couche d'entrée doivent simplement être entraînés à séparer les données d'entrée en "droite" et "gauche". Je suis un peu confus sur la façon dont "ils sont déterminés dans le processus de formation" - cela signifie-t-il la formation de l'hypertangente du neurone de sortie, ou la formation de tous les neurones de sortie et d'entrée ? S'ils sont tous en même temps, le généticien ne permettra pas d'optimiser plus de 8 paramètres simultanément, alors qu'il y en a au moins 12 dans une telle grille (... sans compter les paramètres des dindes) - que faire ? Si je m'entraîne séparément - d'abord, chaque paramètre d'entrée séparément, et ensuite seulement celui de sortie (ce que je fais actuellement), est-ce que ce serait une erreur ?

Bien sûr, nous devrions tous les former en même temps, sinon nous aurons un problème d'embrouille dans le bois. Je n'ai pas eu affaire à la génétique, donc je ne peux pas aider.

3. le fait que la longueur de l'échantillon d'entraînement est proportionnelle au carré de tous les poids du réseau (et l'échantillon, si possible, devrait être minimal, pour une réaction rapide aux événements du marché).

Comment ça ? On élève au carré tous les poids du réseau, puis on additionne ces carrés et on obtient la longueur de l'ensemble d'entraînement ?

Il existe une longueur optimale de l'ensemble d'apprentissage P, qui fournit la somme minimale de l'erreur d'approximation et de l'erreur de généralisation. Cet optimum est déterminé de manière unique par le nombre de synapses w dans le réseau et la dimension de l'entrée d (nombre d'entrées du réseau) :

Popt=k*w*w/d, k est une constante sans dimension d'ordre 1 et prend en compte le fait de la variabilité du marché.

Le critère de l'optimum est la commensurabilité de l'erreur du réseau sur l'échantillon de test et sur l'échantillon d'entraînement, c'est-à-dire que si le réseau normalement entraîné devine 55% correctement, il montrera approximativement le même résultat dans le test sur les nouvelles données. De plus, pour ces NS, il n'y a pas de problème de réapprentissage lié à l'augmentation du nombre d'itérations dans la méthode ORO - il n'y a pas de minimum local de l'erreur - la fonction est momentanée et tend asymptotiquement vers la constante.

4. une variante optimale ressemble à la NS bicouche avec une couche cachée et un neurone de sortie.

Là, je ne suis pas... S'il y a une couche d'entrée de neurones, une couche de sortie de neurones et une couche cachée de neurones, alors il y en a déjà trois. Alors pourquoi le réseau est-il à deux niveaux ?

C'est une question de terminologie. Je ne considère pas la couche d'entrée comme une couche spéciale. Je voulais donc parler du NS qui ne comporte que deux couches - la couche d'entrée (alias cachée) et la couche de sortie (constituée d'un seul neurone).

Cependant, comment est distribuée la densité de probabilité du RSI normalisé ? Est-ce suffisant, ou faut-il autre chose ?

Je ne sais pas. Vous devez tracer la distribution de densité de probabilité de la première série de différences de votre RSI et regarder le graphique - il devrait y avoir un plateau avec une amplitude maximale de +/-1.

 
Neutron писал(а) >>

Je ne fais pas de distinction entre la couche d'entrée et une couche spéciale. Je voulais donc dire que le SN n'a que deux couches - la couche d'entrée (également cachée) et la couche de sortie (constituée d'un seul neurone).

C'est-à-dire que le réseau se compose de plusieurs perceptrons parallèles dans la première couche et d'un dans la couche de sortie, les entrées du perceptron de sortie étant égales au nombre de perceptrons dans la première couche ?

 
Neutron >> :

Bien sûr, il faut former tout le monde en même temps, sinon nous aurons un problème - "dans les bois et hors des bois". Je n'ai pas eu affaire à un généticien, donc je ne peux pas vous aider.


Et voilà ! Et j'espérais "améliorer" ma maille pour en faire une maille d'autoformation plus tard...

Je digère les réponses que j'ai reçues... >> Je vais dessiner ce que je comprends

 
FION писал(а) >>

Le réseau consiste donc en plusieurs perceptrons parallèles dans la première couche et un dans la couche de sortie, le nombre d'entrées du perceptron de sortie étant égal au nombre de perceptrons dans la première couche ?

C'est vrai.

Mais l'entrée de chaque perceptron possède une entrée supplémentaire distincte pour un décalage constant de +1. Cela accélère l'apprentissage et augmente la puissance du réseau.

 
Neutron писал(а) >>

C'est vrai.

Mais, l'entrée de chaque perseptron a une entrée supplémentaire séparée pour un décalage constant de +1. Cela accélère l'apprentissage et augmente la puissance du réseau.

Je vois. Le décalage constant ne fait que déplacer légèrement le point d'activation sur la courbe hypertangente.

 

Neutron a écrit >>.


Voilà ce que j'ai trouvé :

L'hypertangente est triée. Jusqu'à présent, j'utilisais la sigmoïde et je devais soustraire un au résultat, avec th ce n'est plus nécessaire. D'après ce que j'ai compris, la figure montre l'architecture optimale de NS pour le marché. Le nombre d'entrées est de 12, et le nombre de synapses est de 4. Donc, en utilisant la formule Popt=k*w*w/d on obtient 144/4 = 36... C'est 36 barres ? Ou 36 situations d'achat/vente proches ? Est-ce que j'ai bien compris ?