avatar of 15565556421 15565556421
Suivre Messages privés
0
Suivre
14
Abonnés

Série de cours sur l'investissement quantitatif dans la blockchain (3) - Arbitrage inter-périodes

Créé le: 2018-08-10 14:38:50, Mis à jour le:
comments   1
hits   2995

Lire la suite:Série de cours sur l’investissement quantitatif dans la blockchain (3) - Arbitrage inter-périodes

NO.1

Dans son livre de 1987 intitulé The Alchemy of Financial Markets, Soros a fait une proposition importante: “Je crois que les prix du marché sont toujours faux dans le sens qu’ils présentent une vision biaisée de l’avenir”. L’hypothèse d’efficacité du marché est théorique, car les acteurs du marché ne sont pas toujours rationnels, et il est impossible à chaque moment d’obtenir et d’interpréter objectivement toutes les informations, même si elles sont les mêmes, et que chacun ait la même réaction.

En d’autres termes, le prix en lui-même contient déjà les fausses attentes des acteurs du marché, de sorte que le prix du marché est fondamentalement erroné. C’est peut-être la source de profit de l’arbitrageur.

NO.2

D’après ce principe, nous savons aussi que, dans un marché à terme inefficace, l’influence du marché n’est pas toujours synchronisée entre les contrats de taux de change de différentes périodes, et que leur prix n’est pas une raison entièrement efficace.

Ainsi, en fonction du prix de négociation des contrats à terme pour différentes périodes de la même paire de devises, si les deux prix présentent un écart de prix important, il est possible d’acheter et de vendre simultanément des contrats à terme pour des périodes différentes, pour effectuer un arbitrage à long terme. Comme pour les futures sur les marchandises, les monnaies numériques sont associées à un portefeuille de contrats d’arbitrage à long terme. On peut les trouver sur OkEX: ETC pour la semaine en cours, ETC pour la semaine suivante et ETC pour le trimestre.

Par exemple, supposons qu’un ETC de la semaine et un ETC de la période se maintiennent à un écart de prix d’environ 5 pendant une longue période. Si un écart de prix atteint 7 un jour donné, nous nous attendons à ce que l’écart de prix revienne à 5 à un moment donné dans le futur. Alors on peut vendre l’ETC de la semaine et acheter l’ETC de la période pour compenser cet écart.

NO.3

Malgré cette différence de prix, l’arbitrage artificiel est souvent sujet à des incertitudes liées au temps d’exploitation, à l’inexactitude et à l’influence des variations de prix.

L’attrait de l’arbitrage quantifié réside dans la capture d’opportunités d’arbitrage et la mise en place de stratégies d’arbitrage par le biais de modèles quantifiés, ainsi que l’envoi automatique d’ordres de négociation aux bourses par des algorithmes programmés, la capture rapide et précise d’opportunités et l’obtention de bénéfices efficaces et stables. Cet article vous apprendra à utiliser la plateforme de trading quantitative Inventor et le contrat à terme ETC sur la bourse OkEX dans le trading de devises numériques, en utilisant une stratégie d’arbitrage simple pour démontrer comment saisir des opportunités d’arbitrage instantanées et saisir chaque opportunité pour voir Obtenir des bénéfices tout en se couvrant risques possibles.

NO.4

Créer une stratégie d’arbitrage inter-périodes pour les crypto-monnaies Difficulté : Normale

Environnement stratégique:

  • Objet de la transaction : Ethereum Classic (ETC)
  • Données sur les différences de prix : ETC hebdomadaire - ETC trimestriel (test de cointégration omis)
  • Cycle de négociation : 5 minutes
  • Correspondance de position : 1:1
  • Type de transaction : Même produit sur plusieurs périodes

La logique de la stratégie:

  • Conditions d’ouverture du spread long : Si le compte courant n’a pas de positions et que le spread est inférieur à la piste inférieure de la boîte, positionnez-vous longtemps sur le spread. C’est-à-dire : acheter des ETC pour la semaine et vendre des ETC pour le trimestre.
  • Conditions d’ouverture d’une position short spread : Si le compte courant n’a pas de positions et que le spread est supérieur à la piste supérieure de la Boll, shortez le spread. C’est-à-dire : vendre des ETC pour la semaine et acheter des ETC pour le trimestre.
  • Conditions de clôture d’un spread long : Si le compte courant détient une position longue hebdomadaire en ETC et une position courte trimestrielle en ETC, et que le spread est supérieur à la piste médiane de boll, le spread long sera fermé. C’est-à-dire : vendre des ETC pour la semaine et acheter des ETC pour le trimestre.
  • Conditions de clôture d’un spread court : Si le compte courant détient une position courte pour ETC cette semaine et une position longue pour ETC au cours du trimestre, et que le spread est inférieur à la piste médiane de boll, le spread court sera fermé. C’est-à-dire : acheter des ETC pour la semaine et vendre des ETC pour le trimestre.

NO.5

Ce qui précède est une description simple de la logique de la stratégie d’arbitrage inter-périodes de la monnaie numérique. Alors, comment mettre en œuvre vos idées dans le programme ? Nous avons d’abord essayé de construire le cadre sur la plateforme de trading quantitatif Inventor. Cadre stratégique: Il a été inventé par l’ingénieur de la quantité (www.fmz.cn) En comparant les idées stratégiques et les processus de trading, vous pouvez facilement créer un cadre stratégique. L’ensemble de la stratégie peut être simplifié en trois étapes : 1. Traitement préalable à la transaction 2. Obtenir et calculer des données. 3. La commande et le suivi.

NO.6

Ensuite, nous devons remplir le code de détail nécessaire dans le cadre stratégique en fonction du processus de transaction réel et des détails de la transaction.

Pré-traitement avant la transaction

Étape 1 : Dans l’environnement global, déclarez les variables globales nécessaires.

  • Déclarer un objet graphique pour configurer le graphique var chart = { }
  • Appelez la fonction Chart pour initialiser le graphique var ObjChart = Chart ( chart )
  • Déclarez un tableau vide pour stocker la séquence de différence de prix var bars = [ ]
  • Déclarer une variable pour enregistrer l’horodatage des données historiques var oldTime = 0

Étape 2 : Configurer les paramètres externes de la stratégie. Il a été inventé par l’ingénieur de la quantité (www.fmz.cn)

Étape 3 : Définir les fonctions de traitement des données Fonctions de base de données:Data ( ) Créez un constructeur Data et définissez ses propriétés internes. Comprend : les données de compte, les données de position, l’horodatage des données de la ligne K, le prix acheteur/vendeur du contrat d’arbitrage A/B et les spreads d’arbitrage à terme/inverse. Il a été inventé par l’ingénieur de la quantité (www.fmz.cn) Obtenir une fonction de détention:mp ( ) Parcourez l’ensemble du tableau de positions et renvoyez le nombre de positions du contrat et de la direction spécifiés. S’il n’y en a pas, renvoyez false K-ligne et fonction d’indicateur:boll ( ) Synthétiser une nouvelle séquence K-line basée sur les données de spread d’arbitrage forward/reverse. Et renvoie les données du rail supérieur, du rail médian et du rail inférieur calculées par l’indicateur de capsule. Fonction de commande:trade ( ) Transmettez le nom du contrat de commande et le type de commande, puis passez une commande au prix de contrepartie et renvoyez le résultat après avoir passé la commande. Comme il est nécessaire de passer deux ordres dans des directions différentes en même temps, le prix d’achat/vente est converti dans la fonction en fonction du nom du contrat d’ordre. Annuler la fonction de commande:cancelOrders ( ) Obtenez un tableau de toutes les commandes non exécutées et annulez-les une par une. Et s’il y a une commande non exécutée, elle renvoie faux, et s’il n’y a pas de commande non exécutée, elle renvoie vrai. Traiter le détenteur d’un contrat individuel:isEven ( ) Lorsqu’il s’agit d’une situation à jambe unique dans le cadre d’un arbitrage, nous fermons simplement toutes les positions pour la gérer. Bien entendu, vous pouvez également passer à un mode de commande complémentaire. Fonction de dessin:drawingChart ( ) Appelez la méthode ObjChart.add() pour dessiner les données de marché et les données d’indicateur nécessaires dans le graphique : piste supérieure, piste médiane, piste inférieure et spread positif/négatif. Étape 4 : Dans la fonction d’entrée main(), exécutez le code de prétraitement avant transaction. Ce code n’est exécuté qu’une seule fois après le démarrage du programme. inclure:

  • Filtrer les messages moins importants dans la console SetErrorFilter()
  • Définissez la devise numérique à échanger exchange.IO ( )
  • Effacer le graphique précédemment dessiné avant le démarrage du programme ObjChart.reset ( )
  • Effacer les informations de la barre d’état précédente avant le démarrage du programme LogProfitReset ( )

NO.7

Après avoir défini le traitement préalable de la transaction ci-dessus, vous passerez à l’étape suivante, en mode sondage, en exécutant à plusieurs reprises la fonction onTick (). Et définissez le temps de veille pour les enquêtes Sleep (), car certaines API d’échanges de crypto-monnaie ont des restrictions intégrées sur le nombre de visites dans un certain laps de temps.

2/ Obtenir et calculer des données

Étape 1 : obtenez des objets de données de base, des soldes de compte et des données d’indicateur Boll à utiliser dans la logique de trading.

3/ La commande et le suivi

Étape 1 : Exécutez les opérations d’achat et de vente selon la logique de stratégie ci-dessus. Tout d’abord, il détermine si les conditions de prix et d’indicateur sont remplies, puis détermine si les conditions de position sont remplies et enfin exécute la fonction d’ordre de transaction ( ). Étape 2 : Une fois la commande passée, les situations anormales telles que les commandes non exécutées et le maintien d’un seul contrat doivent être traitées. et dessiner des graphiques.

NO.8

Ci-dessus, nous avons créé une stratégie simple d’arbitrage inter-période de monnaie numérique en un peu plus de 200 lignes. Le code complet est le suivant :

NO.9

Cette stratégie n’est qu’un jeu d’échecs, le vrai disque n’est pas aussi simple, mais vous pouvez utiliser votre imagination pour faire des exemples.

Il est important de rappeler que, dans mon expérience limitée, les stratégies d’arbitrage purement à terme ne valent pas la peine d’être utilisées dans la situation actuelle du marché des monnaies numériques, qu’il s’agisse d’arbitrage triangulaire sans risque ou d’arbitrage intermarché. La raison en est que le marché à terme de n’importe quelle bourse de crypto-monnaie n’est pas une monnaie légale. Aujourd’hui, presque toutes les monnaies numériques ont chuté d’environ 70% depuis le début de l’année.

En un coup d’œil, le marché des monnaies numériques s’est discrètement détaché de la blockchain, et comme les tulipes de l’année, le prix a toujours été basé sur les attentes et la confiance des gens, et la confiance a toujours été basée sur le prix…

Lire la suite: Série de cours sur l’investissement quantifié dans la blockchain (1) - Résumé La série de cours sur l’investissement quantifié dans la blockchain (2) - Apprendre à connaître la monnaie numérique Série de cours sur l’investissement quantitatif dans la blockchain (4) - Stratégie d’équilibre dynamique