Maison  >  Article  >  développement back-end  >  Composants du système commercial

Composants du système commercial

王林
王林original
2024-07-27 17:36:12344parcourir

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 séparées. Cette fois, approfondissons 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 :

  • Calculez les soldes totaux 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 abordées 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 panne 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 la commande 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 de trading 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 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn