Pour les débutants, jetez un coup d'œil Je vous emmène à la négociation quantitative de crypto-monnaie (1)

Auteur:Je suis désolée., Créé: 2022-04-15 17:32:34, Mis à jour: 2022-04-22 14:44:33

Pour les débutants, jetez un coup d'œil Je vous emmène à la négociation quantitative de crypto-monnaie (1)

Avec le développement du trading quantitatif des actifs blockchain, de plus en plus de traders d'actifs blockchain ont reconnu l'outil du trading quantitatif. Mais en tant que nouveau membre de ce cercle, vous êtes très confus au sujet de nombreux concepts, confus par divers termes, logiciels, informations, etc. Cet article vous mènera à comprendre et à vous familiariser avec des concepts courants, et à comprendre diverses informations utiles dans le commerce quantitatif des actifs blockchain à partir de divers aspects. Cet article résume d'abord les concepts de base, puis donne des exemples sur la plateforme de trading FMZ Quant correspondant à ces concepts de base.

  • Plateforme

    Tout d'abord, nous devons comprendre le concept de plate-forme. Nous devons spéculer et investir dans les actifs de la chaîne de blocs dans nos mains sur les plateformes. Il existe actuellement de nombreuses plateformes, seniors, émergentes, à grande échelle et à petite échelle. En ce qui concerne la plate-forme pour mener des transactions programmatiques et quantitatives, il est nécessaire de choisir par vous-même en fonction de diverses informations.

    • Compte de plateforme Un compte de plate-forme est un compte enregistré et ouvert sur la plate-forme. Les actifs Blockchain peuvent être stockés dans ce compte pour le trading. Certains comptes de plate-forme peuvent créer et configurer des comptes de blockchain.sous-comptesL'application, le mécanisme et l'utilisation du sous-compte pour chaque plateforme sont différents. Vous devez vérifier les informations sur le site Web de la plateforme spécifique. Ou consultez le service clientèle de la plateforme.

      Après vous être connecté avec un compte sur le site Web de la plate-forme, vous pouvez généralement voir que l'endroit où les actifs blockchain peuvent être stockés est divisé en plusieurs comptes (ici un compte logique, pas un compte de plate-forme).compte de portefeuille, compte de négociation de devises, compte de gestion financière, compte de négociation de contratsLes détails peuvent varier d'une plate-forme à l'autre. Habituellement, après avoir couru dans l'actif blockchain (coin), l'actif est sous un compte (il peut être dans un compte de portefeuille, ou directement sur un compte de trading de devises). Par conséquent, après la recharge, vous devez vérifier où se trouvent les actifs, et transférer lorsque vous avez besoin de transférer (par exemple, lorsque vous avez besoin de négocier des contrats à terme).

    • API du système de plateforme Beaucoup d'étudiants qui n'ont pas utilisé la fonction de la plateforme peuvent se demander: Qu'est-ce qu'une interface API? L'interface API est l'interface donnée par un système de plateforme qui permet les opérations de programme. En termes simples, l'échange fournit un canal permettant aux programmes (bot script) du système de plateforme (imaginez un certain marché de paires de trading sur un site Web de plateforme) de passer des ordres, annuler des ordres, vérifier des ordres, des actifs et des positions de compte, ainsi que d'effectuer d'autres opérations dans le système de plateforme.

      L'API de la plateforme est divisée en différents types d'interfaces.RESTles interfaces de protocole etWebSocketIl est également possible d'utiliser des interfaces de protocoleFIXNous avons besoin d'avoir une compréhension de ces interfaces. L'interface la plus couramment utilisée est le protocole REST. La documentation de ces interfaces peut généralement être trouvée dans le lien avec le motAppareils électroniquesDans la plupart des cas, vous trouverez des informations sur les erreurs d'interface en bas du site officiel de ces plateformes. Parfois, pour consulter des informations sur les erreurs d'interface, vous devez toujours vérifier la documentation de l'interface. Le système d'API de chaque plateforme est différent et les différences sont relativement importantes. Pour des problèmes spécifiques, vous devez vérifier leur documentation. Si vous n'êtes pas un développeur de stratégie, ce ne sont que des informations de compréhension.

    • Clé API du compte Le compte API KEY doit être bien compris, car il est lié à la sécurité des actifs blockchain stockés sur la plateforme que vous utilisez. On dit que l'interface API est un canal, alors la clé API peut être comprise comme lepasseSi vous avez un canal d'accès, tous les programmes ne peuvent pas y accéder, car c'est dangereux. Par conséquent, la vérification est requise et la clé API est utilisée pour vérifier l'identité. Par conséquent, la clé API est liée à la sécurité de vos actifs, elle doit donc être correctement conservée.

      Habituellement, l'APIKEY d'une plateforme est créé dans le coin supérieur droit de la page de la plateforme, sur la page de gestion de compte (il peut également y avoir des plates-formes qui le placent ailleurs sur la page Web, trouvez le lien avec le mot clé API et cliquez pour le trouver).access key, et la deuxième chaîne est généralement appeléesecret key. Il existe également des plateformes dont l'API KEY contient également d'autres informations.PassPhrase, qui est également d'une chaîne (une chaîne qui doit être définie par vous-même pour renforcer la vérification de sécurité). Lors de la définition de l'API KEY, il est généralement nécessaire de définir les autorisations de cette API KEY. Généralement, il existe des autorisations telles que trade et withdrawal. Elle doit être définie en fonction de l'objectif de l'API KEY, et l'autorisation de retirer des pièces doit être utilisée avec prudence. En plus des autorisations, API KEY peut également définir une liste blanche d'adresses IP. Si vous utilisez une adresse IP autre que cette liste blanche d'adresses IP (vous pouvez rechercher sur Baidu si vous ne comprenez pas le concept d'adresse IP) pour accéder à l'interface, l'accès sera refusé (c'est-à-dire que le réseau en dehors de la liste blanche d'adresses IP ne peut pas accéder ou exploiter votre compte).

    • Objet d'échange Le concept d'objet d'échange est le concept de la plateforme de négociation quantitative FMZ (FMZ.COMEn termes simples, il se réfère à un objet généré par l'encapsulation de l'interface de la plateforme. Cet objet est exchange dans les codes de stratégie FMZ. L'appel de la fonction exchange.GetTicker appelle en fait l'interface pour accéder aux données du marché de la plateforme. Pour plus de détails, veuillez consulter la documentation de l'API FMZ:https://www.fmz.com/api#exchangeComme l'objet d'échange à terme et l'objet d'échange au comptant définis sur FMZ sont différents types d'objets d'échange, les modules sont distingués (l'objet d'échange à terme a plusieurs fonctions de plus que l'objet d'échange au comptant, telles que la fonction de réglage du levier et la fonction de requête de positions, etc. se référer à la documentation API pour plus de détails).

      Si la stratégie est d'exploiter des objets d'échange de contrats à terme, ajoutez des contrats à terme, et si vous voulez exploiter des objets d'échange au comptant, ajoutez du comptant.

      Sur la plateforme FMZ, exchange est un objet d'échange, qui représente un compte de plateforme.https://www.fmz.com/api#exchanges

  • Marché de négociation

    Le marché de négociation mentionné ici fait référence à une situation spécifique du marché de négociation (imaginez une page de négociation), généralement négociée en plusieurs modules.négociation de devises, négociation au comptant de marges, négociation de contrats, etc.

    • Paire de négociation Ce que nous entendons habituellement par "paire de négociation" est simplement ce que nous achetons et vendons, comme lorsque nous allons au marché pour acheter du chou. argent au chou est une paire de trading (en utilisant le soulignement " _ " pour scinder). Un acheteur paie pour le chou, et le vendeur donne le chou à l'acheteur pour obtenir l'argent. C'est la même chose pour la paire de trading spécifique sur une plateforme. Par exemple:Le taux de change de la banque est le même que celui de la banque centrale.; nous achetons dans cette paire de trading, ce qui signifie payer USDT pour obtenir BTC. L'opération de vente est de payer BTC pour obtenir USDT. PrendreLe taux de change de la banque est le même que celui de la banque centrale.par exemple, nous appelons habituellement BTC le symbole de la monnaie de négociation et USDT le symbole de la monnaie de cotation.

      • Monnaie de base
      • Monnaie de cotation
    • Le pointnégociation de devisesetnégociation au comptant de margesLes transactions au comptant ne nécessitent qu'une spécification de la valeur de la transaction.paire de négociationdécrire le marché sur lequel elle est négociée. Par exemple, lorsque vous l'utilisez sur FMZ Quant, si vous voulez faire une paire de trading d'échange de BTC pour USDT. La monnaie de trading est BTC, et la monnaie de cotation est USDT. Nous utilisons la fonctionexchange.SetCurrency("BTC_USDT")sur la plateforme FMZexchange.SetCurrency("BTC_USDT")pour passer de la paire de négociation en cours à:BTC_USDT.

      Pour les élèves qui ne comprennent pasSetCurrency, vous pouvez vous référer à:https://www.fmz.com/api#exchange.setcurrency- Je ne sais pas. Pour les élèves qui ne comprennent pasexchange, vous pouvez vous référer à:https://www.fmz.com/api#exchange.

    • Contrats (futures et options) Le commerce de contrats est très différent du commerce au comptant.crypto-margined contractsetUSDT-margined contracts. Pour le trading programmatique et le trading quantitatif, il est nécessaire de déterminer non seulement la paire de trading, mais aussi le type de contrat. Par exemple, si nous voulons négocier avec BTC, il existe de nombreux contrats BTC, y compris les contrats trimestriels (livraison à l'expiration de chaque trimestre), les contrats hebdomadaires (livraison à l'expiration de chaque vendredi), les contrats perpétuels (non-livraison), etc. Ensuite, si une seule paire de trading est utilisée pour l'identification, quel type de contrat sera utilisé? Par conséquent, un code de contrat spécifique est nécessaire pour décrire et déterminer cela. De cette façon, lorsque nous décrivons le marché des contrats à négocier, nous devons décrire le symbole de la devise (paire de négociation) et le type de contrat (code du contrat) dont il s'agit.

      • Contrats de crypto-marge Les contrats qui utilisent la crypto-monnaie comme marge (comme le contrat crypto-marginé BTC, qui utilise BTC comme marge, et le rendement est également BTC), leur rendement est également crypto-monnaie.BTC crypto-margined quarterly contractle marché. Sur la plateforme de trading FMZ Quant,exchange.SetCurrency("BTC_USD")définit la paire de négociation, puisexchange.SetContractType("quarter")Le symbole de négociation actuel estBTC crypto-margined quarterly contract.

      • Contrats avec marge en USDT Les contrats qui utilisent l'USDT comme marge (comme le contrat perpétuel margé par BTC USDT, qui utilise l'USDT comme marge, et le rendement est également USDT), leur rendement est également USDT. Habituellement, la devise de cotation de la paire de négociation du contrat margé par USDT est exprimée en USDT. Par conséquent, la paire de négociation est BTC_USDT, et le contrat est un contrat perpétuel. Cela signifie que le marché de négociation dont nous parlons est leBTC USDT-margined perpetual contractle marché. Sur la plateforme de trading FMZ Quant,exchange.SetCurrency("BTC_USDT")définit la paire de négociation, puisexchange.SetContractType("swap")Le symbole de négociation actuel estBTC USDT-margined perpetual contract.

    • Les ordres Que signifie exactement un ordre? Un ordre est le ticket de commande que nous soumettons à une plate-forme lorsque nous achetons ou vendons sur la plate-forme. Les ordres sont divisés en ordres de marché, ordres de limite, ordres conditionnels, etc. Les attributs les plus basiques d'un ordre sont: l'objet de l'ordre (en termes simples, quoi acheter ou vendre), le montant de l'ordre (combien acheter ou vendre) et le prix de l'ordre (à quel prix acheter ou vendre). Si l'ordre suivant n'a pas d'importance, il ne détermine que le montant à acheter ou à vendre et ce qu'il faut acheter ou vendre, un tel ordre est appelé un ordre de marché. Bien sûr, il existe également des ordres conditionnels (ordres stop-loss, ordres d'iceberg, etc.), qui sont liés aux plates-formes. Certaines plates-formes fournissent des ordres conditionnels, et d'autres non. Pour plus de détails, vous pouvez consulter la documentation de l'API de FMZ.

      • Le point Les ordres au comptant et les ordres de marché doivent généralement faire attention aux ordres d'achat. Le montant de l'ordre des ordres au comptant d'achat n'est pas le montant du symbole de monnaie mais le montant de l'argent. Parce que l'ordre du marché ne détermine pas le prix, seul le montant de l'argent peut être utilisé pour déterminer le montant à acheter. Le montant de l'ordre du marché de vente est le montant du symbole de monnaie, car même si le prix est incertain, le montant des symboles de monnaie vendus peut être déterminé.

      • Le contrat Le montant d'ordre d'un contrat est spécial, généralement le montant du contrat. L'interface d'ordre du contrat d'une plateforme est essentiellement le montant du contrat, et il n'y a pas d'interface qui prend le montant du symbole de monnaie comme montant de l'ordre. En règle générale, qu'il s'agisse d'un ordre de marché ou d'un ordre limite, le montant de l'ordre est le numéro du montant du contrat.

      • Commande du preneur et commande du fabricant Un ordre de prise est un ordre qui fournit de la liquidité. En termes simples, cela signifie que le prix du marché actuel est de 10 pour acheter un et 11 pour vendre un. À ce moment-là, je pend un ordre d'achat avec un prix d'achat de 9, ou un ordre de vente avec un prix de vente de 12. Ensuite, je fournis un ordre pour la profondeur sur le marché.

        Par exemple, les fonctions de commandeexchange.Selletexchange.BuyLors de la passation d'un ordre, la classification de l'ordre en tant que preneur ou fabricant dépend du prix de l'ordre et du marché actuel, et de la question de savoir si l'ordre fournit ou réduit la liquidité. Lorsque l'importation d'un prix de -1 sur FMZ Quant, il est de placer un ordre de marché. Notez que le montant de l'ordre de l'ordre d'achat du marché au comptant est le montant de l'argent, alors l'ordre de marché réduit certainement la liquidité, et il doit être un ordre de preneur.

      • Ordre conditionnel de la plateforme De nombreuses plateformes prennent également en charge les commandes conditionnelles, telles queiceberg order, stop loss order, stop profit order, post_only: only place maker order, fok: all executed or canceled immediately, ioc: executed immediately or cancel the rest, etc. Ces ordonnances peuvent utiliser leexchange.IOPour l'utilisation de l'interface de commande de la plate-forme, la fonction FMZ Quant permet d'accéder directement à l'interface de commande de la plate-forme pour spécifier les paramètres à définir (spécifier l'ordre conditionnel à passer) pour passer une commande.exchange.IOfonction, veuillez consulter la documentation de l'API FMZ:https://www.fmz.com/api#exchange.io...

  • Plateforme de négociation quantitative

    Une plateforme de trading quantitative peut être considérée comme un outil de trading quantitatif, il peut s'agir d'un système logiciel en ligne, d'un site Web, ou d'un programme exécutable local, ou même d'un projet open source sur GITHUB.

    • Plateforme de négociation quantitative FMZ La plateforme FMZ Quant Trading est un système distribué en ligne; pour la connaissance de la plateforme et des tutoriels, vous pouvez vous référer à:https://www.fmz.com/bbs-topic/4145

    • Système de backtest de la plateforme de négociation quantitative FMZ Qu'est-ce qu'un système de backtest? En termes simples, le système de backtest consiste à rejouer les données d'historique d'un certain symbole de trading, et à laisser une certaine stratégie être incluse dans la rejoue, et à obtenir les performances de trading de la stratégie lors de la simulation de la rejoue des données d'historique.

      Système de contre-test de négociation quantitative FMZ:

      Nom Le type Instruction
      Bitfinex objet de change au comptant le support de paires de négociation limitées, telles que: BTC_USD, ETH_USD et LTC_USD, etc. (notez que la devise de cotation des paires de négociation est le dollar USD)
      Binance objet de change au comptant le support de paires de négociation limitées, telles que: BTC_USDT, ETH_USDT, ETH_BTC et LTC_BTC, etc.
      Je suis d'accord. objet de change au comptant le support de paires de négociation limitées, telles que: BTC_USDT, ETH_USDT, ETH_BTC et LTC_BTC, etc.
      Huobi est un joueur. objet de change au comptant le support de paires de négociation limitées, telles que: BTC_USDT, ETH_USDT, ETH_BTC et LTC_BTC, etc.
      OKEX Futures Objet d'échange à terme supportant des paires de négociation limitées, telles que: BTC_USD et ETH_USD, etc.; la devise de cotation des paires de négociation est USD; après la définition du code de contrat spécifique (veuillez consulter la fonction exchange.SetContractType), le contrat est un contrat à cryptomarge; les codes de contrat pris en charge comprennent: this_week, next_week, quarter et swap
      HuobiDM Objet d'échange à terme HuobiDM est Huobi Futures (Contrat Huobi), prenant en charge des paires de négociation limitées, telles que: BTC_USD et ETH_USD, etc.; la devise de cotation des paires de négociation est USD; après la définition du code de contrat spécifique (veuillez consulter la fonction exchange.SetContractType), le contrat est un contrat cryptographique; les codes de contrat pris en charge comprennent: this_week, next_week, quarter et swap.
      BitMEX Objet d'échange à terme la paire de négociation est XBT_USD; après la définition d'un code de contrat spécifique (veuillez consulter la fonction exchange.SetContractType), le contrat est un contrat à cryptomarge; le code de contrat pris en charge est: XBTUSD
      Les contrats à terme de Binance Objet d'échange à terme le support de paires de négociation limitées, telles que: BTC_USDT et ETH_USDT, etc.; la devise de cotation des paires de négociation est USD; après la définition d'un code de contrat spécifique (veuillez consulter la fonction exchange.SetContractType), le contrat est un contrat à marge USDT; le code de contrat pris en charge est swap
      Options dérivées Objet d'échange à terme les paires de négociation sont: BTC_USD et ETH_USD; après la définition du code du contrat spécifique (veuillez consulter la fonction exchange.SetContractType), le contrat est un contrat à cryptomarge; des codes spécifiques du contrat d'options doivent être définis
    • API KEY de négociation quantitative Toutes les plateformes ont des interfaces API, et la plateforme de trading quantitative a également des interfaces API.extended API. Certaines fonctions de la plateforme FMZ peuvent être exploitées de manière programmatique. Par exemple, l'ajout de bots en lots, le démarrage de bots en lots, la modification de la configuration des bots en lots, etc. Pour plus de détails, veuillez vous référer à:https://www.fmz.com/api#fmz平台扩展apiJe suis désolée. L'API étendue peut également être utilisé pour faire quelque chose d'intéressant, par exempleUtilisez l'API étendue sur FMZ Quant pour réaliser TradingView Alert Signal Trading

  • Scénario de négociation programmé

    Qu'est-ce qui contrôle automatiquement mon compte de plateforme pour le trading? C'est l'incarnation spécifique du programme de trading et du trading quantitatif - des scripts de trading programmés. Ces programmes en temps réel peuvent être écrits dans différents langages. Par exemple, FMZ Quant Trading Platform prend en charge l'écriture de stratégies de trading en temps réel dans les langages JavaScript, Python et C++. Ces programmes de script effectuent diverses opérations telles que l'achat et la vente d'un compte via les interfaces API de la plateforme.

    • L'appareil sur lequel s'exécute le script de négociation programmé Un programme de script de bot doit avoir un support de périphérique (en bref, le bot doit avoir un endroit pour qu'il fonctionne). Le commerce quantitatif dans le cercle de la crypto-monnaie déploie généralement un programme de bot sur le serveur Alibaba Cloud à Hong Kong (bien sûr, vous pouvez également utiliser des serveurs d'autres endroits, d'autres opérateurs).timeoutseront signalés. Sur FMZ Quant, vous pouvez généralement déployer votre propre logiciel sur le serveur Alibaba Cloud à Hong Kong (le logiciel de porte-bot de FMZ Quant s'appelle Docker, et un bot de trading quantitatif est exécuté sur la base du logiciel docker).

      • Système du dispositif Différents systèmes d'exploitation, tels que Windows/Linux/MAX OS/ARM Linux, etc., sont sélectionnés en fonction des scripts de bot. Dans FMZ Quant, le serveur du système Linux est couramment utilisé. L'utilisation du système Linux n'est en fait pas compliquée. Pour une utilisation simple, vous n'avez qu'à maîtriser quelques commandes. Ceux-ci sont expliqués dans les tutoriels sur FMZ.
    • Options de langage de script Il y a tellement de langages de programmation, et essentiellement tous peuvent être utilisés pour écrire les programmes de scripts des robots. Ici, nous prendrons également FMZ Quant Trading Platform comme exemple pour vous faire comprendre les avantages de divers langages.

      • JavaScript Il est simple et facile à utiliser, presque sans dépendance à l'environnement de l'appareil, et prend en charge la norme ES6.

      • Python Python dépend de l'environnement du périphérique dans une certaine mesure, et diverses bibliothèques peuvent être installées, de sorte que son extensibilité est forte. (il est recommandé pour les étudiants qui connaissent la plate-forme FMZ et qui connaissent Python).

      • C++ Les stratégies de C++ ont la vitesse d'exécution la plus rapide, l'efficacité la plus élevée, et est également plus difficile à utiliser. Après avoir maîtrisé la langue, vous découvrirez les autresso easy!

      • Mylanguage Mylanguage pris en charge par FMZ est uniquement pour les commandes les plus élémentaires.

        • Mylanguage est applicable pour écrire certaines stratégies de tendance
        • Lorsqu'un signal de trading apparaît en Mylanguage et qu'une commande de trading est exécutée, il ne peut placer que des ordres de preneur et ne prend pas en charge les ordres de fabricant.
        • Mylanguage convient à la stratégie consistant à effectuer des commandes avec un seul objet d'échange (on ne peut contrôler qu'un seul objet d'échange; bien que FMZs Mylanguage supporte le porting de code JS, il est un peu difficile pour les débutants, il ne sera donc pas étudié temporairement).
        • Mylanguage ne convient qu'à la stratégie à symbole unique, et il est recommandé d'utiliser JavaScript, Python et C++ pour la conception de stratégies à plusieurs symboles.
        • Informations relatives à l'utilisation de la langue maternelle sur FMZ:https://www.fmz.com/digest-topic/5789 https://www.fmz.com/digest-topic/5768
      • Module de visualisation Stratégie fusionnée La création de stratégies de manière visuelle est uniquement pour l'intérêt, l'amélioration et la compréhension de la logique du programme.


Plus de