Module de visualisation pour construire une stratégie de trading - premier aperçu

Créé le: 2019-07-08 09:23:59, Mis à jour le: 2024-12-23 17:57:33
comments   7
hits   7021

Module de visualisation pour construire une stratégie de trading - premier aperçu

Module de visualisation pour construire une stratégie de trading - premier aperçu

La programmation visuelle a toujours été un objectif recherché par les développeurs d’outils logiciels, même dans le domaine du trading quantitatif. Parce que l’approche de visualisation « ce que vous voyez est ce que vous obtenez » réduit considérablement le seuil technique pour le développement de la programmation. Les utilisateurs n’ont plus besoin de s’occuper d’un tas de codage ennuyeux. Il leur suffit d’utiliser leur cerveau, leur imagination et leur raisonnement logique, et de se concentrer sur l’entreprise elle-même. Vous pouvez réaliser le programme que vous souhaitez, n’est-ce pas incroyable !

Alors entrons ensemble dans le domaine de la programmation visuelle des stratégies de trading quantitatif !

  • ## Inventeur initial de la programmation visuelle quantifiée

Après vous être connecté à https://www.fmz.com, enregistrez un compte (si vous êtes déjà inscrit, connectez-vous directement) et cliquez sur : Centre de contrôle->Bibliothèque de politiques->Nouvelle politique.

Module de visualisation pour construire une stratégie de trading - premier aperçu

Nous pouvons voir une stratégie de visualisation initiale. Il génère uniquement les informations sur les actifs du compte de l’échange configuré par défaut (le premier objet d’échange ajouté dans le backtest ou le robot). (Comme indiqué ci-dessous)

Module de visualisation pour construire une stratégie de trading - premier aperçu

## Avant de commencer à apprendre à utiliser la visualisation, nous pouvons d’abord comprendre certains concepts de conception de la visualisation.

  • 1. Épissage

    Une observation attentive révèle que les modules possèdent tous des tenons (concaves) et des mortaises (convexes), ce qui signifie que les modules peuvent être « connectés » et « reliés ». Si les codes fonctionnels représentés par deux modules peuvent être connectés, ils seront alors emboîtés ensemble lorsque vous rapprocherez la mortaise et le tenon des deux modules.

    Module de visualisation pour construire une stratégie de trading - premier aperçu

  • 2. Paramètres et ajustements du module

    Certains modules ont des paramètres spéciaux, par exemple :

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Vous pouvez faire glisser le module « Projet » de gauche vers le module « Joindre », afin de pouvoir ajouter une position de tenon et mortaise, ajoutant ainsi une position pour l’épissure du texte. De cette façon, vous pouvez effectuer certains ajustements et réglages du module en cliquant sur le petit engrenage.

  • 3. Paramètres d’entrée par défaut du module

    Certains modules nécessitent des paramètres d’entrée, qui peuvent être des valeurs, des chaînes, etc. Si vous n’ajoutez pas de variables comme paramètres d’entrée du module, le module sera exécuté selon les paramètres d’entrée par défaut.

    Module de visualisation pour construire une stratégie de trading - premier aperçu Un module de calcul comme celui-ci pour trouver des racines carrées génère les résultats de calcul de ce module. Module de visualisation pour construire une stratégie de trading - premier aperçu Comme vous pouvez le voir, si le paramètre d’entrée est manquant, la valeur par défaut 9 est utilisée comme paramètre d’entrée pour calculer la racine carrée de 9. Module de visualisation pour construire une stratégie de trading - premier aperçu

    Bien entendu, si vous souhaitez utiliser un module variable comme paramètre d’entrée, vous pouvez connecter directement le module variable à la position tenon et mortaise (évidement). Module de visualisation pour construire une stratégie de trading - premier aperçu

  • 4. Fonctionnement

    Le module peut être cliqué et déplacé avec le bouton gauche de la souris. Les modules peuvent être copiés à l’aide de ctrl + c et collés à l’aide de ctrl + v, aussi facilement que de copier et coller du code ou du texte. La zone d’opération peut être agrandie ou réduite à l’aide de la molette de la souris, et tous les modules seront agrandis ou réduits. Cliquez et maintenez une zone vide dans la zone d’opération et faites-la glisser pour déplacer la zone d’opération. La corbeille à droite enregistre les modules qui ont été récemment supprimés. Surtout, après avoir assemblé la stratégie du module, n’oubliez pas de cliquer sur « Enregistrer ».

  • Présentation du module Outils de visualisation

Vous pouvez voir qu’il existe de nombreuses catégories de modules sur le côté gauche de la zone d’édition visuelle, et qu’il existe de nombreux modules visuels disponibles dans chaque catégorie.

Module de visualisation pour construire une stratégie de trading - premier aperçu Il y a 11 catégories au total.

  • Module d’outils :

    Module de visualisation pour construire une stratégie de trading - premier aperçu


    • ### 1. Informations de sortie :

    Ce module est généralement utilisé en combinaison avec des modules de texte, comme indiqué ci-dessous : Module de visualisation pour construire une stratégie de trading - premier aperçu Vous pouvez saisir une chaîne dans le module de classe de texte, de sorte que lorsque vous exécutez le module « Informations de sortie », le contenu de la chaîne dans le module de texte soit imprimé. Module de visualisation pour construire une stratégie de trading - premier aperçu Backtesting : Module de visualisation pour construire une stratégie de trading - premier aperçu

    Comme le code du langage JavaScript :

      function main(){
          Log("你好,可视化编程!")
      }
    

    • ### 2. Push WeChat :

    Ce module ressemble à « Informations de sortie », sauf qu’il génère des informations et les envoie au compte WeChat lié au compte actuel. Module de visualisation pour construire une stratégie de trading - premier aperçu Module de visualisation pour construire une stratégie de trading - premier aperçu

    Comme le code du langage JavaScript :

      function main () {
          Log("微信推送!@")
      }
    

    • ### 3. Lancer une exception

    Le module throw exception permet au programme de générer une erreur puis d’arrêter l’exécution du programme (sans écrire de code de gestion des exceptions). Module de visualisation pour construire une stratégie de trading - premier aperçu

    Ceci est similaire à la stratégie JavaScript où la fonction throw « chaîne à générer » est directement exécutée dans la fonction principale.

      function main () {
          throw "第一句就抛出异常,让程序停止!"
      }
    

    Résultats des backtests : Module de visualisation pour construire une stratégie de trading - premier aperçu Il est généralement utilisé plus fréquemment lors du débogage, par exemple, lorsque vous souhaitez que le programme s’arrête dans une certaine condition et imprime certaines données à ce moment-là pour une observation facile. Vous pouvez également placer un module de génération d’exceptions dans le flux de code où des problèmes peuvent survenir, afin que le programme puisse signaler des erreurs et en découvrir certaines.


    • ### 4. Hibernation

    Module d’hibernation Module de visualisation pour construire une stratégie de trading - premier aperçu Comme dans la stratégie JavaScript :

      function main () {
          Sleep(1000 * 5)
      }
    

    Tester le module d’hibernation : Module de visualisation pour construire une stratégie de trading - premier aperçu Résultats des backtests : Module de visualisation pour construire une stratégie de trading - premier aperçu


    • ### 5. Revenus d’impression

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Ce module est similaire à la fonction LogProfit de l’API de la plateforme de trading quantitative Inventor, imprimant le journal des bénéfices et dessinant automatiquement la courbe de profit en fonction des paramètres d’entrée.

    Par exemple: Module de visualisation pour construire une stratégie de trading - premier aperçu L’exécution du backtest est illustrée ci-dessous : Module de visualisation pour construire une stratégie de trading - premier aperçu Le code de politique JavaScript correspondant est le suivant :

      function main () {
          LogProfit(1)
          Sleep(1000 * 5)
          LogProfit(2)
          Sleep(1000 * 5)
          LogProfit(3)
          Sleep(1000 * 5)
          LogProfit(2)
          Sleep(1000 * 5)
          LogProfit(5)
      }
    

    Il peut être épissé à n’importe quel endroit où vous souhaitez générer des informations sur les revenus.


    • ### 6. Boucle

    Module de visualisation pour construire une stratégie de trading - premier aperçu Le module de boucle peut envelopper une série de combinaisons de modules épissés et laisser cette combinaison de modules s’exécuter dans une boucle.

    test: Module de visualisation pour construire une stratégie de trading - premier aperçu Résultats des backtests : Module de visualisation pour construire une stratégie de trading - premier aperçu On peut voir qu’une fois que le module de boucle a enveloppé la combinaison de modules composée de Print Profit et Sleep, la combinaison de modules sera exécutée en continu.


    • ### 7. Exécution de la boucle toutes les N secondes

    Module de visualisation pour construire une stratégie de trading - premier aperçu L’utilisation de ce module est fondamentalement la même que celle du module de boucle, la seule différence est que ce module dispose d’une fonction de veille intégrée. Module de visualisation pour construire une stratégie de trading - premier aperçu


    • ### 8. Usinage de précision

    Module de visualisation pour construire une stratégie de trading - premier aperçu Ce module peut être utilisé lorsque des modules variables ou des valeurs numériques doivent contrôler la précision. La valeur numérique de la partie paramètre d’entrée sera sortie sous forme de valeur numérique des décimales spécifiées en fonction des paramètres.

    Par exemple, le nombre 3,1415926535897 est traité avec précision. Module de visualisation pour construire une stratégie de trading - premier aperçu

    Les backtests montrent : Module de visualisation pour construire une stratégie de trading - premier aperçu


    • ### 9. Effacer le journal

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Permet d’effacer les journaux. Selon les paramètres d’entrée, une partie des journaux peut être conservée. Comme dans la documentation de l’API :

      LogReset()
    

    • ### 10. Effacer le journal des revenus

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Permet d’effacer le journal des revenus. Selon les paramètres d’entrée, une partie du journal peut être conservée. Comme dans la documentation de l’API :

      LogProfitReset()
    

    Voici quelques modules d’outils fréquemment utilisés

    • ### 11. Module fonctionnel permettant d’obtenir un certain attribut du marché

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Ce module d’outil doit être utilisé conjointement avec le module de marché dans « Type de module de trading », comme indiqué dans la figure : Module de visualisation pour construire une stratégie de trading - premier aperçu

    Utilisez le module d’informations de sortie pour générer le dernier prix de transaction du dernier marché boursier : Module de visualisation pour construire une stratégie de trading - premier aperçu

    Les backtests montrent : Module de visualisation pour construire une stratégie de trading - premier aperçu

    Comme le code de la stratégie JavaScript :

      function main () {
          Log(exchange.GetTicker().Last)
      }
    
    • ### 12. Module permettant d’obtenir les attributs d’une certaine barre de données K-line

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Ce module doit également être utilisé avec le module d’acquisition de données K-line dans le « Type de module de trading ».

    Créez d’abord un module variable et nommez-le : K-line. Module de visualisation pour construire une stratégie de trading - premier aperçu Ensuite, récupérez les données de la ligne K, utilisez le module de données de la ligne K pour les obtenir et attribuez-les au module variable : « K-line ». Module de visualisation pour construire une stratégie de trading - premier aperçu Utilisez ensuite le module de longueur de liste dans le « Type de module de liste » pour obtenir la longueur du module variable de la ligne K, qui est utilisé pour spécifier à partir de quelle barre de la ligne K obtenir les données. Module de visualisation pour construire une stratégie de trading - premier aperçu Cousez ensemble, comme indiqué : Module de visualisation pour construire une stratégie de trading - premier aperçu Lorsque le backtest est exécuté, l’horodatage de la dernière barre K-line est imprimé. Module de visualisation pour construire une stratégie de trading - premier aperçu

    • ### 13. Module d’obtention des données de commande dans le carnet de commandes

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Il doit également être utilisé avec le module Obtenir les données de profondeur dans le « Type de module de transaction ».

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Définissez l’index sur 0, définissez un ordre de vente et obtenez les informations de l’ordre de vente.

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Comme le code de la stratégie JavaScript :

      function main () {
          Log(exchange.GetDepth().Asks[0])
      }
    
    • ### 14. Module permettant d’obtenir un certain attribut dans les informations sur les actifs

    Module de visualisation pour construire une stratégie de trading - premier aperçu Ce module doit être utilisé avec le module Obtenir des informations sur les actifs. Module de visualisation pour construire une stratégie de trading - premier aperçu

    Par exemple : imprimer le nombre de pièces disponibles sur le compte courant Module de visualisation pour construire une stratégie de trading - premier aperçu

    Les backtests montrent : Module de visualisation pour construire une stratégie de trading - premier aperçu

    Comme dans la stratégie JavaScript :

      function main () {
          Log(exchange.GetAccount().Stocks)
      }
    
    • ### 15. Module pour obtenir un certain attribut dans les données de commande

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Ce module permet d’obtenir la valeur d’un certain attribut dans les données de commande, comme le prix ou la quantité de la première vente dans le carnet de commandes (exemple numéro 13). Module de visualisation pour construire une stratégie de trading - premier aperçu

    Résultats des backtests : Module de visualisation pour construire une stratégie de trading - premier aperçu Comme dans la stratégie JavaScript :

      function main () {
          Log(exchange.GetDepth().Asks[0].Price)
      }
    

    Il peut également être utilisé pour obtenir un certain attribut dans les informations de commande renvoyées par le module « Requête sur les détails de la commande » (qui sera expliqué dans la section avancée).

    • ### 16. Module permettant d’obtenir les attributs d’une certaine position dans les informations de position

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    De même, il doit être utilisé avec le module « Get Futures Position ». Il convient de noter que les données de position renvoyées par le module Get Futures Position sont un tableau (liste), qui est une structure de données contenant les positions de différents contrats et directions . Vous devez donc spécifier l’index lors de son utilisation.

    Après avoir appris tant de choses, combinons une opération de couverture, c’est-à-dire couvrons à la fois les contrats à court terme et à terme. Nous faisons une couverture d’arbitrage positive, c’est-à-dire que nous ouvrons un contrat à terme court, 1 contrat, et ouvrons un contrat long à court terme.

    Module de visualisation pour construire une stratégie de trading - premier aperçu

    Résultats des backtests : Module de visualisation pour construire une stratégie de trading - premier aperçu

Exemple de stratégie de visualisation :

D’autres stratégies sont disponibles sur : https://www.fmz.com/square

Autres articles de cette série

Une programmation ennuyeuse peut être facilement réalisée en utilisant des blocs de construction. Essayez, c’est très intéressant !