Weblisto
Data science - Intelligence artificielle

Je construis mon robot
de trading de A à Z

C'est parti !

Je construis un outil de programmation graphique

  • Dessinez vos historiques, indicateurs, opérateurs, oscillateurs, ...
  • Reliez-les par des faisceaux de signaux.
  • Lancez l'exécution, amusez-vous !

Mes graphes sont composés de noeuds reliés par des liens

  • Chaque noeud représente :
    • Une fonction mathématique.
    • Un indicateur de trading quelconque, même très complexe.
    • Un réseau de neurones.
    • Un afficheur de graphiques.
    • Un laboratoire où je teste mes idées.
  • Chaque lien transporte un vecteur, ou faisceau de signaux.

J'ai des idées stupides ... ou géniales !

  • Peu importe leur qualité :
    • Je les code dans un noeud-laboratoire, en Python, tout simplement.
    • Je les 'backteste' immédiatement grâce à des historiques conséquents.
  • Quelques exemples :
    • Représentation du signal : temporelle ou par niveau (Renko) ?
    • Mise en évidence de devises corrélées.
    • Utilisation de statistiques pour produire des probabiltés.
    • FFT : traitement du domaine spectral, puis retour par la FFT inverse.
    • Entraînement intense d'un réseau de neurones dans l'espoir d'obtenir une moyenne sans retard.
  • Prolongez cette liste, à vous de jouer !

Je teste mes stratégies

  • Algorithmes génétiques.
  • Deep learning.
  • Réseaux de neurones convolutionnels et recurrents.

Je laisse tourner mon ordinateur 24/24

  • Utilisez un ordinateur dédié à celà.
  • Passage automatique des ordres de trading.
  • Consultez les résultats en direct depuis un smartphone.
Connaissances
Environnement de travail
Logiciels utilisés
Installation d'Anaconda
Environnement virtuel Python
Installation de Pycharm
Structure du projet 'Robot'
Fenêtre du poste de contrôle
TDD : Développement dirigé par les tests
Présentation
Dessiner la fenêtre avec Qt Designer
Designer → Python - Compilation manuelle
Designer → Python - Compilation automatique
Bug de régression
Persistance de toutes les géométries
Refactoring
Création d'un graphe
Ouvrir / fermer un graphe
Mémorisation de l'état des onglets
Entrepôt des nodes
Peuplement des nodes
La scène et la vue : réticule
Paramètres : 1 - Dictionnaires triés
Paramètres : 2 - Persistance
Paramètres : 3 - Édition dans le dockable
Entrée en scène du premier node
Plusieurs nodes dans le graphe
Ajout et suppression de nodes depuis l'UI
Sockets : ports d'entrée-sortie
Edges : 1 - Interconnexions des nodes.
Edges : 2 - Création par drag & drop, édition
Edges : 3 - Couleurs, court-circuits, croisements
Droit à l'erreur : Undo & Redo
Paramètres dynamiques d'un node
Mise en conformité des types de node
Infrastructure
Généralisation des afficheurs
Modèles de calculs
Matplotlib
Interactions PC → Graphiques
Paramétrage étendu
Plusieurs graphiques à plusieurs signaux
Refactoring - améliorations
Moyennes mobiles - Calculs en cascade
MACD - RSI - Modèles yaml
Check-list pour la création d'un node
Calculs globaux, directs, différés
Téléchargement d'historiques
La base de données Candles
La base de données Ticks
Le node générateur d'historiques
Élaboration d'une stratégie de trading
Partie 1 : Voir les ouvertures et les fermetures
Partie 2 : Créer ses indicateurs
Partie 3 : Algorithmes génétiques
Indicateurs dynamiques
Prochainement ...