Novato, confira Leva-o ao Comércio Quantitativo de Criptomoedas (1)

Autora:Ninabadass, Criado: 2022-04-15 17:32:34, Atualizado: 2022-04-22 14:44:33

Novato, confira Leva-o ao Comércio Quantitativo de Criptomoedas (1)

Com o desenvolvimento da negociação quantitativa de ativos blockchain, mais e mais comerciantes de ativos blockchain reconheceram a ferramenta da negociação quantitativa. Mas como um novo membro deste círculo, você está muito confuso sobre muitos conceitos, confuso por vários termos, software, informações, etc. Este artigo irá levá-lo a entender e familiarizar-se com conceitos comuns, e entender várias informações úteis na negociação quantitativa de ativos blockchain de vários aspectos. Este artigo resume primeiro os conceitos básicos e, em seguida, dá exemplos na plataforma FMZ Quant Trading correspondentes a esses conceitos básicos.

  • Plataforma

    Em primeiro lugar, precisamos entender o conceito de plataforma. Precisamos especular e investir nos ativos blockchain em nossas mãos em plataformas. Existem muitas plataformas atualmente, seniores, emergentes, de grande escala e de pequena escala. Quanto a qual plataforma conduzir negociação programática e quantitativa, é necessário selecionar por si mesmo com base em várias informações.

    • Conta da plataforma Uma conta de plataforma é uma conta registrada e aberta na plataforma. Os ativos blockchain podem ser armazenados nesta conta para negociação.SubcontasA aplicação, o mecanismo e o uso da sub-conta para cada plataforma são diferentes. Você precisa verificar as informações no site da plataforma específica. Ou consulte o serviço ao cliente da plataforma.

      Após entrar com uma conta no site da plataforma, você geralmente pode ver que o lugar onde os ativos blockchain podem ser armazenados é dividido em várias contas (aqui uma conta lógica, não uma conta de plataforma).conta de carteira, Conta de negociação de divisas, Conta de gestão financeira, Conta de negociação de contratosOs detalhes podem variar de plataforma para plataforma. Normalmente, depois de entrar no ativo blockchain (moeda), o ativo está sob uma conta (pode estar em uma conta de carteira ou diretamente em uma conta de negociação de moeda). Portanto, depois de recarregar, você precisa verificar onde estão os ativos e transferir quando precisar transferir (por exemplo, quando precisar negociar futuros).

    • API do sistema de plataforma Muitos estudantes que não usaram a função da plataforma podem perguntar: O que é uma interface API? A interface API é a interface dada por um sistema de plataforma que permite operações de programa. Simplificando, a troca fornece um canal para permitir que programas (bot script) no sistema de plataforma (imagine um determinado mercado de pares de negociação em um site de plataforma) para colocar ordens, cancelar ordens, verificar ordens, ativos e posições da conta, bem como executar outras operações no sistema de plataforma.

      A API da plataforma é dividida em vários tipos de interfaces; geralmente, existemRESTinterfaces de protocolo eWebSocketAs interfaces de protocolo.FIXA documentação dessas interfaces geralmente pode ser encontrada no link com a palavraAPINo fundo do site oficial dessas plataformas. Às vezes, para consultar algumas informações de erro de interface, você ainda precisa verificar a documentação da interface. O sistema de API de cada plataforma é diferente, e as diferenças são relativamente grandes. Para problemas específicos, você precisa verificar sua documentação.

    • Chave API da conta A chave da API da conta deve ser compreendida cuidadosamente, porque isso está relacionado à segurança dos ativos blockchain armazenados na plataforma que você usa. Diz-se que a interface API é um canal, então a API KEY pode ser entendida como opassagemSe houver um canal de acesso, nem todos os programas podem ter acesso, pois é perigoso. Portanto, a verificação é necessária e a API KEY é usada para verificar a identidade. Portanto, a API KEY está relacionada à segurança de seus ativos, por isso deve ser mantida adequadamente.

      Normalmente, o APIKEY de uma plataforma é criado no canto superior direito da página da plataforma, na página de gerenciamento de contas (também pode haver plataformas colocando em outro lugar na página da web, encontre o link com a palavra-chave API e clique para encontrá-lo).access key, e a segunda cadeia é geralmente chamadasecret key. Há também plataformas cuja API KEY também tem outras informações.PassPhrase, que também é de uma cadeia (uma cadeia que precisa ser definida por si mesmo para fortalecer a verificação de segurança). Ao configurar a API KEY, geralmente é necessário definir as permissões dessa API KEY. Geralmente, existem permissões como trade e withdrawal. Deve ser definido de acordo com o propósito da API KEY, e a permissão para retirar moedas precisa ser usada com cuidado. Além das permissões, a API KEY também pode definir uma lista branca de endereços IP. Se você usar um IP diferente desta lista branca de endereços IP (você pode pesquisar no Baidu se não entender o conceito de endereço IP) para acessar a interface, o acesso será negado (isto é, a rede fora da lista branca de IP não pode acessar ou operar sua conta).

    • Objeto de troca O conceito de objecto de troca é o conceito na plataforma de negociação de quantidade FMZ (FMZ.COMEm termos simples, refere-se a um objeto gerado pela encapsulamento da interface da plataforma. Este objeto é exchange nos códigos de estratégia FMZ. Chamando a função exchange.GetTicker, na verdade, chama a interface para acessar os dados do mercado da plataforma. Para mais informações, consulte a documentação da API da FMZ:https://www.fmz.com/api#exchangeUma plataforma pode ter um módulo de futuros e um módulo de spot. Uma vez que o objeto de troca de futuros e o objeto de troca de spot definidos no FMZ são tipos diferentes de objetos de troca, os módulos são distinguidos (o objeto de troca de futuros tem várias funções a mais do que o objeto de troca de spot, como a função de definir a alavancagem e a função de consulta de posições, etc. consulte a documentação da API para mais detalhes).

      Se a estratégia é operar objetos de troca de futuros, adicione futuros, e se você quiser operar objetos de troca spot, adicione spot.

      Na plataforma FMZ, exchange é um objeto de troca, que representa uma conta da plataforma.https://www.fmz.com/api#exchanges

  • Mercado de negociação

    O mercado de negociação mencionado aqui refere-se a uma situação específica do mercado de negociação (imagine uma página de negociação), geralmente negociada em vários módulos.negociação de divisas, negociação de margem à vista, negociação de contratos, etc.

    • Pares de negociação O que nós normalmente queremos dizer por "pares comerciais" é simplesmente o que compramos e vendemos, como quando vamos ao mercado para comprar repolho. dinheiro de repolho é um par de negociação (usando o sotaque " _ " para dividir). Um comprador paga pelo repolho e o vendedor dá o repolho ao comprador para obter o dinheiro.BTC_USDTA operação de venda é pagar BTC para obter USDT. TomarBTC_USDTComo exemplo, normalmente chamamos BTC o símbolo da moeda de negociação e USDT o símbolo da moeda de cotação.

      • Moeda de base
      • Moeda da cotação
    • Espetáculonegociação de divisasenegociação de margem à vistaA negociação à vista só precisa de especificar o montante dopar de negociaçãoDescrever em que mercado é negociado. Por exemplo, quando você o usa no FMZ Quant, se você quiser fazer um par de negociação de troca de BTC para USDT. A moeda de negociação é BTC, e a moeda de cotação é USDT. Usamos a funçãoexchange.SetCurrency("BTC_USDT")na plataforma FMZexchange.SetCurrency("BTC_USDT")para mudar o par de negociação atual para:BTC_USDT.

      Para os alunos que não entendemSetCurrency, pode referir-se a:https://www.fmz.com/api#exchange.setcurrency- Não. Para os alunos que não entendemexchange, pode referir-se a:https://www.fmz.com/api#exchange.

    • Contrato (futures e opções) A negociação de contratos é muito diferente da negociação à vista.crypto-margined contractseUSDT-margined contractsPara negociação programática e negociação quantitativa, é necessário determinar não apenas o par de negociação, mas também o tipo de contrato. Por exemplo, se quisermos negociar com BTC, então existem muitos contratos BTC, incluindo contratos trimestrais (entrega quando expirado a cada trimestre), contratos semanais (entrega quando expirado a cada sexta-feira), contratos perpétuos (não entrega), etc. Então, se apenas um par de negociação for usado para identificação, que tipo de contrato será usado? Desta forma, quando descrevemos em que mercado de contratos negociar, precisamos descrever que símbolo de moeda (pares de negociação) e que tipo de contrato (código de contrato) é.

      • Contrato de criptomoedas com margem Os contratos que usam criptomoeda como margem (como o contrato cripto-marginado BTC, que usa BTC como margem, e o retorno também é BTC), seu retorno também é criptomoeda. Normalmente, a moeda de cotação do par de negociação do contrato cripto-marginado é expressa em USD (não é necessário aprofundar isso, a maioria das plataformas usa para expressar).BTC crypto-margined quarterly contractmercado. Na FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USD")define o par de negociação, e depoisexchange.SetContractType("quarter")O símbolo de negociação actual é o símbolo de negociação de um contrato trimestral.BTC crypto-margined quarterly contract.

      • Contrato com margem em USDT Os contratos que usam USDT como margem (como o contrato perpétuo com margem BTC USDT, que usa USDT como margem, e o retorno também é USDT), seu retorno também é USDT. Normalmente, a moeda de cotação do par de negociação do contrato com margem USDT é expressa em USDT. Portanto, o par de negociação é BTC_USDT, e o contrato é um contrato perpétuo.BTC USDT-margined perpetual contractmercado. Na FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USDT")define o par de negociação, e depoisexchange.SetContractType("swap")Esta é a forma como o símbolo de negociação atualBTC USDT-margined perpetual contract.

    • Ordem O que significa exactamente uma ordem? Uma ordem é o bilhete de ordem que enviamos a uma plataforma quando compramos ou vendemos na plataforma. As ordens são divididas em ordens de mercado, ordens de limite, ordens condicionais, etc. Os atributos mais básicos de uma ordem são: o assunto da ordem (simplesmente, o que comprar ou vender), o valor da ordem (quanto comprar ou vender) e o preço da ordem (a que preço comprar ou vender). Se a ordem seguinte não importa quanto é, só determina o valor a comprar ou vender e o que comprar ou vender, então essa ordem é chamada de ordem de mercado. Claro, também há ordens condicionais (ordens de stop-loss, ordens de iceberg, etc.), que estão relacionadas às plataformas. Algumas plataformas fornecem ordens condicionais e algumas não. Para detalhes, você pode verificar a documentação da API da FMZ.

      • Espetáculo As ordens spot e as ordens de mercado geralmente precisam prestar atenção às ordens de compra. O valor da ordem das ordens de mercado spot de compra não é o valor do símbolo de moeda, mas o valor do dinheiro. Como a ordem de mercado não determina o preço, apenas o valor do dinheiro pode ser usado para determinar quanto comprar. O valor da ordem de mercado de venda é o valor do símbolo de moeda, porque mesmo que o preço seja incerto, o valor dos símbolos de moeda vendidos pode ser determinado.

      • Contrato O valor da ordem de um contrato é especial, geralmente o valor do contrato. A interface de ordem de contrato de uma plataforma é basicamente o valor do contrato, e não há interface que tome o valor do símbolo de moeda como o valor da ordem. Os contratos perpétuos BTC com margem USDT da Binance podem encomendar contratos perpétuos BTC em uma quantidade de 0,01, mas não é o valor do símbolo de moeda, mas o valor do contrato, exceto que um contrato é um BTC. Em termos gerais, independentemente de se tratar de uma ordem de mercado ou de uma ordem de limite, o montante da ordem é o número do montante do contrato.

      • Ordem do tomador e ordem do fabricante Uma ordem de tomada é uma ordem que fornece liquidez. Simplificando, isso significa que o preço atual do mercado é 10 para comprar um e 11 para vender um. Neste momento, eu estou pendente uma ordem de compra com um preço de compra de 9, ou uma ordem de venda com um preço de venda de 12. Então, eu forneço uma ordem para a profundidade no mercado. Esta ordem minha é o fabricante. Ainda este exemplo, se eu colocar uma ordem de compra a um preço de 11; neste momento, minha ordem será negociada com uma ordem de venda a um preço de 11 no mercado. Neste momento, eu tomo uma ordem do mercado, a ordem de compra que eu coloquei naquele momento foi a ordem de tomada.

        Por exemplo, as funções de colocação de ordensexchange.Selleexchange.BuyQuando uma ordem é colocada, a classificação da ordem como tomadora ou fabricante depende do preço da ordem e do mercado atual, e se a ordem fornece liquidez ou reduz liquidez. Quando importar um preço de -1 no FMZ Quant, é para colocar uma ordem de mercado. Observe que o valor da ordem da ordem de compra do mercado à vista é o valor do dinheiro, então a ordem de mercado certamente reduz a liquidez e deve ser uma ordem de tomada.

      • Ordem condicional da plataforma Muitas plataformas também suportam ordens condicionais, tais comoiceberg order, stop loss order, stop profit order, post_only: only place maker order, fok: all executed or canceled immediately, ioc: executed immediately or cancel the rest, etc. Estas ordens podem utilizar oexchange.IOFunção no FMZ Quant para aceder diretamente à interface de ordens da plataforma para especificar os parâmetros a definir (especificar qual ordem condicional a colocar) para colocar uma ordem.exchange.IOFunção, consulte a documentação da API FMZ:https://www.fmz.com/api#exchange.io...

  • Plataforma de negociação quantitativa

    Uma plataforma de negociação quantitativa pode ser considerada como uma ferramenta de negociação quantitativa, pode ser um sistema de software on-line, um site, ou um programa executável local, ou mesmo um projeto de código aberto no GITHUB.

    • Plataforma de negociação quântica FMZ A plataforma FMZ Quant Trading é um sistema distribuído on-line; para o conhecimento da plataforma e tutoriais, você pode consultar:https://www.fmz.com/bbs-topic/4145

    • Sistema de backtest da plataforma de negociação quântica FMZ O que é um sistema de backtest? Simplificando, o sistema de backtest é reproduzir os dados do histórico de um determinado símbolo de negociação, e deixar uma determinada estratégia ser incluída na repetição, e obter o desempenho de negociação da estratégia ao simular a repetição dos dados do histórico.

      FMZ Quant Trading Backtest System (Sistema de teste de retorno de negociação quântica FMZ):

      Nome Tipo Instruções
      Bitfinex Objeto de troca spot Suporte a pares de negociação limitados, tais como: BTC_USD, ETH_USD e LTC_USD, etc. (observe que a moeda de cotação dos pares de negociação é o dólar americano)
      Binance Objeto de troca spot O valor da moeda é o valor da moeda em que a transação é efetuada.
      OKEX Objeto de troca spot O valor da moeda é o valor da moeda em que a transação é efetuada.
      Huobi Objeto de troca spot O valor da moeda é o valor da moeda em que a transação é efetuada.
      OKEX Futures Objeto de troca de futuros apoiando pares de negociação limitados, tais como: BTC_USD e ETH_USD, etc.; a moeda de cotação dos pares de negociação é USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; os códigos de contrato suportados incluem: this_week, next_week, quarter e swap
      HuobiDM Objeto de troca de futuros HuobiDM é Huobi Futures (Huobi Contract), suportando pares de negociação limitados, como: BTC_USD e ETH_USD, etc.; a moeda de cotação dos pares de negociação é USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; os códigos de contrato suportados incluem: this_week, next_week, quarter e swap.
      BitMEX Objeto de troca de futuros o par de negociação é XBT_USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; o código de contrato suportado é: XBTUSD
      Binance Futures Objeto de troca de futuros apoiando pares de negociação limitados, tais como: BTC_USDT e ETH_USDT, etc.; a moeda de cotação dos pares de negociação é USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato com margem USDT; o código de contrato suportado é swap
      Opções derivadas Objeto de troca de futuros Os pares de negociação são: BTC_USD e ETH_USD; após a definição do código do contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; devem ser definidos os códigos do contrato de opções específicos
    • API KEY da negociação quantitativa Todas as plataformas têm interfaces API, e a plataforma de negociação quantitativa também tem interfaces API.extended APIAlgumas funções da plataforma FMZ podem ser operadas programaticamente. Por exemplo, adicionar bots em lotes, iniciar bots em lotes, modificar a configuração de bots em lotes, etc. Para mais detalhes, consulte:https://www.fmz.com/api#fmz平台扩展api- Não. A API estendida também pode ser usada para fazer algo interessante, por exemploUse a API estendida no FMZ Quant para realizar TradingView Alert Signal Trading

  • Programação do script de negociação

    O que exatamente é controlar automaticamente a minha conta de plataforma para negociação? A plataforma de negociação em tempo real FMZ Quant é uma plataforma de negociação em tempo real que permite a criação de estratégias de negociação em tempo real em JavaScript, Python e C ++. Estes programas de script realizam várias operações, como compra e venda de uma conta através das interfaces API da plataforma.

    • O dispositivo em que o script de negociação programado é executado Um programa de script de bot deve ter um portador de dispositivo (em suma, o bot deve ter um lugar para ele funcionar). O comércio quantitativo no círculo de criptomoedas geralmente implanta um programa de bot no servidor Alibaba Cloud em Hong Kong (é claro, você também pode usar servidores de outros lugares, outros operadores).timeoutserão notificados. No FMZ Quant, você geralmente pode implantar seu próprio programa de software no servidor Alibaba Cloud em Hong Kong (o software de porta bot do FMZ Quant é chamado Docker, e um bot de negociação quantitativa é executado com base no software docker).

      • Sistema do dispositivo Vários sistemas operacionais, como windows/Linux/MAX OS/ARM Linux, etc., são selecionados de acordo com scripts de bot. No FMZ Quant, o servidor do sistema Linux é comumente usado. O uso do sistema Linux na verdade não é complicado. Para o uso simples, você só precisa dominar alguns comandos. Estes são explicados nos tutoriais no FMZ.
    • Opções de linguagem de script Há tantas linguagens de programação, e basicamente todas elas podem ser usadas para escrever os programas de script de bots. Aqui também vamos tomar FMZ Quant Trading Platform como um exemplo para fazer você entender as vantagens de várias linguagens.

      • JavaScript É simples e fácil de usar, quase sem dependência do ambiente do dispositivo, e suporta o padrão ES6.

      • Python Python depende do ambiente do dispositivo até certo ponto, e várias bibliotecas podem ser instaladas, por isso sua extensibilidade é forte. (é recomendado para estudantes que estão familiarizados com a plataforma FMZ e familiarizados com Python).

      • C++ As estratégias de C ++ têm a velocidade de execução mais rápida, a maior eficiência, e também é mais difícil de usar. Depois de dominar a língua, você vai descobrir os outrosso easy!

      • Mylanguage Mylanguage suportado pelo FMZ é apenas para os comandos mais básicos.

        • Mylanguage é aplicável para escrever algumas estratégias de tendências
        • Quando um sinal de negociação aparece em Mylanguage e um comando de negociação é executado, ele só pode colocar ordens de tomador e não suporta ordens de fabricante.
        • O Mylanguage é adequado para a estratégia de fazer pedidos com um único objeto de troca (apenas um objeto de troca pode ser controlado; embora o FMZs Mylanguage suporte a portação de código JS, é um pouco difícil para iniciantes, por isso não será estudado temporariamente).
        • A linguagem Mylanguage só é adequada para estratégia de símbolo único, e é recomendável usar JavaScript, Python e C++ para o design de estratégia de símbolos múltiplos.
        • Informações relacionadas com o uso de linguagem local na FMZ:https://www.fmz.com/digest-topic/5789 https://www.fmz.com/digest-topic/5768
      • Módulo de visualização Estratégia combinada Criar estratégias de forma visual é apenas para interesse, melhoria e compreensão da lógica do programa. Pode ser usado para criar alguma lógica simples, mas não é adequado para projetar uma estratégia ligeiramente complicada, porque é difícil de manter e estender, e mais difícil de projetar lógica complexa.


Mais.