Le Bitcoin (BTC) est une monnaie.
Les données sur les écarts de prix: BTC durable - BTC trimestriel (sauf vérification de l'intégrité)
Cycle de négociation: 1 minute
头寸匹配:1:1
Type de transaction: période transversale de la même variété
Conditions d'ouverture d'un déficit: si le compte actuel n'est pas détenu et que le déficit est < (niveau de déficit à long terme - seuil), un déficit est effectué.
Conditions d'ouverture de l'écart de prix: si le compte actuel n'est pas détenu et que l'écart est > (niveau d'écart à long terme + seuil), alors un écart de prix est effectué; c'est-à-dire: vendre BTC en permanence, acheter BTC trimestriellement.
Conditions d'équilibrage des écarts de prix: si le compte actuel détient plusieurs commandes de BTC permanentes et détient des commandes de BTC trimestrielles et que le décalage est supérieur au niveau des écarts de prix à long terme, il y a un décalage de prix équilibré.
Conditions de mise en place de l'écart de prix: si le compte actuel détient des BTC perpétuellement vides et détient plusieurs BTC trimestriels et que l'écart est < niveau d'écart de prix à long terme, il y a un écart de prix; c'est-à-dire: acheter des BTC perpétuellement vides et vendre des BTC trimestriels.
À titre d'exemple:Supposons que la différence de prix entre BTC permanent et BTC saisonnier reste à environ 35 pour la durée. Si une différence de prix atteint 50 un jour, nous prévoyons que la différence de prix reviendra à 35 ou moins à un moment donné dans le futur. Nous pouvons alors vendre BTC permanent et acheter BTC saisonnier pour effacer cette différence.
:point_right: Si vous êtes intéressé par cette stratégie, veuillez +V:Irene11229 (Cliquez sur ma page, je vais continuer à mettre à jour plus de stratégies, ainsi que des données d'analyse de marché de plusieurs des principaux échanges)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json import time from kumex.client import Trade, Market class Hf(object): def __init__(self): # read configuration from json file with open('config.json', 'r') as file: config = json.load(file) self.api_key = config['api_key'] self.api_secret = config['api_secret'] self.api_passphrase = config['api_passphrase'] self.sandbox = config['is_sandbox'] self.symbol_a = config['symbol_a'] self.symbol_b = config['symbol_b'] self.spread_mean = float(config['spread_mean']) self.leverage = float(config['leverage']) self.size = int(config['size']) self.num_param = float(config['num_param']) self.trade = Trade(self.api_key, self.api_secret, self.api_passphrase, is_sandbox=self.sandbox) self.market = Market(self.api_key, self.api_secret, self.api_passphrase, is_sandbox=self.sandbox) def get_symbol_price(self, symbol): ticker = self.market.get_ticker(symbol) return float(ticker['price']) if __name__ == '__main__': hf = Hf() while 1: # ticker of symbols price_af = hf.get_symbol_price(hf.symbol_a) price_bf = hf.get_symbol_price(hf.symbol_b) # position of symbols position_a = hf.trade.get_position_details(hf.symbol_a) position_a_qty = int(position_a['currentQty']) position_b = hf.trade.get_position_details(hf.symbol_b) position_b_qty = int(position_b['currentQty']) # interval of price new_spread = price_af - price_bf print('new_spread =', new_spread) if position_a_qty == position_b_qty == 0 and new_spread < (hf.spread_mean - hf.num_param): buy_order = hf.trade.create_limit_order(hf.symbol_a, 'buy', hf.leverage, hf.size, price_af + 1) print('buy %s,order id =%s' % (hf.symbol_a, buy_order['orderId'])) sell_order = hf.trade.create_limit_order(hf.symbol_b, 'sell', hf.leverage, hf.size, price_bf - 1) print('sell %s,order id =%s' % (hf.symbol_b, sell_order['orderId'])) elif position_a_qty == position_b_qty == 0 and new_spread > (hf.spread_mean + hf.num_param): buy_order = hf.trade.create_limit_order(hf.symbol_a, 'sell', hf.leverage, hf.size, price_af - 1) print('sell %s,order id =%s' % (hf.symbol_a, buy_order['orderId'])) sell_order = hf.trade.create_limit_order(hf.symbol_b, 'buy', hf.leverage, hf.size, price_bf + 1) print('buy %s,order id =%s' % (hf.symbol_b, sell_order['orderId'])) elif position_a_qty > 0 and position_b_qty < 0 and new_spread > hf.spread_mean: buy_order = hf.trade.create_limit_order(hf.symbol_a, 'sell', position_a['realLeverage'], position_a_qty, price_af + 1) print('sell %s,order id =%s' % (hf.symbol_a, buy_order['orderId'])) sell_order = hf.trade.create_limit_order(hf.symbol_b, 'buy', position_a['realLeverage'], position_a_qty, price_bf - 1) print('buy %s,order id =%s' % (hf.symbol_b, sell_order['orderId'])) elif position_a_qty < 0 and position_b_qty > 0 and new_spread < hf.spread_mean: buy_order = hf.trade.create_limit_order(hf.symbol_a, 'buy', position_a['realLeverage'], position_a_qty, price_af - 1) print('buy %s,order id =%s' % (hf.symbol_a, buy_order['orderId'])) sell_order = hf.trade.create_limit_order(hf.symbol_b, 'sell', position_a['realLeverage'], position_a_qty, price_bf + 1) print('sell %s,order id =%s' % (hf.symbol_b, sell_order['orderId'])) time.sleep(60)
le preneurVous voulez dire que c'est le contraire, les prix permanents sont presque les mêmes que les prix actuels, les prix sont plus élevés, c'est certainement le prix élevé du trimestre, comment peut-on acheter le trimestre, devrait-on acheter le trimestre, vendre le trimestre?