"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Composants du système commercial

Composants du système commercial

Publié le 2024-08-01
Parcourir:920

Trading System Components

Dans le dernier article, j'ai discuté des meilleures pratiques pour développer des logiciels de trading, telles que l'utilisation d'événements, le stockage de données ou des configurations distinctes. Cette fois, abordons la partie stratégique, plus précisément comment l'organiser efficacement d'un point de vue architectural.

Module de stratégie

L'approche la plus simple consiste à supposer que cette partie du système reçoit des données d'entrée, telles que les changements de prix, et génère des événements, des signaux. Toute la logique peut être encapsulée dans ce module. Voici un exemple :

def run(self, event):
    signal = self.calc_rsi(event)
    if signal != 'FLAT':
        self.create_event(event, signal)

Dans cet exemple, nous calculons le RSI et générons des événements comme ACHETER ou VENDRE en fonction de celui-ci. Il s’agit d’une illustration basique, mais le concept est clair. Le signal peut inclure le prix d’achat/vente souhaité. Bien sûr, un véritable algorithme de trading est plus complexe, mais vous le savez déjà !

Module Portefeuille

Il est avantageux de regrouper toutes les données sur les soldes ou les positions ouvertes en un seul endroit. De cette façon, vous connaissez le total de vos avoirs en USD ou BTC. Cette connaissance est essentielle pour déterminer la taille de vos commandes lorsque le système génère des signaux.

def run(self, event):
    # Calculate USD values
    # Calculate targets
    # Check targets
    # Generate orders

Ce pseudocode décrit les étapes suivantes :

  • Calculer le total des soldes en USD
  • Déterminer les cibles du portefeuille en fonction de la stratégie
  • Vérifiez si les soldes actuels atteignent les objectifs
  • Générer des commandes de la taille nécessaire s'il y a des écarts

Vous obtenez toutes les données de solde, les signaux, vérifiez si les positions s'alignent avec celles souhaitées et générez des commandes si ce n'est pas le cas.

Module de gestion des risques

Ce module est étroitement lié au module Portfolio. Parfois, une logique de gestion des risques peut être mise en œuvre directement au sein de celui-ci, surtout si vous gérez une petite somme et que vous venez de démarrer. Pour les grandes entreprises, cela pourrait être l’élément du système le plus complexe, et chaque entreprise définit son algorithme précis. Voici quelques tâches qui peuvent être accomplies dans le cadre de la gestion des risques :

  • Vérifiez les corrélations entre les positions pour éviter 100 % de positions longues ou courtes
  • Vérifiez la taille maximale d'une position
  • Arrêtez l'ensemble du système si les pertes atteignent un certain pourcentage
  • Arrêtez le système en cas de pannes de flux de données ou de problèmes avec d'autres composants

Plus vous restez longtemps sur le marché, plus cette partie de l'algorithme de trading devient critique.

Module d'exécution

Après avoir obtenu toutes les données de prix et de solde, généré des signaux, calculé la taille optimale du portefeuille et pris en compte tous les risques possibles, il n'y a aucune raison de ne pas envoyer un ordre à la bourse. Cela peut sembler la partie la plus simple, à moins que vous n'implémentiez le routage des commandes sur plusieurs bourses. Habituellement, vous formatez correctement l'ordre et l'envoyez à la bourse sur laquelle vous négociez.

Nous avons discuté des fonctions de quatre modules, dont chacun est utile dans 90 % des algorithmes de trading. Structurez votre code, choisissez une bonne architecture, et la maintenance et la mise à jour de votre système commercial seront beaucoup moins pénibles.

Le code complet sera disponible sous forme d'algorithme de trading open source pour aspis.finance. Il comprendra quelques stratégies de trading simples, mais la caractéristique clé est la possibilité de créer du stockage via des contrats intelligents Aspis, d'attirer des fonds d'investisseurs et d'assurer un partage transparent des bénéfices. Vous pouvez développer votre stratégie, la connecter à Aspis, votre algorithme négociera sur les DEX et les investisseurs et gestionnaires (vous) réaliseront des bénéfices grâce à un contrat intelligent. Restez à l'écoute!

Déclaration de sortie Cet article est reproduit sur : https://dev.to/jungle_sven/trading-system-components-5f0b?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3