Strategi penawaran jangka panjang frekuensi tinggi

Penulis:Ayolah, Si Manis., Tanggal: 2020-05-12 21:55:43
Tag:

Penjelasan Strategi

Tanda perdagangan: Bitcoin (BTC)

Data perbedaan harga: BTC Permanen - BTC Triwulan (dihilangkan tes kointegrasi)

Siklus transaksi: 1 menit

头寸匹配:1:1

Tipe transaksi: periode transgenik

Kondisi trading over-deferred: Jika akun saat ini tidak memiliki saham, dan harga over-deferred < (level over-deferred - threshold), maka trading over-deferred dilakukan.

Kondisi penarikan harga lepas: Jika akun saat ini tidak memiliki saham, dan harga lepas > (tingkat harga lepas jangka panjang + ambang nilai), maka harga lepas dilakukan.

Kondisi penyeimbangan over-deficit: jika akun saat ini memiliki BTC yang beredar dan memiliki BTC kosong per kuartal, dan harga over-deficit > level over-deficit jangka panjang, maka over-deficit akan terjadi.

Jika akun saat ini memiliki BTC permanen kosong, dan memiliki lebih dari satu BTC per kuartal, dan perbedaan harga

Contoh:Jika BTC permanen dan BTC musiman memiliki perbedaan harga sekitar 35 untuk jangka panjang. Jika perbedaan harga mencapai 50 hari, kita mengharapkan perbedaan harga kembali ke 35 atau di bawahnya di masa depan. Maka kita dapat menjual BTC permanen dan membeli BTC musiman untuk menghapus perbedaan harga. Sebaliknya, perhatikan bahwa BTC permanen dan BTC musiman selalu akan kembali ke dekat nol (pengiriman akhir), jadi prioritas saat perbedaan positif, lakukan perbedaan harga kosong, dan prioritaskan harga yang lebih tinggi ketika harga negatif.

Cara Menghubungi

:point_right: Jika Anda tertarik dengan strategi ini, silakan +V:Irene11229 (Klik di halaman saya, saya akan terus memperbarui lebih banyak strategi dan juga mendapatkan data analisis pasar 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)

Lebih banyak

PengambilApakah Anda mengatakan sebaliknya, harga permanen hampir sama dengan harga langsung, harga yang lebih besar. Pasti harga tinggi kuartal, bagaimana bisa membeli kuartal, seharusnya membeli permanen, menjual kuartal.