Las estrategias de las altas frecuencias a largo plazo

El autor:¡Vamos, el pequeño hechicero!, Fecha: 2020-05-12 21:55:43
Las etiquetas:

Las estrategias

El precio de la transacción es el mismo que el precio de la transacción.

Datos de diferencia de precios: BTC perdurable - BTC trimestral (excluida la comprobación de la coherencia)

Ciclo de operaciones: 1 minuto

头寸匹配:1:1

Tipo de transacción: entre variedades

Si la cuenta actual no tiene un activo y el valor de la diferencia es < (nivel de diferencia a largo plazo - el umbral), entonces se compra BTC permanentemente y se vende BTC trimestralmente.

Si la cuenta actual no tiene un activo y el diferencial es > (nivel de diferencial a largo plazo + umbral), el diferencial será abierto; es decir, vender BTC permanentemente y comprar BTC trimestralmente.

Si la cuenta actual tiene varios pedidos de BTC permanentes y tiene un pedido de BTC vacante por trimestre, y el diferencial > el nivel del diferencial a largo plazo, el diferencial es igual. Es decir: vender BTC permanentemente y comprar BTC por trimestre.

Condición de liquidación de diferencia de precio: si la cuenta actual tiene BTC permanentemente vacío y tiene varios pedidos de BTC trimestrales, y el diferencial es

Por ejemplo:Supongamos que la diferencia de precio entre BTC perenne y BTC de temporada se mantiene a largo plazo en torno a los 35; si un día de diferencia de precio alcanza los 50, esperamos que la diferencia de precio regrese a 35 o menos en el futuro; entonces se puede vender BTC perenne y comprar BTC de temporada para cubrir la diferencia.

Cómo contactarse

:point_right: Si está interesado en esta estrategia, por favor +V:Irene11229 (Haga clic en mi página web, donde voy a seguir actualizando más estrategias, y también para obtener datos de análisis de mercado de algunos de los principales mercados)


#!/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)

Más.

el tomador¿Estás diciendo lo contrario, los precios permanentes son casi los mismos que los precios actuales, los precios son más altos, los precios deben ser más altos por trimestre, ¿cómo se puede comprar por trimestre, se debe comprar por trimestre, vender por trimestre?