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.
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
API du système de plateforme
Beaucoup d'étudiants qui n'ont pas utilisé la fonction de la plateforme peuvent se demander:
L'API de la plateforme est divisée en différents types d'interfaces.REST
les interfaces de protocole etWebSocket
Il est également possible d'utiliser des interfaces de protocoleFIX
Nous 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é 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
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
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,
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.
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 contracts
etUSDT-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 contract
le 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 contract
le 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.Sell
etexchange.Buy
Lors 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.IO
Pour 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.IO
fonction, veuillez consulter la documentation de l'API FMZ:https://www.fmz.com/api#exchange.io...
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
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).timeout
seront 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
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.
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.