PERCEPTRON
Forums › ProRealTime forum Français › Support ProOrder › PERCEPTRON
- This topic has 16 replies, 6 voices, and was last updated 6 years ago by fremsoft.
-
-
09/24/2017 at 6:31 PM #47154
Bonjour Nicolas,
J’ai vu dans un post sur le forum anglais que vous parliez de neural network et en particulier du Perceptron simple à 1 layer.
Vous vous proposiez d’adapter le code à ProBuilder, pourriez vous svp nous fournir une version ?
J’aimerais beaucoup le tester.
Merci d’avance pour vos efforts.
09/25/2017 at 12:39 PM #47241En effet, c’est un sujet qui a été évoqué dans le sujet du forum Anglais ici : https://www.prorealcode.com/topic/profitable-strategy-that-work-on-any-market/(à propos de la stratégie “universelle”).
Le Perceptron est le plus simple des réseaux neuronales, voilà le code pour la version simple couche:
12345678910111213141516171819202122232425262728293031//PRC_Perceptron | indicator//25.09.2017//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- settings ---//weight in % for each neuron//x1=5//x2=10//x3=25//x4=50//indicator previous period//y1=0//y2=7//y3=14//y4=21// --- end of settings ---//indicator to be used by the neural networkindi = average[5](rsi[14])w1=x1-100w2=x2-100w3=x3-100w4=x4-100a1=indi[y1]a2=indi[y2]a3=indi[y3]a4=indi[y4]return(w1*a1+w2*a2+w3*a3+w4*a4)Pour faire simple, ici j’utilise un RSI 14 périodes lissé sur 5 périodes pour exemple, mais on pourrait lui transmettre n’importe quel type de données. En faisant la somme de 4 fois la valeur de l’indicateur aux instants y1,y2,y3 et y4 et pondéré par un facteur différent pour chacune de ces itérations, on obtient un poids global de la valeur qu’il faut ensuite interpréter bien entendu (voir illustration jointe issue du site https://appliedgo.net/perceptron/)
Dans cette version j’ai laissé la valeur “brut”, en général on essai d’obtenir une valeur booléenne en activant le vrai ou faux de cette valeur vis à vis de niveaux d’activation à définir. Dans le cas de cet exemple sur le RSI, cela pourrait être “sur achat si perceptron>70 et sur vente si perceptron<30 ..).
Les valeurs des paramètres x1 à x4 et y1 à y4 sont à modifier à convenance et pourquoi pas à optimiser en mode Walk Forward dans le testeur de stratégie ProBacktest. Bon amusement 🙂
1 user thanked author for this post.
09/25/2017 at 12:54 PM #4725108/30/2018 at 11:28 AM #7939608/30/2018 at 12:52 PM #79399Il n’y a pas une seule et unique façon de procéder, c’est votre analyse qui déterminera le poids à accorder (ou l’importance) pour chacune des entrées. Cela peut être un poids fixe, mais aussi dynamique et calculé à l’aide de statistiques / probabilités. Sur le même sujet: Neural networks programming with prorealtime , où on effleure à peine les concepts de machine learning et réseau neuronal ..
08/30/2018 at 2:54 PM #79406voilà, s’il vous plaît, pouvez-vous poster un exemple de réseau neuronal auto-apprenant qui peut être mis en œuvre sur PRT?
La formule du perceptron est triviale, de même que la formule d’addition! Sans la part relative de l’apprentissage automatique, c’est comme si on n’avait rien posté.
08/30/2018 at 3:56 PM #79411En effet, mais encore faut-il savoir ce qu’il faut inclure en tant qu’auto apprentissage pour définir les poids, aurais-tu une idée à proposer ? Toute contribution est la bienvenue 🙂
J’ai fait une proposition à Leo dans ce post: https://www.prorealcode.com/topic/neural-networks-programming-with-prorealtime/#post-78764
08/30/2018 at 4:12 PM #79419En général, un seul indicateur n’a pas de bonnes performances en termes de performances, car il peut prendre de faux signaux. Je pense que nous pouvons faire en sorte que le réseau neuronal recherche la meilleure combinaison de poids là où il y a au moins 2 ou 3 indicateurs différents. Par exemple, le point de pivotement (c.-à-d. La distance du point de pivotement), la bande de bollinger et le stock. Grâce à une évaluation des meilleurs Gains dans les diverses combinaisons de configurations (délais et coefficients indicateurs), la meilleure configuration du perceptron peut être identifiée.
Mais pour ce faire, vous avez besoin de grandes quantités de données et de puissance de calcul. Je pense que ProRealTime ne convient pas pour le calcul des meilleurs poids, que le calcul du poids doit être effectué avec un programme externe sur une base de données collectée au cours des années et ensuite programmer ProOrder pour vérifier si l’opération est efficace. (traduit avec google traduction)08/30/2018 at 4:19 PM #79420Pour les entrées, en effet, c’est ce que j’indiquai ici. L’idéal serait d’avoir des tableaux de données pour nous éviter de faire des boucles imbriquées, ce qui est très gourmand pour le moteur actuel. Un nouveau moteur arrivera avec la version 11, je suis impatient de pouvoir le tester sur ce genre d’opérations complexes. A suivre …
08/30/2018 at 4:22 PM #79422J’ai acquis une série historique de prix de l’indice FTSEMIB (non-candelstick) d’environ 4 ans, un prix toutes les 5 minutes, si cela peut servir je mets à votre disposition pour faire des tests avec n’importe quel langage de programmation
09/03/2018 at 5:02 PM #79665Bonjour, je ne comprends pas l’intérêt du perceptron si nous devons lui fournir les poids ? autant utiliser un algo ordinaire non ?
Ca fait quelques mois que je m’intéresse de près au machine learning (deep learning plus particulièrement), l’algo le plus adéquat pour évoluer dans ce type d’environnement(trading) est pour moi le reinforcement learning. Malheureusement, tout ce qui touche au deep learning demande une grosse config (gpu), je doute qu’on puisse le faire tourner directement sur prt.09/11/2018 at 11:37 AM #80156Cher @Perlimpimpin44, avez-vous déjà expérimenté perceptron en utilisant PRT? Quels résultats avez-vous obtenus? Pensez-vous que PRT est une plate-forme appropriée pour l’hébergement de machine learning?
11/18/2018 at 12:51 AM #85120Pendant ce temps, j’ai construit un robot de réseau neuronal travaillant sur FTSE MIB pour être utilisé sur Future FIB et MINIFIB. La machine neuronale est composée de 300 neurones. Un mois et demi d’étude étudie un ensemble de données du marché d’une durée de 5 ans avec une résolution de 5 minutes. La carte mémoire est très complexe car 300 neurones en trois couches nécessitent plus de 1 MByte de carte d’interconnexion. Pour toutes ces raisons, il n’est pas possible d’intégrer le robot dans ProRealTime. Pour le moment, le robot continue de s’entraîner sur un serveur que je possède et opère sur un jeu de papertrading ouvert au public qui vous permet de jouer même aux robots appelés “The Market Surfers“. Le nom du robot est “Surfer300“.
La semaine dernière, il a finalement effectué sa première transaction commerciale à gain réel. Vous pouvez voir comment cela fonctionne sur FTSEMIB à partir de ce lien: https://www.themarketsurfers.com/it/mobile/scheda.htm?p=Surfer300
11/18/2018 at 11:43 AM #85135En effet, mais encore faut-il savoir ce qu’il faut inclure en tant qu’auto apprentissage pour définir les poids, aurais-tu une idée à proposer ? Toute contribution est la bienvenue
J’ai fait une proposition à Leo dans ce post: https://www.prorealcode.com/topic/neural-networks-programming-with-prorealtime/#post-78764
Bonjour, intéressant, comment utiliser ce code en probacktest pour initier un trade lorsqu’une similarité est détecté?
merci.
11/20/2018 at 11:29 AM #85296C’est le sujet de ce topic : https://www.prorealcode.com/topic/long-only-trading-with-trend-confirmation-on-5-minutes-timeframe/
1 user thanked author for this post.
-
AuthorPosts