SOM : méthodes de cuisson

 

Bonjour !

Cela fait longtemps que j'aborde l'utilisation des cartes auto-organisatrices dans le Forex. J'ai décidé de faire une expérience : j'ai pris des barres quotidiennes de 2001 à la fin mars 2011, construit des vecteurs d'entrée pour un réseau neuronal de taille 40 et entraîné un SOM de taille 7 par 7 neurones, divisant ainsi l'espace vectoriel en 49 cellules. Ensuite, pour chaque cellule, j'ai calculé la probabilité d'un mouvement de prix à la hausse ou à la baisse en 5 barres. Le résultat de cette analyse est présenté ci-dessous :

De plus, nous sélectionnons les clusters qui sont intéressants d'un point de vue pratique. Les clusters surlignés en jaune marquent les points d'entrée d'achat. Les points d'entrée orange sont des points de vente (il y en a moins, car apparemment l'EURUSD a été dominé par des tendances haussières au cours des 10 dernières années).

L'étape suivante consiste à mettre en œuvre la stratégie dans Excel selon une formule simple. La stratégie est simple : acheter et conserver ou vendre et conserver. La durée de la transaction est de 5 barres, et pour chaque transaction j'ai introduit une correction (spread + swap) de 0.0005 (5 points à quatre chiffres), car chaque transaction s'étalera sur le week-end...

Vous trouverez ci-dessous le graphique d'équilibre résultant sur la période d'étude SOM (640 transactions sur 9 ans) :

Et maintenant...

- Graphique du solde sur la période d'inactivité - l'année dernière (66 transactions, environ 400% de profit) :

Il est possible de mettre en œuvre dans MT4, SOM pour former dans le paquet statistique et se connecter via dll, obtenir le numéro de cellule du réseau et entrer dans l'achat, la vente, ou attendre.

Qu'en pensez-vous ? Je suis troublé par les importants drawdowns. Un quart entier peut tomber. Et la stratégie est assez primitive.

 

Lescartes de Kohonen peuvent être facilement mises en œuvre dans n'importe quel langage de programmation, y compris MQL4.

La bibliothèque n'est pas nécessaire

 

C'est étrange, j'ai fait quelque chose de similaire - ça n'a pas marché - il y avait un drain sur le retour.

Pouvez-vous donner un exemple concret de mise en forme des entrées/sorties ?

De toute façon, un des projets est en corrélation maintenant... on pourrait essayer celui de Kohonen en même temps.

 

Que signifie "probabilité d'un mouvement à la hausse ou à la baisse" ? Juste que le prix dans 5 barres est plus susceptible d'être en hausse (en baisse) par rapport au prix actuel ?

Quel type de réseau avez-vous ? Est-ce une simple couche, une double couche ? 40 est la taille de quoi ?


Juste une supposition rapide... un réseau de 40 entrées ne peut pas être formé sur une si petite quantité de données (c'est un euphémisme). La carte ci-dessus n'est pas rassurante :) Il n'y a pas de groupes de travail sur le sujet en général. Votre résultat est un coup de chance.

 
Vinin:

Les cartes de Kohonen peuvent être facilement mises en œuvre dans n'importe quel langage de programmation, y compris MQL4.

La bibliothèque n'est pas nécessaire


Merci ! Je le saurai. En général, je voulais discuter davantage de la fusion de cette méthode avec une stratégie de trading et des spécificités des cartes de Kohonen par rapport aux cours du forex ou de tout autre marché financier, plutôt que des moyens d'implémenter l'ACS de Kohonen dans Metatrader.

LeXpert

Plus précisément, je saisis les 40 derniers prix ouverts des barres quotidiennes, mais pas sous forme brute, mais mis à l'échelle pour éviter la non-stationnarité du niveau des prix. Je n'utilise pas de variables de sortie pour l'entraînement du SOM, mais l'idée est que lorsque j'analyse des échantillons ventilés par cellules, je regarde si le prix d'ouverture de la cinquième barre sera supérieur ou inférieur au dernier prix d'ouverture connu dans le futur.

Diamant

Comment pouvez-vous être aussi sûr du caractère aléatoire du résultat ? Êtes-vous entré dans ce fil pour faire un argument stupide ?

Que voulez-vous dire par "peu de données" ? Combien ça coûte ? Quelle quantité est suffisante ?

 
alexeymosc:

Plus précisément, l'entrée était constituée de 40 derniers prix d'ouverture des barres quotidiennes, non pas sous forme brute, mais mis à l'échelle pour éviter la non-stationnarité du niveau des prix.

Et pouvez-vous ressentir ces mêmes apports ?

Aucune variable de sortie n'a été utilisée pour entraîner le SOM, mais l'idée est que, lorsque j'analyse les échantillons, répartis par cellules, je regarde si le prix d'ouverture de la cinquième barre dans le futur sera supérieur ou inférieur au dernier prix d'ouverture connu.

Dans votre tableau, la somme pour le groupe n'est pas de 100 %, c'est-à-dire qu'en dehors d'une simple comparaison au-dessus et au-dessous, y a-t-il autre chose - une comptabilité par écart ?

 

Quant aux entrées, ok, je suis au travail maintenant, je vous enverrai un excel dans les archives quand je serai libre (en privé).

La somme n'est pas égale à 100% - vrai, et voici pourquoi : j'ai fait le calcul suivant : si Open [t+5] - 0.0010 > Open [t] 1 else 0. C'est-à-dire que l'analyse inclut les cas où le prix dans le futur est au moins 10 points plus élevé que le prix actuel. La même chose a été faite pour l'analyse d'un mouvement de prix à la baisse (seuil de 10 pips).

 

OK, merci. Je ne peux pas promettre que ce sera rapide, mais je vais regarder.

Oui, c'est un peu ce que j'avais en tête.

 
alexeymosc:

Je suis au travail maintenant, mais je vous enverrai un fichier excel dès que je serai libre (dans un message privé).

Et puis-je aussi ? Ou vous pouvez juste le déposer ici, si ça ne vous dérange pas trop.
 
Il serait préférable de télécharger l'archive ici
 

Eh bien, ça ne me dérange pas si vous avez le désir de connaître l'œuvre.

Il serait bon d'améliorer le système d'une manière ou d'une autre.

Dossiers :
Raison: