juillet 2018

L’histoire des cryptomonnaies

Partie I

Le commencement

Résultat de recherche d'images pour "bitcoin logo"
Avant de parler du fonctionnement des cryptomonnaies voyons d’où cela vient.

Actuellement la plupart d’entre nous connaissent le Bitcoin. Le Bitcoin est la toute première des cryptomonnaies. Celle-ci a été inventée en 2008 : à cette date un certain Satoshi Nakamoto publie un document décrivant un système d’argent virtuel en P2P (peer to peer, de personne à personne) sur le site bitcoin.org. Cependant le Bitcoin n’existe pas vraiment, il ne s’agit là que d’un papier détaillant son fonctionnement.

Avant même les années 2000 le concept de cryptomonnaie commence petit à petit à se développer. David Chaum, un cryptographe américain, publie un document intitulé Untracable electronic cash, qui aborde le concept de monnaie électronique (le document date de 1990). Dans son article, il détaille le fonctionnement technique s’appuyant sur des techniques de cryptographie pour remplacer la monnaie physique (billets et pièces). Pour ce faire il faut que cette monnaie soit, comme la monnaie physique, infalsifiable et impossible à utiliser deux fois (on ne peut pas utiliser un même billet dans deux boutiques différentes, il faut le donner à une seule boutique).

Le Bitcoin n’invente donc pas tout les concepts, il se base sur différents papiers qui ont été publiés précédemment. Le document détaillant le principe du Bitcoin s’appuie notamment sur le concept de B-money inventé par Wei Dai en 1998.

B-Money

Wei Dai est intéressé par le concept de crypto-anarchie développé par Tim May. Le but de ces communautés est d’exclure le gouvernement car celui-ci ne serait pas nécessaire. Cependant aucun mode de fonctionnement n’était proposé pour qu’une communauté fonctionne sans avoir de gouvernement. Daprès Wei Dai une communauté est définie par une coopération de plusieurs personnes, ces échanges entre plusieurs personnes se basent sur un moyen d’échange : une monnaie. La monnaie étant traditionnellement mise en place et gérée par un gouvernement l’auteur propose deux systèmes (ou protocoles) pour s’en passer. Son papier propose une approche théorique pour avoir une monnaie décentralisée : il n’y a pas une entité qui s’occupe de gérer la monnaie, tout le monde y participe. Pour les deux protocoles Wei Dai suppose l’existence d’un réseau intraçable où les personnes sont identifiés par un identifiant (un numéro, clé publique) et les messages sont signés par l’expéditeur puis chiffrés. Maintenant que les pré-requis, ont été définis, voyons le fonctionnement.

Le premier protocole propose que chaque participant ait une base de données (ou livre de compte) où est enregistrée l’argent que chaque identifiant possède (tout le monde peut voir l’argent pour chaque identifiant mais ne sait pas à qui appartient l’identifiant). Pour le premier protocole on suppose un canal de communication synchrone, anonyme où les messages ne peuvent être perdus. Cela signifie que quand un message A est envoyé puis un message B, tous les destinataires reçoivent le message A avant le message B. L’auteur reconnaît que ça n’est pas faisable du fait de la contrainte d’avoir un canal de communication synchrone (Internet n’est pas un canal de communication synchrone par exemple) entre tous les participants.

  • La création de la monnaie est ouverte à tous. Pour ce faire il suffirait de résoudre un problème calculatoire non résolu jusqu’à présent ou le résultat n’a aucune valeur et la durée nécessaire au calcul peut être déterminée. Ainsi la rémunération pour ce calcul se ferait par la création de monnaie en rapport avec le temps passé. Si on estime que 3 heures de travail valent 1 jeton, on peut proposer un problème calculatoire à résoudre qui prendra 3 heures et il sera rémunéré 3 jetons. Différentes autres méthodes de création sont suggérées à la fin de l’article.
  • Pour transférer de l’argent il suffirait d’envoyer un message « Identifiant_A envoie X à Identifiant_B » le tout signé par Identifiant_A. Cette transaction est envoyé et enregistré par tout le monde sauf si Identifiant_A se retrouve avec un solde négatif.
  • Le protocole prévoit aussi la création de contrats.

Le deuxième protocole est similaire au premier, cependant tout le monde ne possède pas la base de données, seulement quelques participants la possède. Les participants possédant la base de données sont appelés serveurs. Le premier protocole motive le deuxième de part son impraticabilité due aux contraintes sur les canaux de communication. Cette contrainte est levée pour ce protocole. Avec ce protocole seulement une partie des participants possèdent la base de données. Les serveurs sont reliés entre eux à l’aide d’un réseau Usenet. Usenet est un réseau inventé en 1979, servant principalement pour les forums. Un utilisateur peut se connecter à n’importe quel serveur. Lorsqu’une modification est faite sur un serveur cette modification est propagée aux autres serveurs et est ensuite disponible sur les autres serveurs.

Résultat de recherche d'images pour "usenet"

Le fonctionnement est le même qu’auparavant, seulement lorsqu’un utilisateur effectue une transaction il doit vérifier que celle-ci a bien été reçue et traitée par un certain nombre de serveurs (choix aléatoire de serveurs).

L’idée est que chaque serveur possédant la donnée dépose une somme leur appartenant sur un compte spécial. Ce compte est utilisé pour récompenser ou infliger une amende au serveur en cas de preuve de mauvaise conduite (altération de la base de données pour frauder par exemple). Cette somme permet de s’assurer que les serveurs restent honnête et de les sanctionner si ce n’est pas le cas. Régulièrement les serveurs publient leurs bases de données. Chaque participant peut ainsi vérifier que la somme des montants des comptes ne soit pas supérieure à la somme totale d’argent en circulation pour éviter une expansion de la masse monétaire (duplication de l’argent). Si un nouveau serveur est créé il peut utiliser ce mécanisme pour se synchroniser avec les existants.

L’auteur conclue en précisant que le protocole peut sûrement être plus efficace et plus sûr. Il espère qu’avec cet article cela rends possible la « crypto-anarchie », ce que sera en effet le cas quelques années plus tard avec l’apparition du bitcoin, sujet que nous aborderons dans la prochaine partie.

Et la suite de l’histoire des cryptomonnaies, c’est par ici ! L’histoire des cryptomonnaies (partie 2).


Sources :

  • Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto (2008) – https://bitcoin.org/bitcoin.pdf
  • B-Money, Wei Dai (1998) – http://www.weidai.com/bmoney.txt

L’histoire des cryptomonnaies Read More »

Le stop suiveur

Dans cet article nous allons vous rappeler ce qu’est un stop loss, puis vous allez comprendre le stop suiveur, un outil qui vous permet de gérer vos trades.

Lorsque vous ouvrez un trade, il se peut que votre trade ne parte pas directement dans le bon sens, et que vous soyez donc dans le rouge. Pas de panique, si votre signal est bon, il vous faut juste de la patience…

Afin de ne pas perdre tout votre capital sur votre premier trade, il est suggéré, pour ne pas dire indispensable, de placer un stop loss (souvent abrégé SL). Comment ça marche ? Si votre perte atteint un certain pourcentage (disons 5%), votre trade sera fermé automatiquement, et vous ne perdrez qu’une partie de votre capital.

À l’inverse, vous pouvez aussi placer un take profit (TP), qui fermera automatiquement votre trade lorsque son gain atteint un certain pourcentage.

Une des plus grandes difficultés dans le trading étant la psychologie, un trader débutant aura tendance à clôturer trop vite ses positions gagnantes, tout en laissant courir ses positions perdantes… C’est là qu’intervient le stop suiveur !

Stop suiveur, c’est quoi ?

Le stop suiveur est un stop loss qui va s’ajuster automatiquement au fur et à mesure que votre gain maximal augmente.

Prenons l’exemple d’une position longue (achat) avec un stop suiveur paramétré à 5% de perte maximale. Vous ne pourrez donc perdre au maximum que 5% du capital investi dans ce trade (comme un stop loss).

  1. Si, au bout d’une minute, votre perte est de 1% (= votre gain est de -1%), votre stop suiveur ne bouge pas.
  2. Si, à la minute d’après, votre gain est de 3%, votre stop suiveur va remonter de 3%. Vous ne pourrez donc perdre plus que 5-3 = 2% de votre capital !
  3. Si, à la minute d’après, votre gain est de 7%, votre stop suiveur va remonter de 4%. Maintenant, votre stop suiveur est créditeur, c’est-à-dire que vous êtes forcément gagnant. Car si votre stop se déclenche, il se déclenchera avec un gain de 2%.

Intérêt du stop suiveur

Comme annoncé plus haut, un trader a toujours tendance à laisser courir ses pertes au lieu de ses positions gagnantes. Le stop suiveur permet :

  • de ne perdre qu’une partie de son capital en cas de trade perdant (comme un stop loss basique)
  • de laisser courir son trade lorsqu’il est gagnant
  • pouvoir clôturer automatiquement son trade gagnant lorsque la tendance se retourne

Mise en application avec Botcrypto

Créons une stratégie simple pour tester ce stop suiveur. La stratégie est la suivante :

Nous ouvrons donc une position à l’achat dès le début du backtest, et laissons le stop suiveur faire. L’état « fin » sert à ne pas relancer le bot lorsque la position est fermée. Nous obtenons ce trade :

Le stop suiveur est bien remonté au fil du temps car le trade était en notre faveur. Ici il est toujours placé à une distance de 0.5% du gain maximal obtenu au cours de notre trade (car on a paramétré notre perte maximale à 0.5%). On ressort donc avec un gain de 0.82% car notre gain maximal est de 1.32%.

Maintenant, analysons un trade perdant utilisant un stop suiveur. La stratégie est la suivante : on vend, et on place un stop suiveur de perte maximale égale à 0.5%. Le backtest est le suivant :

Comme notre trade part dans le bon sens dès le début, le stop suiveur commence déjà sa remontée. Donc, même si le trade est perdant, comme notre gain maximal est de 0.18%, notre stop se déclenche avec une perte de 0.32% !

Conclusion

Le stop suiveur peut se révéler être une bonne solution de gestion de trade dans une stratégie automatisée de trading. Il permet de sécuriser les pertes et de laisser courir les gains. Néanmoins, il faut bien réfléchir à la perte maximale entrée en paramètre. Si elle est trop faible, vous perdrez peu d’argent mais la probabilité que votre stop se déclenche rapidement est forte. Si elle est trop élevée, votre stop se déclenchera moins souvent mais vos pertes seront plus conséquentes. Ce paramètre dépend de l’unité de temps sur laquelle vous tradez (stop plus large sur une unité de temps longue).

Le stop suiveur Read More »

Les bandes de Bollinger

Dans cet article nous allons parler d’un indicateur technique réputé : les bandes de Bollinger, et allons voir comment mettre en place une stratégie, basée sur cet indicateur, avec Botcrypto. Il prend en compte deux paramètres : la période (N) et le nombre d’écarts types (X). Les bandes de Bollinger sont constituées de trois lignes :

  • celle du milieu : une moyenne mobile de N périodes
  • la bande inférieure : la ligne du milieu – X * (écart type des N derniers prix)
  • la bande supérieure : la ligne du milieu + X * (écart type des N derniers prix)

De base, cet indicateur a pour période 20 et pour nombre d’écarts types 2. Défini ainsi, environ 95% du temps le prix devrait se trouver entre la bande supérieure et la bande inférieure. Lorsque le prix se trouve hors de ces bandes, on est dans une situation exceptionnelle.

Les bandes de Bollinger donnent aussi l’information sur la volatilité. Plus la volatilité est élevée, plus les bandes vont être écartées, et inversement.

De plus, les mouvements forts de prix se produisent souvent après une période de resserrement des bandes. Prenons l’exemple du cours BTCUSDT en unité de temps 5 minutes :

On remarque bien que lorsque les bandes sont resserrées, on est dans un range. Puis un mouvement fort vient casser ce range et ainsi écarter les bandes.

Un autre aspect à considérer est le rebond sur les bandes de Bollinger. En effet, le prix est assez réactif lorsqu’il se rapproche d’une bande. Dans certains cas il rebondit sur lesdites bandes pour aller chercher la ligne du milieu (la moyenne mobile) voire même la bande opposée. Observons la paire BTCUSDT en unité de temps 1 heure :

Ici les bandes de Bollinger sont paramétrées avec une période de 20 et un nombre d’écarts types de 2,5. Le premier et second rebond vont bien chercher la bande opposée. Mais le troisième, qui partait dans la bonne direction, n’a même pas atteint la moyenne mobile 20. Néanmoins, si l’on avait pris position sur ces rebonds, l’échec du troisième rebond est largement comblé par les gains pris par les autres rebonds.

Exemple d’application avec Botcrypto :

Étant donné qu’un rebond peut être défini de plusieurs manières, nous utiliserons dans notre exemple la définition suivante :

On appelle rebond le moment où le prix est sorti par la bande supérieure, puis a réintégré l’intérieur des bandes (comme le premier rebond observé sur l’image précédente).

Ainsi défini, notre stratégie serait la suivante :

  • On vend lorsque le prix (de clôture) croise à la baisse la bande de Bollinger supérieure
  • On rachète lorsque le prix au plus bas (low) croise à la baisse la bande de Bollinger inférieure

Pour simplifier, nous ne mettons aucun stop loss ou take profit. Cet exemple n’est en aucun cas un conseil d’investissement. Voici ce à quoi ressemble notre stratégie créée sur Botcrypto :

Nous effectuons un backtest de six heures, de cette stratégie sur la paire BTCUSDT en unité de temps 1 minute :

N.B. : Les trades sont pris en clôture de bougie, donc sur les corps des bougies et non pas sur les mèches.

Si vous avez des questions sur les bandes de Bollinger, n’hésitez pas à les poser en commentaire ! Et pour créer des bots de trading, c’est sur https://botcrypto.io/ 😉

Les bandes de Bollinger Read More »

Des bots de trading pour tous avec Botcrypto 2.0

Nous sommes très très très heureux de vous présenter aujourd’hui la toute nouvelle version de Botcrypto. Elle est dans les cartons depuis plusieurs mois mais vous allez voir, l’attente en vaut la peine ! Petit tour des nouveautés…

TL:DR : Une bonne partie du code de Botcrypto a été réécrit, la plateforme devient plus simple, plus rapide et plus stable. Plus aucune excuse pour ne pas créer de bot, surtout que l’inscription reste gratuite 🙂

L’automatisation pour les nuls

Au coeur de Botcrypto se trouve le système de création de stratégie. C’est lui qui vous permet d’automatiser votre trading et de rendre vos bots intelligents. Pour vous simplifier la vie, nous avons donc développé un nouveau créateur de stratégie 100% visuel. Vous n’avez même pas besoin de savoir coder !

Il vous suffit de glisser-déposer sur la zone de création les éléments disponibles sur votre gauche. Il existe 2 types d’éléments :

  • les indicateurs : ces éléments bloquent l’avancement dans la stratégie tant qu’une condition n’est pas remplie. Un indicateur se compare grâce à un opérateur à un autre indicateur. Par exemple si vous souhaitez attendre que le prix d’1 BTC dépasse 7000€, vous devez définir une condition composée de l’indicateur Prix et de l’indicateur Valeur (avec comme paramètre 7000€) avec l’opérateur <. Et pour configurer un indicateur, il suffit de doubler cliquer lui.
  • les actions : ces éléments déclenchent une action. Par exemple l’envoi d’un ordre d’achat ou de vente sur votre plateforme d’échange.

Vous devez ensuite créer des transitions entre ces éléments en cliquant sur l’élément d’origine puis sur l’élément cible. Et voilà, votre stratégie est créée. Il y a déjà 10 éléments différents, vous pouvez donc laisser libre court à votre imagination 🙂

Une plateforme plus agréable et plus rapide

Nous souhaitons que la création et la gestion d’un bot soient agréables. Nous avons donc simplifié l’interface et amélioré l’ergonomie de ces pages. Vous avez également la liberté de démarrer un bot plus tard.

Nous avons réécrit tout le coeur de notre application pour qu’il soit plus rapide et plus robuste. Les backtests sont ainsi 100x plus rapides. Nous  avons corrigé de nombreuses traductions et réglé énormément de bugs.

Des notifications, partout, tout le temps

Pour que vous puissiez suivre l’évolution de vos bots n’importe où n’importe quand, nous avons rajouté un système de notification qui vous previent quand un bot effectue une action. Vous pouvez les voir sur l’onglet Notification mais également configurer des webhooks. Les webhooks sont des messagers qui vont transférer vos notifications à des services tiers. Leur configuration se fait en 30 secondes sur l’onglet Mon compte. Vous pouvez les utiliser sur Slack et Discord par exemple.

Une notification en temps réel sur Slack

Et voilà ! C’est tout pour les principales nouveautés. Il y en a plein d’autres cachées un peu partout sur le site, à vous de les découvrir 😉 Nous espèrons que cette nouvelle version vous plaira et nous avons hâte d’avoir vos premiers retours !

Keep coding, keep trading 😎

Des bots de trading pour tous avec Botcrypto 2.0 Read More »

Les croisements de moyennes mobiles

Dans cet article je vais vous introduire aux stratégies sur plusieurs indicateurs. Prenons l’exemple de la moyenne mobile simple (MM), l’indicateur le plus connu. Pour rappel, elle indique la valeur moyenne d’un cours de bourse sur une période de temps donnée.

Intéressons-nous au cours de l’ETHUSD en unité de temps quatre heures (une bougie représente quatre heures d’évolution du prix). Ajoutons une MM20 (moyenne mobile simple de période 20) en rouge :

Trouvez-vous des bons points d’entrée ? Pas vraiment ? Il est difficile d’avoir une stratégie fondée seulement sur une moyenne mobile. Maintenant ajoutons au graphique une MM50 en noire, et observons les croisements entre la MM20 rouge et la MM50 noire :

La stratégie est la suivante :

– La MM20 croise la MM50 à la hausse : signal d’achat

– La MM20 croise la MM50 à la baisse : signal de vente

Cette stratégie fonctionne car les MM20 et MM50 sont des indicateurs très regardés par les investisseurs, ce qui fait la force de ces signaux.

On remarque aussi qu’à plusieurs reprises la MM20 vient tester la MM50, sans la casser, ce qui renforce encore nos signaux. Dans ce cas, on peut ouvrir de nouvelles positions, tout en sécurisant les anciennes.

Bien sûr, comme toute stratégie, elle ne fonctionne pas à 100%, mais je vous invite à analyser des croisements de moyennes mobiles sur différents actifs, sur différentes unités de temps (à savoir qu’il y a moins de faux signaux sur des longues unités de temps que sur des unités très courtes) pour comprendre la puissance de ces croisements sur les marchés.

Les croisements de moyennes mobiles Read More »