L'analyse de l'arbitrage sur les contrats à terme et les contrats à marge cryptographique

Auteur:Je suis désolée., Créé: 2022-04-12 10:06:51, Mis à jour: 2022-04-13 09:20:56

Arbitrage sur les contrats à terme et les écarts de rendement au comptant

La dernière fois, nous avons introduit l'arbitrage des taux de financement par contrat perpétuel (https://www.fmz.com/digest-topic/6381Dans le cas d'une forte prime négative, il peut également faire de l'argent et de la prime, pour retourner le profit. Dans le marché haussier en août et septembre, le taux annualisé une fois atteint 100%, il est donc une stratégie relativement populaire.

Dans l'arbitrage de crypto-monnaie à faible risque, il existe un autre type de stratégie qui n'a pas été introduit - l'arbitrage de rendement de base.

1.Il y a un écart de prix entre le contrat à terme et le spot. La caractéristique du contrat de livraison est qu'il n'est pas réglé au prix spot jusqu'à la date de livraison. Par conséquent, lorsque la date de livraison est loin, la livraison du contrat est facilement affectée par le sentiment du marché. Si le marché fonctionne bien, plus de gens seront optimistes quant au prix futur, il y aura donc une prime positive. Lorsqu'il y a une forte baisse, il y a souvent une prime négative. Mais d'une manière générale, la livraison du contrat ne déviera pas trop du spot et reviendra toujours le jour de la livraison.

2.Il existe des contrats de livraison basés sur la devise. Par exemple, Binance a des contrats de livraison trimestriels et trimestriels en cours. Il existe une grande différence entre un contrat de livraison cryptographique et un contrat perpétuel. Le règlement cryptographique utilise la devise et le prix de la devise change constamment, ce qui sera présenté en détail ci-dessous.

Le code de cet article peut être exécuté directement, mais pour des raisons de réseau, la partie d'exploration des données nécessite un accès Internet scientifique, il est préférable d'utiliser votre propre ordinateur pour l'exécuter, ou d'utiliser Google colab.

Le calcul des bénéfices et pertes des contrats à marge crypto

Selon la documentation de Binance, les revenus = direction de négociation × volume exécuté × multiple de contrat × (1 / prix d'ouverture - 1 / prix de clôture) = valeur de position × (1 / prix d'ouverture - 1 / prix de clôture); lorsque vous faites du short, la valeur de position est négative. Si vous détenez 100 contrats de livraison BTCUSD, chacun d'une valeur de 100USD, et que le prix d'ouverture est de 10,000USD, le bénéfice et la perte avec le changement de prix sont les suivants:

Grâce au calcul et à l'analyse, les bénéfices des positions courtes ou longues crypto-marginées sont non linéaires et mesurés par les bénéfices de la devise; s'il y a une perte en faisant une position courte, ne perdez au plus le montant de la devise d'une position, mais il n'y a pas de limite supérieure sur le montant de la devise gagné; s'il y a un profit en faisant une position longue, ne profitez que, au plus, du montant de la devise d'une position, et il n'y a pas de limite supérieure sur les pertes. Il semble qu'il soit plus rentable de faire court, mais le profit de faire court diminuera à mesure que le prix de la devise diminue, ce qui n'est pas si élevé calculé en USD.

Dans le même temps, lorsque vous négociez des contrats cryptographiques à marge, vous devez détenir des devises à l'origine. Si vous considérez l'USD comme la devise de cotation, alors la valeur totale du compte = (montant de la devise du compte + valeur de la position × (1 / prix d'ouverture - 1 / prix de clôture)) × prix au comptant. Si la valeur de la position = - montant de la devise du compte × prix d'ouverture, c'est-à-dire en utilisant un effet de levier unique pour faire du short, et la valeur totale du compte = montant de la devise du compte × prix d'ouverture × prix au comptant de la position de clôture / prix au comptant de clôture. Considérant que le prix du contrat de livraison reviendra éventuellement au prix au comptant, dans le dernier, la valeur totale du compte = montant de la devise du compte × prix au comptant d'ouverture. C'est-à-dire que la valeur du compte sera verrouillée au prix au comptant, et ne chang

Si la monnaie du compte à terme est achetée sur le marché au comptant, alorsla valeur totale du compte = le montant de la devise sur le compte × (prix d'ouverture - prix d'achat au comptant)La différence de prix est le profit de l'arbitrage. c'est le principe de l'arbitrage à terme.

Bien sûr, dans la plupart des cas, nous n'avons pas à attendre la date de livraison.la valeur totale du compte = valeur au comptant × (ratio des contrats à terme au comptant de la période d' ouverture / ratio des contrats à terme au comptant de la période de clôture - 1)Tant que le rapport entre les prix à terme et les prix au comptant dans la période d'ouverture est supérieur à celui de la période de clôture, et peut couvrir les frais, et alors il y aura des profits.

Dans [15]: demandes d'importation à partir de la date-heure date d'importation, date-heure Temps d'importation Importation de pandas comme pd Importation de numérisation comme np Importer matplotlib.pyplot comme plt Pourcentage de matplotlib en ligne Dans [96]: valeur = 100100 #valeur de position prix d'ouverture = 10000 #prix de position ouverte 10000USD long_profit_list = [] L'établissement doit fournir des informations détaillées sur les activités de l'entreprise. long_usdt_profit_list = [] les résultats de l'évaluation de la rentabilité de l'entreprise; La valeur de l'échantillon est la valeur de l'échantillon. pour p dans close_range: bénéfice = valeurLe prix d'ouverture est le prix d'ouverture de la transaction. long_profit_list.append (résultat) long_usdt_profit_list.append(profitp) Le projet de loi est en cours d'adoption. Je ne sais pas si je peux vous aider.p) Les Dans [97]: #crito-marge bénéfice Le nombre d'étoiles dans le système de mesure est de L'étiquette est la suivante: Le nombre de personnes concernées par le projet est déterminé en fonction de l'évolution de la situation. plt.plot ((close_range,[1]*len ((close_range),r); le nombre de fois où les données sont utilisées pour calculer le nombre de fois où les données sont utilisées pour calculer le nombre de fois où les données sont utilisées. Il s'agit d'un projet de loi. Le prix de vente est le prix de vente au détail. Je ne sais pas si c'est vrai. Il s'agit d'un projet de loi visant à améliorer la qualité de vie des personnes âgées. Il s'agit d'un projet de loi visant à améliorer la qualité de vie des personnes âgées.
Il s'agit d'un projet de loi visant à améliorer la qualité de l'eau potable dans le pays, qui a pour objectif d'améliorer la qualité de l'eau. Extrait[97]:imgDans [101]: #bénéfice calculé en USD Le nombre d'étoiles dans le système de mesure est de L'établissement doit fournir des informations détaillées sur les risques liés à l'utilisation de l'appareil. Le projet de règlement (CE) n° 1049/2001 est soumis à l'autorité compétente de l'Union européenne.

Il s'agit d'un projet de loi. Le prix de vente est fixé à l'exception du prix de vente au détail. Il s'agit d'un projet de loi visant à améliorer la qualité de vie des personnes âgées. Il s'agit d'un projet de loi visant à améliorer la qualité de vie des personnes âgées.
Je ne sais pas si c'est vrai. À l'extérieur [101]:img

Procédures d'arbitrage à terme et au comptant

1.Surveillance en temps réel des variations des prix des contrats à terme et des primes au comptant. Après avoir atteint la valeur définie, le symbole de la monnaie au comptant est acheté et immédiatement transféré sur les contrats à terme pour être mis à découvert. La valeur de la mise à découvert est le montant au comptant × le prix d'ouverture. 2.Attendez le remboursement de la prime et, après avoir atteint la valeur définie, fermez la position à terme, transférez-la au point de vente et obtenez un profit.

Détails

1.Les primes à des dates de livraison différentes ont des significations différentes. Par exemple, s'il existe une prime trimestrielle de 5% et une prime trimestrielle de 5%, celle trimestrielle sera certainement préférée pour l'arbitrage. Le taux annualisé correspondant doit être calculé en fonction de la date de livraison. 2.Il convient de prendre en considération les frais de service, qui concernent les achats et les ventes au comptant ainsi que les positions ouvertes et fermées de contrats à terme, qui se composent au total de 4 transactions. Pour éviter les chocs du marché, les positions peuvent être réduites en plusieurs opérations. 4.Lorsqu'il y a de la monnaie sur le compte à terme, vous pouvez directement arbitrage de position ouverte simultanée sans attendre le transfert.De la même manière, la monnaie au comptant n'a pas besoin d'être complètement transférée sur les contrats à terme, ce qui est pratique pour la fermeture simultanée des positions.5.Tosurveiller toutes les paires de trading, celle qui a une chance, et celle qui a une prime plus élevée. 6.Le choix des positions à clôturer est très important.Vous pouvez clôturer des positions par niveau; vous pouvez utiliser une prime zéro ou une prime négative pour les clôturer toutes.

Historique des modifications de la prime

En prenant les données de livraison de Binance à titre d'exemple; il existe 9 paires de négociation, à savoir BTCUSDT, ETHUSDT, ADAUSDT, LINKUSDT, BCHUSDT, DOTUSDT, XRPUSDT, LTCUSDT et BNBUSDT, qui peuvent être utilisées pour le trading d'arbitrage.

Depuis le début de cette année (2021), l'ETH a commencé à partir de 600U, et a atteint un maximum de 4000U en mai, puis est tombé à 2000U en juin et juillet, et récemment est revenu à 3500U, ce qui signifie que le marché est en plein essor. Considérez les trois contrats de livraison avec des dates d'expiration de 210625, 210924 et 211231. La prime de 210625 reste à 8% pendant longtemps; si vous commencez l'arbitrage à 10% et fermez des positions à 6%, il y a environ 4 opportunités en 4 mois, et le taux annualisé sera supérieur à 50%.

Les lecteurs peuvent changer la paire de trading par eux-mêmes; la situation est fondamentalement similaire; en général, c'est un bon fuseau horaire de janvier à avril de cette année. Dans [103]: ## la paire de trading actuelle Info = requêtes.obtenirhttps://dapi.binance.com/dapi/v1/exchangeInfo’) les symboles = [s[symbol] pour s dans Info.json() [symbols]] Dans [106]: les symboles_nq = liste(filtre(lambda x:x.split() [-1]==211231, symboles)) #contrat du trimestre suivant les symboles_q = liste ((filtre ((lambda x:x.split))) [-1]==210924, symboles)) #contrat trimestriel les symboles_s = [s.split(_) [0]+T pour s dans les symboles_nq] #paire de négociation au comptant Dans [108]: ,.join ((symboles_s) À l'extérieur [108]: Dans [109]: def GetKlines ((symbole=BTCUSDT,début=2020-8-10,fin=2021-8-10,période=1h,base=fapi,v = v1): Les écailles = Le temps de démarrage = int (time.mktime.datetime.strptime.start, %Y-%m-%d).1000 + 860601 000 personnes Le temps de fin = int ((time.mktime ((datetime.strptime ((fin, %Y-%m-%d).temps à deux fois))))1000 + 860601 000 personnes Le nombre de points de contrôle est le nombre de points de contrôle.1000,h:60601000,d:2460601 000 pendant que le temps de début < le temps de fin: le temps de mise à jour est supérieur ou égal à 1000Int ((période[:-1])Le nombre d'heures d'exécution est calculé en fonction de la fréquence d'exécution de l'opération. url = https://+base+.binance.com/+base+/+v+/klines?symbol=%s&interval=%s&startTime=%s&endTime=%s&limit=1000%(symbol,period,start_time,mid_time) rés = requêtes.get (URL) rés_list = res.json() si type ((res_list) == liste et len ((res_list) > 0: le nombre de points de départ est le nombre de points de départ. Klines += rés_list élif type ((res_list) == liste: le nombre de fois où le système est activéInt ((période[:-1])La période de référence est la période de référence. autres: - Je ne sais pas. df = pd.DataFrame ((Klines,columns=[time,open,high,low,close,amount,end_time,volume,count,buy_amount,buy_volume,null]).astype ((float) L'unité de mesure est la valeur de l'unité de mesure. retour df Dans [110]: le symbole = ETH df_s = GetKlines ((symbol=symbol+USDT,start=2020-12-26,end=2021-9-15,période=1h,base=api,v=v3) df_nq = GetKlines ((symbol=symbol+USD_211231,start=2021-6-26,end=2021-9-15,période=1h,base=dapi) df_q = GetKlines ((symbol=symbol+USD_210924,start=2021-3-26,end=2021-9-15,période=1h,base=dapi) df_lq = GetKlines ((symbol=symbol+USD_210625,start=2020-12-26,end=2021-6-24,période=1h,base=dapi) Dans [128]: #prix au comptant df_s.close.dropna (().plot ((figsize=(16,6),grid=Vrai); À l'extérieur [1]:imgDans [139]: #premium de contrat du dernier trimestre (100 personnes(df_lq.close-df_s.close) /df_s.close).dropna().plot(figsize=(16,6),grid=Vrai); # prime de contrat trimestrielle (100(df_q.close-df_s.close) /df_s.close).dropna().plot(figsize=(16,6), grille=Vrai); #premium de contrat du trimestre suivant (100*(df_nq.close-df_s.close) /df_s.close).dropna().plot(figsize=(16,6),grid=Vrai); À l'extérieur [1]:img

## l'opportunité de négociation actuelle Pour le contrat 210924 va expirer, ici nous observons principalement le contrat 211231, qui a encore trois mois pour expirer. Pour l'instant, la prime de base est d'environ 3%, et la prime la plus élevée est de 5%. Nous pourrions dire que l'opportunité n'est pas très prometteuse. Cependant, après l'expiration du contrat 210924, un nouveau contrat du prochain trimestre sera généré, et il y aura 6 mois pour livrer, ce qui signifie qu'il y aura encore beaucoup d'opportunités.

Dans [143]: df_all = pd.DataFrame ((index=pd.date_range ((début=2021-6-26, fin=2021-9-16, fréquence=1H),colonnes=symbols_s) pour i dans la plage ((len ((symbols_nq)): Le nombre de points d'interrogation est le nombre de points d'interrogation de l'autorité compétente. Le nombre de points de contrôle est le nombre de points de contrôle de l'autorité compétente. df_s = GetKlines ((symbol=symbol_s,start=2021-6-26,end=2021-9-16,période=1h,base=api,v=v3) df_nq = GetKlines ((symbol=symbol_nq,start=2021-6-26,end=2021-9-16,période=1h,base=dapi) df_all[symbol_s] = (100*(df_nq.close-df_s.close) /df_s.close).drop_duplicates() Dans [144]: df_all.dropna (().plot ((figsize=(16,10),grid=Vrai); À l'extérieur [144]:img

Conclusion

Cet article introduit principalement la négociation d'arbitrage en utilisant le rendement de l'écart entre le contrat de livraison et le spot.

1.Faible risque. Comme la position courte avec un effet de levier de 1x ne sera pas liquidée, il n'y a pas de risque même si la prime augmente, et il s'agit d'un arbitrage presque sans risque. Le prix du contrat de livraison reviendra toujours à l'endroit où il était.Après la fin de l'arbitrage, il ne sera pas affecté par les fluctuations actuelles des prix. 3.Le principe de fonctionnement est simple et il peut négocier avec plusieurs symboles de devises, ce qui convient aux fonds relativement importants pour poursuivre des bénéfices stables. 4.Le bénéfice n'est pas faible, et il y aura parfois une forte prime négative.Si vous avez de la chance et que vous maîtrisez le rythme, le bénéfice est très considérable.

Principaux risques: 1.Si la prime augmente pendant une longue période, il y aura une perte flottante pendant une longue période.À ce stade, la clôture des positions et la sortie du marché entraîneront une perte réelle. 2.Faille de l'API de la plateforme; échange à pied unique. 3.La liquidité des contrats de négociation est faible et il existe trop de stratégies du même type, ce qui entraîne un point de glissement excessif et une érosion des bénéfices.


Plus de