Bitcoin (BTC)
Data perbezaan harga: BTC Permanen - BTC Triwulan (dihilangkan pemeriksaan kointegrasi)
Siklus urus niaga: 1 minit
头寸匹配:1:1
Jenis urus niaga: berlainan jenis
Syarat pembukaan perbelanjaan yang berlebihan: Jika akaun semasa tidak memiliki saham dan perbelanjaan < (tingkat perbelanjaan jangka panjang - ambang nilai), maka perbelanjaan berlebihan.
Syarat penukaran harga kosong: Jika akaun semasa tidak memiliki saham dan harga tidak > (tahap harga yang berbeza jangka panjang + ambang nilai), maka harga kosong; iaitu: jual BTC secara kekal, beli BTC suku.
Syarat untuk melakukan perpaduan harga yang lebih tinggi: jika akaun semasa memegang BTC yang lebih tinggi dan memegang BTC yang lebih rendah pada suku, dan perbezaan harga > paras perpaduan jangka panjang, maka perpaduan harga lebih tinggi; iaitu: menjual BTC yang lebih rendah secara berterusan, membeli BTC yang lebih rendah pada suku.
Syarat untuk melakukan pembiayaan perbezaan harga kosong: Jika akaun semasa memegang BTC yang kosong secara kekal dan memegang BTC yang kosong beberapa suku, dan perbezaan harga < tahap perbezaan harga jangka panjang, maka perbezaan harga kosong.
Contohnya:Jika BTC kekal dan BTC pada musim itu mempunyai perbezaan harga yang kekal pada masa yang lama sekitar 35; jika perbezaan harga mencapai 50 pada satu hari, kita menjangkakan perbezaan harga akan kembali ke 35 atau di bawah pada masa akan datang; maka kita boleh menjual BTC kekal dan membeli BTC pada musim itu untuk menghapuskan perbezaan harga ini; sebaliknya, perhatikan bahawa BTC kekal dan BTC pada musim itu akan selalu kembali ke hampir 0 (penghantaran tamat tempoh), jadi perbezaan adalah keutamaan apabila ia positif, melakukan perbezaan harga kosong, dan melakukan perbezaan harga lebih tinggi apabila ia negatif.
:point_right: Jika anda berminat dengan strategi ini, sila +V:Irene11229 (Klik laman web saya, saya akan terus mengemas kini lebih banyak strategi dan juga mendapatkan data analisis pasaran dari beberapa bursa utama)
#!/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)
PengambilAdakah anda mengatakan sebaliknya, harga kekal adalah hampir sama dengan harga sebenar, harga yang lebih besar, pasti harga suku tinggi, bagaimana boleh membeli suku, sepatutnya membeli suku, menjual suku?