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

 
paralocus писал(а) >>

Au fait, voyez l'image caractéristique que j'obtiens de la distribution de la série de la première différence sur une série de transactions, si vous faites une ventilation verticale des minutes avec un écart (3 points) :

Vous construisez la fonction de distribution, elle représente les caractéristiques plus clairement. Ce que vous avez évoqué est une vue du FR depuis le haut et une résolution temporelle. Intéressant, bien sûr, mais pas aussi illustratif.

Maintenant, il est juste au-dessus de 2(2,153), puis il se rapproche de 2, puis s'en éloigne, en fonction de H, mais toujours juste au-dessus de 2.

La nature du marché a dû être orientée. Dans les grandes étendues, l'évaluation tend à être <2.

 
Neutron >> :

Vous construisez une fonction de distribution, elle représente les caractéristiques plus clairement. Ce que vous avez évoqué est une vue de la FR depuis le haut et une résolution de l'échelle de temps. Intéressant, bien sûr, mais pas aussi illustratif.

Maintenant, il est juste au-dessus de 2(2,153), puis il se rapproche de 2, puis s'en éloigne, en fonction de H, mais toujours juste au-dessus de 2.

La nature du marché a dû être orientée. Sur les grandes étendues, l'estimation est généralement <2.

Je vais le construire aujourd'hui. J'ai une très petite période d'un peu plus d'un mois (20 000 min) et mon DC ne permet pas de télécharger un historique plus long des mines.



J'ai eu une idée hier soir et j'aimerais l'exprimer ici. S'applique à TOUS, messieurs.

Appelons-le SOI (pour que personne ne le devine - :) )


Ainsi, pour une analyse correcte des données, nous avons besoin d'un bon historique des tics (statistiquement suffisant et sans lacunes), ce que nous n'avons pas pour des raisons évidentes.

L'essence de l'idée est de savoir comment la créer avec le moins d'effort possible et le plus grand bénéfice pour tout trader. La solution est simple : louer des serveurs dédiés (2, ou mieux 3) et installer des collecteurs de tiques sur ces serveurs... sur n'importe quel outil et société de courtage. Et pas seulement cela (nous y reviendrons plus tard). Pour une personne, cette entreprise sera très coûteuse, mais l'idée est justement de savoir comment la réaliser, non pas gratuitement, mais à bon marché, de manière fiable et pratique.


Faisons le calcul :

****************************** *************************

1. la location d'un serveur virtuel dédié avec suffisamment d'espace coûte aujourd'hui environ 100 livres par mois (vous avez besoin de 2 serveurs indépendants) ... 200 dollars par mois.

2. Il faudra un bon codeur pour garder un œil sur l'ensemble et patcher l'histoire.

Le codeur devrait bien sûr recevoir une rémunération pour ce travail. Le travail quotidien ne sera pas très important, donc 200 livres par mois (cependant, ce n'est pas la limite de ce que le codeur peut gagner dans le projet).

Il s'agit, en fait, de tous les coûts de base ! 400 livres par mois.


Vous aurez également besoin d'une ressource en ligne unifiée, qui doit être placée :

a) Une place de marché pour la vente de l'histoire du teck.

b) Une place de marché pour la vente d'EA, où vous pouvez regarder le travail actuel de n'importe quel EA proposé sur la démo, et ce GRATUITEMENT.

c) Un forum où la critique constructive de la DC est acceptable.



***************************** REVENUE **************************

1. Paiement pour le téléchargement de l'historique des ticks - 1 mois de ticks pour n'importe quel instrument de n'importe quelle société de courtage - 1WMZ (le paiement est pratique via WebMoney)

2. Frais d'hébergement des conseillers sur un serveur distant (travail pour de vrai) - 20WMZ par semaine (si le conseiller ne gagne pas autant, il suffit de le jeter).

3. Frais d'hébergement du conseiller en démo - 5WMZ par semaine

4. Intérêts des conseillers, qui ont été vendus par l'intermédiaire de la plateforme (je ne peux pas donner le chiffre exact).

******************************************************************************************


En général, le projet semble assez rentable et utile. MetaQuotes sera probablement aussi intéressé, car le SOI fera une bonne publicité pour leur produit - MT5.

En un mot - tout le monde y gagne, sauf les PED. Cependant, les sociétés de courtage honnêtes n'ont rien à craindre.

Pour le démarrage de toute concession, nous avons besoin d'actionnaires. Je suis personnellement prêt à partager l'argent pour un montant de 100WMZ. Qui d'autre ... ?



 

1. Je collecte les tiques pour mes propres besoins. Assez, c'est assez.

2. En tant que projet commercial, ce projet est inférieur, à mon avis, à un autre projet de la marque "Forex".

3 Si vous avez besoin de ticks uniquement pour l'analyse, vous devez d'abord démontrer la faisabilité du projet. Représenter le revenu réel sur ticks et prouver sa supériorité par rapport aux autres modes de représentation de la série de prix. Il est clair que les références aux autorités ne sont pas valables.

Et le dernier. Chacun négocie dans l'historique de sa société de courtage avec son propre filtre de cotations unique. Pour cette société de courtage particulière, NS est formé. Par conséquent, nous ne parlons pas d'universalité du projet proposé ! Qui s'y intéressera, à part vous ? 1 ou 2 personnes de plus...

 
Oui, à propos des filtres, je n'y avais pas pensé. Bien que j'en ai parlé pas plus tard qu'hier... Merci.
 
Avez-vous réussi à normaliser les entrées à une distribution constante ? J'ai été confronté à un problème similaire récemment. Décrivez l'essence du rationnement à l'aide d'un exemple, je veux m'assurer que je comprends bien vos difficultés. Si je comprends bien, je serai en mesure de proposer une solution.
 
J'ai un autre type de difficulté.
 
 

Question à Neutron et paralocus. Je comprends que Neutron entraîne sa grille par une méthode RPROP modifiée, tandis que paralocus entraîne sa grille par une méthode BPROP modifiée. Dans la méthode RPROP classique, les étapes de poids sont calculées en multipliant les gradients de l'erreur d'apprentissage au carré (dE^2/dw = -delta*Neuron_Input) par le taux d'apprentissage. Cette méthode peut être appliquée localement, lors du passage d'un ensemble d'apprentissage à un autre, ou par époques, en accumulant les gradients d'erreur pour tous les ensembles d'apprentissage, puis en calculant les étapes de pondération. Votre modification consiste à multiplier les étapes de poids par (1-L/N)*dw/sqrt(dwNorm). Neutron ne prend que les signes d'incrémentation dw, comme dans RPROP. J'ai essayé presque tous les types de méthodes RPROP (BPROP, RPROP, IRPROP+/-, SARPROP, GRPROP) et j'ai obtenu des résultats plutôt médiocres. Lorsque les poids sont initialisés avec des nombres aléatoires (par exemple, dans la plage de -0,5...0,5), l'erreur d'apprentissage initiale est très élevée et les méthodes d'apprentissage réussissent à la réduire. Il n'y a aucun problème ici. Mais si les poids sont initialisés avec des valeurs nulles ou de très petites valeurs aléatoires (par exemple -0,05...0,05), alors l'erreur d'apprentissage initiale est faible et égale à l'erreur d'apprentissage finale lorsque les poids sont initialisés avec de "grands" nombres aléatoires. Alors quel est l'intérêt de former le réseau si l'on sait que des poids nuls nous donnent une erreur proche de l'erreur d'apprentissage finale lorsque les poids initiaux sont aléatoires ? Voici un graphique de l'erreur d'entraînement avec la méthode ORO modifiée comme paralocus (d'après les messages précédents, Neutron a utilisé la même méthode au début).


Toutes les méthodes d'apprentissage que j'ai mentionnées montrent approximativement le même comportement : une réduction agréable et inspirante de l'erreur d'apprentissage d'une époque à l'autre pour des poids initiaux aléatoires (on peut écrire un article ou une dissertation). À des poids initiaux nuls, l'erreur est déjà suffisamment faible pour que le réseau ne l'améliore pas du tout. Voici l'exemple de formation IRPROP+ avec les mêmes données d'entrée



Il se peut que ce comportement d'erreur d'apprentissage soit spécifique à mon réseau (deux couches, 12 entrées, 5 neurones cachés, 1 sortie, 120 ensembles d'apprentissage) ou aux données d'entrée (incréments de prix relatifs avec différents délais). J'aimerais voir comment vos réseaux apprennent avec des poids initiaux aléatoires et nuls. Si vous le voulez bien, montrez-moi les graphiques de l'erreur d'apprentissage NON-NORMÉ en fonction de l'époque pour ces deux cas.

J'ai réfléchi un peu à mon résultat et je suis arrivé à la conclusion que si les poids du réseau tendent vers zéro dans le processus d'apprentissage ou, en d'autres termes, si les poids initiaux sont proches de l'état formé du réseau, alors le réseau tente de décrire des entrées et des sorties très faiblement corrélées, c'est-à-dire un marché aléatoire où la prédiction est impossible. J'ai "inventé" un tel théorème.


 
gpwr писал(а) >>

Peut-être que ce comportement d'erreur d'apprentissage est spécifique à mon réseau (deux couches, 12 entrées, 5 neurones cachés, 1 sortie, 120 ensembles d'apprentissage), ou aux données d'entrée (incréments de prix relatifs avec différents délais). J'aimerais voir comment vos réseaux apprennent avec des poids initiaux aléatoires et nuls.

Voici à quoi ressemble le processus de réduction des erreurs d'apprentissage d'un NS bicouche, en fonction du nombre d'époques :

Le réseau a 5 entrées, 4 neurones dans la couche cachée, et un neurone dans la sortie. Les prix ouverts de l'EURUSD1h normalisés à son écart type ont été utilisés comme vecteur d'entraînement. Dans la figure, les cercles montrent l'erreur d'apprentissage trouvée sous forme d'écart-type, en moyenne sur 50 expériences numériques sans normalisation de l'erreur par rapport à la longueur du vecteur d'entrée. Les lignes fines montrent la dispersion statistique au niveau 1/e. Le bleu montre la mise en œuvre de ce processus pour la randomisation initiale des poids dans la plage 0. Le rouge montre la plage +/-1 avec une distribution en forme de bande.

On constate que NS apprend beaucoup mieux si l'on procède à l'initialisation des poids par des valeurs aléatoires, par rapport à un départ à zéro. De plus, l'augmentation de la plage de randomisation initiale des poids conduit dans le cas général à une réduction de l'erreur d'apprentissage finale. Cependant, cela entraîne une augmentation du nombre d'époques nécessaires (le graphique, dans son ensemble, augmente).

 
Neutron >> :

Voici comment se présente le processus de réduction des erreurs d'apprentissage de la NS bicouche en fonction du nombre d'époques :

Le réseau a 5 entrées, 4 neurones dans la couche cachée, et un neurone dans la sortie. Les prix ouverts de l'EURUSD1h normalisés à son écart type ont été utilisés comme vecteur d'entraînement. Dans la figure, les cercles montrent l'erreur d'apprentissage trouvée sous forme d'écart-type, en moyenne sur 50 expériences numériques sans normalisation de l'erreur par rapport à la longueur du vecteur d'entrée. Les lignes fines montrent la dispersion statistique au niveau 1/e. Le bleu montre la mise en œuvre de ce processus pour la randomisation initiale des poids dans la plage 0. Le rouge montre la plage +/-1 avec une distribution en forme de bande.

On constate que NS apprend beaucoup mieux si l'on procède à l'initialisation des poids par des valeurs aléatoires, par rapport à un départ à zéro. De plus, l'augmentation de la plage de randomisation initiale des poids conduit dans le cas général à une réduction de l'erreur d'apprentissage finale. Cependant, cela entraîne une augmentation du nombre d'époques nécessaires (le graphique dans son ensemble augmente).

Merci. Pourquoi l'écart statistique est-il dessiné près des cercles bleus ? Si les pondérations commencent par des valeurs nulles, il ne devrait pas y avoir de dispersion statistique.

Une dernière question. Si vous avez utilisé les prix d'ouverture de l'EURUSD1h normalisés par leur écart-type, alors leur moyenne n'est pas nulle. Ou avez-vous soustrait la moyenne ?