Ce projet consiste en la conception d'un bot qui se connectera à une plateforme de trading ou il assurera le pilotage d'un portefeuille de crypomonnaies, exécutant des ordres d'achat et de vente.
Contexte
Les
cryptomonnaies ont acquis une forte popularité durant les récentes années, en tant qu'instruments financiers novateurs et faciles à utiliser, et beaucoup d'acteurs de la Fintech proposent maintenant des applications, frameworks, et librairies pour les mainpuler. Il existe également de nombreuses plateformes où les crypomonnaies peuvent être échangées, achetées et vendues avec des monnaies traditionnelles.
Le
trading algorithmique a également connu une forte adoption et représente maintenant la majorité des transactions financières conduites sur les marchés internationaux.
Plusieurs outils peuvent être utilisés pour concevoir un bot qui se connecte à une plateforme de change de cryptomonnaie et conduire du trading algorithmique automatisé.
Cryptomonnaies
La première cryptomonnaie,
Bitcoin, a été créée en 2009 par un utilisateur sous pseudonyme
Satoshi Nakamoto, sur les bases des précédents travaux de la communauté des
cypherpunk.
Voilà
l'article original qui a présenté Bitcoin et la technologie de la
blockchain sur lequel il s'appuie. En combinant plusieurs techniques fondées sur la cryptographie, Bitcoin permet à sa communauté d'utilisateurs de gérer collective la monnaie sans avoir à recourir à un superviseur central, court-circuitant le secteur bancaire.
Plusieurs principes alternatifs ont depuis été proposés, généralement avec de petite variations protocolaires:
ce subreddit ou
ce site web peuvent constituer de bons points d'entrée pour les découvrir.
De nombreuses plateformes de change ont également été créées en offrant des fonctionnalités et APIs de trading, mais la plupart des acteurs originaux ont été liquidés pour cause de fraude ou de hacks où une partie des fonds ont été volés. Parmi les acteurs actuels de bonne réputation proposant une API, on peut siter
Bitstamp ou
Kraken.
L'expérience DNN Bitcoin
Dans la phase initiale de développement du module
PKP, l'environnement utilisés pour les TPs de ce cours,
DNNBitcoin fut créé comme démonstrateur du moteur de bots pour l'hébergement d'un moteur de trading algorithmique communautaire.
Les utilisateurs pouvaient gratuitement enregistrer un compte et un Bot sur la plateforme, se connectant à plusieurs APIs de plateformes de change, et exécutant des stratégies de Market making. Plusieurs centaines de bots ont tourné simultanément à au plus fort de son utilisation. L'expérience a finalement été stoppée quand les plateformes de change supportées ont fermée, et du fait la maintenance conséquence du service, mais du code obsolète a été conservé dans l'extension DNN et peut constituer un point de départ sur la manière de procéder.
Comment fonctionnait le Bot historique?
Les principales règles d'exécutions, qui ont été conservées en état de refactoring incluaient:
- Une phase durant laquelle le Bot récupère les données concernant son portefeuille et le marché, en plusieurs requêtes successives à l'API de la plateforme de tradingt, puis désérialisait les données json récupérées dans un modèle objet local pour traitement ultérieur.
- Une phase de trading durant laquelle une méthode issues de l'implémentation d'une interface de stratégie de trading était appelée, permettant au développeur de proposer différents types de stratégies selon le même modèle.
- Puis à nouveau le bot utilise l'API de la plateforme pour exécuter les ordres d'achat, de vente ou d'annulation, issus de la stratégie.
Connecteurs
Quand DNN Bitcoin a été développé, des connecteurs individuels étaient implémentés pour chaque plateforme supportée, par le biais de requêtes Http personnalisées.
La librairie
XChange propose désormais une alternative plus confortable, avec de nombreuses plateformes supportées sous un même modèle objet, et plus de nécessité de se ternir à jour des différentes APIs. Pour un développement sous .Net, il devrait être possible de la porter en utilisant
IKVM comme ça a été fait pour la librairie AIMA.
Authentification à la plateforme de change
Les plateformes authentifient généralement les comptes utilisateurs par un Hmac cryptographique (on signe le corps de la requête Http avec une clé privée fournie par la plateforme). La librairie XChange devrait prendre en charge cette opération à partir des clés obtenues en ligne.
Format des données
Les données sont généralement récupérées et renvoyées aux APIs des plateformes au format Json. A nouveau la librairie XChange devrait prendre en charge le formattage et fournir un ensemble de classes indépendantes des plateformes cibles.
Moteur de trading
DNNBitcoin fournit un framework léger pour la manipulation des monnaies et l'exécution de stratégies diverses, sous forme de classes .net implémentant une interface commune, avec une méthode qui prend en paramètres un portefeuille, les données de marché et historiques, et renvoie les ordres à exécuter. L'interface utilisateur de PKP transforme la structure des straégies en formulaires web que les utilisateurs peuvent accéder pour personnaliser les paramètres de leurs stratégies.
Ceci était suffisant pour implémenter différent types de stratégies, mais depuis, plusieurs librairies open-source offrant des moteurs de trading complets sont apparues, et fournissent très probablement une meilleure alternative.
La librairie
Lean Framework constitue un bon candidat en .Net.
Historique et simulation
Le bot historique incluait également la fonctionnalité d'archivage en local des données historiques, permettant notamment les simulations, sur une période données, de stratégies spécifiques. L'utilisation d'un framework de trading dédié devrait fournir des moyens alternatifs d'obtenir les mêmes fonctionnalités.
Prérequis initiaux
La tâche initiale consiste à intégrer ensemble:
- Un moteur de Bots: (e.g PKP)
- Une librairie de trading: (e.g lean framework)
- Des connecteurs aux plateformes de change (e.g. XChange)
Il devrait s'agit principalement de conjoindre les librairies introduites, et fournir les méthodes pour faire circuler les données de l'une à l'autre.
Automapper est une librairie qui peut faciliter la mis en place de mapping entre les différents modèles objets.
Stratégies de trading
Ensuite, la tâche principale de ce projet est de mettre en oeuvre les stratégies de trading.
Des stratégies traditionnelles peuvent bien fonctionner, la librairie lean framework en fournit
un certain nombre et vous pouvez exploer la panneau de droite du
subreddit de trading algorithmique.
Ceci dit, les stratéiges les plus intéressantes et puissantes utiliseront les techniques d'IA étudiées en cours, comme les réseaux de neurones. Voir par exemple
cet article pour une implémentation basique, et les plus récents exemples d'apprentissage profond dans la
gallerie CNTK ou encore
cet article.
submitted by NiceHash is the leading cryptocurrency platform for mining and trading. Sell or buy computing power, trade most popular cryprocurrencies and support the digital ledger technology revolution. MetaTrader4 (MT4) is a trading platform that enables automated trading. MT4 was developed in 2005 by MetaQuotes. It has become one of the most popular trading platforms for forex, indices and commodities. More recently it has become a favourite tool for cryptocurrency traders who are looking to bring automation to their trading strategies. Basics of Trading Platform . A trading platform is the software that enables investors and traders to place trades and monitor accounts through financial intermediaries. Bitcoin Trader is an automatic trading software created by Gary Roberts in 2017 that claims to automatically buy bitcoin and sell it for a profit by following the cryptocurrency market trends and Token market cap rankings, charts, and more. Rank Name Platform Market Cap Price Volume (24h) Circulating Supply Change (24h)
A complete guide to get started trading Cryptocurrency. Ross and Arsh from the Warrior Trading Team discuss important information you need to know if you're ... Servers of the European crypto-trading platform, 2gether, was infiltrated with hackers last July 31 and lost over $1.3 million USD (about 1.2 million euros) worth of investments. The hack impacted ... Cryptocurrency trading is becoming popular day by day as trading can be quite beneficial for individuals. There are many individuals who sell or buy their coins regularly, and every individual ... =====(crypto trading platform)===== Are Cryptocurrency Trading Platforms Manipulated? #crypto trading strategies 2020 #crypto trading bot #crypto trading liv... Get an additional $10 in Bitcoins from Coinbase when purchasing through my referral link http://fredyen.com/get/Bitcoins Here is a quick beginner's guide on ...