3.5 Visual linguagem de programação implementação de estratégias de negociação

Autora:Bem-estar, Criado: 2019-04-25 12:21:22, Atualizado: 2019-04-27 11:53:56

Resumo

Na seção anterior, aprendemos sobre a introdução e as características da ferramenta de programação visual, o exemplo "hello world" e a escrita de estratégia na plataforma de negociação FMZ Quant para explicar a premissa da implementação da estratégia de negociação.

Módulo de Estratégia

Incremento de estágio

1, a porcentagem de fase rasagem K-linha é calculada pelo preço de fechamento da linha atual K com a diferença do preço de fechamento anterior de N períodos.

img

No código acima, a maneira como um computador executa a estratégia requer um ciclo completo, por exemplo, para calcular o último incremento de estágio de linha de 10 k, você precisa ser dividido nas seguintes etapas:

1, o computador deve saber claramente que tipo de período de linha k você deseja negociar.

2, Depois de definir o código do contrato, você pode obter os dados da linha K do contrato.

3, com os dados da linha K, você pode obter dados detalhados de qualquer linha K específica a partir dele.

4, A fim de obter os dados estatísticos do incremento de estágio, deve primeiro obter dois preços de fechamento da linha K, por exemplo: os dados do preço de fechamento da linha k anterior e os dados do preço de fechamento da linha k anterior.

5, Finalmente, calcular o incremento da etapa a partir destes dois preços de fechamento da linha K.

Cada uma das seguintes estratégias terá uma declaração lógica tão clara como acima, depois de entender a declaração lógica, a programação visual torna-se muito mais fácil.

Aumento dos preços com um aumento maciço do volume de negociação

Por exemplo: se o preço de fechamento da linha K atual for 1,5 vezes o preço de fechamento das 10 linhas K anteriores, o que significa que em 10 dias, o preço aumentou 50%; e o volume de negociação também aumentou mais de 5 vezes das 10 linhas K anteriores. pode ser escrito:

img

Salto da diferença de preços

A diferença de preço é o caso em que os preços mais altos e mais baixos das duas linhas K não estão conectados. Consiste de duas linhas K, e a diferença de preço é o preço de referência dos pontos de suporte e pressão no movimento de preços futuro. Quando ocorre uma diferença de preço, pode-se assumir que uma aceleração ao longo da tendência com a direção original começou. pode ser escrito:

img

Indicadores comuns de análise técnica

  • Média móvel

img

A média móvel é a média aritmética do preço diário, que é uma trajetória de preços de tendência. O sistema de média móvel é uma ferramenta técnica comum usada pela maioria dos analistas. Do ponto de vista técnico, é um fator que afeta o preço psicológico dos analistas técnicos.

img

  • Indicador MACD

img

O indicador MACD é uma operação de dupla suavização usando médias móveis rápidas (a curto prazo) e lentas (a longo prazo) e sua agregação e separação. O MACD desenvolvido de acordo com o princípio das médias móveis elimina o defeito de que a média móvel frequentemente emite sinais falsos e também mantém o efeito do outro bom aspecto. Portanto, o indicador MACD tem a tendência e a estabilidade da média móvel.

img

  • Indicador KDJ

O indicador KDJ é um indicador técnico usado para analisar e prever mudanças nas tendências de ações e padrões de preços em um ativo negociado.

O KDJ é uma forma derivada do indicador do oscilador estocástico com a única diferença de ter uma linha extra chamada linha J. Os valores das linhas %K e %D mostram se o título está sobrecomprado (acima de 80) ou sobrevendido (abaixo de 20).

img

Escrever estratégias

O mentor de Warren Buffett, Benjamin Graham, uma vez mencionou no livro "O Investidor Inteligente" um modelo de negociação em que ações e títulos são dinamicamente equilibrados.

img

  • Este modelo de negociação é muito simples:

50% dos fundos em mãos são investidos em fundos de ações e os 50% restantes são investidos em fundos de obrigações, ou seja, ações e obrigações representam metade.

Um reequilíbrio das posições de activos baseado em intervalos fixos ou em alterações do mercado restabelece a relação entre os activos de acções e os activos de obrigações a um nível inicial de 1:1.

Esta é toda a lógica de toda a estratégia, incluindo quando comprar e vender, e quanto comprar e vender.

No 2

Neste método, a volatilidade dos fundos de obrigações é na verdade muito pequena, muito inferior à volatilidade das acções, pelo que as obrigações são aqui utilizadas como ancoras de referência, ou seja, utilizam-se obrigações para medir se as acções estão a subir demasiado ou demasiado pouco.

Se o preço da ação subir, o valor de mercado da ação será maior do que o valor de mercado da obrigação. Quando a relação do valor de mercado desses dois exceder o conjunto de um limiar, a posição total será reajustada, a ação será vendida e a obrigação será comprada para que o valor da ação para a relação do valor da obrigação para restaurar ao inicial 1: 1.

img

Por outro lado, se o preço das ações cair, o valor de mercado das ações será menor do que o valor de mercado da obrigação. Quando a relação do valor de mercado destas duas exceder o conjunto de um limiar, a posição total será reajustada, a ação será comprada e a obrigação será vendida para fazer a relação de capitalização de mercado do valor da obrigação para o valor da ação para restaurar o inicial 1: 1.

Desta forma, a relação entre o equilíbrio dinâmico de ações e títulos é suficiente para desfrutar do lucro do crescimento das ações e reduzir a volatilidade dos ativos.

Uma vez que esta é uma estratégia completa e mútua, por que não a usamos no mercado de criptomoedas?

No 3

  • Atividades Blockchain Estratégia de Balanço Dinâmico em BTC

Estratégia lógica

De acordo com o valor atual do BTC, o saldo da conta é mantido em US $ 5000 em dinheiro e 0,1 BTC, ou seja, a relação inicial de dinheiro para o valor de mercado do BTC é de 1: 1.

Se o preço do BTC subir para $6000, ou seja, o valor de mercado do BTC é maior que o saldo da conta, e a diferença entre eles excede o limite estabelecido, então (6000-5000)/6000/2 moedas são vendidas.

Se o preço do BTC cair para $ 4000, ou seja, o valor de mercado do BTC é menor do que o saldo da conta e a diferença entre eles excede o limiar definido, compre (5000-4000)/4000/2 moedas.

Desta forma, independentemente de o BTC ser apreciado ou depreciado, o saldo da conta e o valor de mercado do BTC são sempre mantidos dinamicamente iguais.

  • Condições de compra: se o valor de mercado da posição corrente menos o saldo disponível corrente for inferior a 5% do saldo disponível corrente, abrir a posição para compra.

  • Condições de venda: se o valor de mercado da posição corrente menos o saldo disponível corrente for superior a 5% do saldo disponível corrente, abrir a posição para vender.

Requisito prévio

  • Cotação de mercado corrente

  • Ativos correntes

  • Valor de mercado total das moedas

  • A diferença de valor do dinheiro fiduciário e moedas

Construção de estratégias

  • Programação visual Passo 1

Calculamos as quatro condições premissas acima, e atribuí-los a cada variável diferente. o bloco de código é assim:

img

Observe que o valor total das moedas é o valor total de mercado das moedas que a posse atual. O método de cálculo é que o número total atual de posições é multiplicado pelo último preço. A diferença nos ativos é o valor total de mercado das moedas menos o saldo disponível atual.

  • Programação visual Passo 2

Após a atribuição condicional pré-requisito é concluída, você precisa escrever a lógica de negociação.

Isto é, se o valor de mercado da posição corrente menos o saldo disponível atual for inferior a 5% do saldo disponível atual, abrir a posição para comprar.

img

Toda a estratégia parece ter sido escrita, mas esteja ciente de que o programa é executado de cima para baixo e pára após a execução.

Em outras palavras, o programa precisa verificar constantemente se as condições da estratégia foram alcançadas, e se for, executar a lógica, caso contrário, ele continuará a verificar.

img

Backtest da estratégia

A estratégia de programação visual não é fundamentalmente diferente das estratégias escritas em outras linguagens de programação.

img

A fim de cuidar das pessoas que ainda estão confusas, esta estratégia foi compartilhada na página da FMZ Quant Strategy Square e pode ser copiada diretamente para o seu painel.

Fim

A lei das 10.000 horas (Para ser um profissional em determinado trabalho) sempre existe, mas para um trader baseado em zero, é impossível gastar 10.000 horas para pesquisar um novo campo.

Com a programação visual, você não precisa lembrar a escrita gramatical da linguagem de programação tradicional quando usa os módulos de função. A plataforma FMZ Quant destina-se a ajudar mais traders quantitativos a reduzir a barreira de entrada e aumentar seus interesses.

No entanto, a programação visual como um trampolim para a entrada quantitativa é completamente aceitável, mas também tem suas próprias limitações, como a incapacidade de desenvolver estratégias de negociação excessivamente complexas e excessivamente refinadas.

Anúncio da secção seguinte

A partir do profissionalismo da negociação quantitativa, seja a linguagem M ou a programação visual, todas elas são apenas uma linguagem de transição que entra no mundo da negociação quantitativa. Suas características linguísticas determinam as limitações no desenvolvimento de estratégias de negociação, uma série de estratégias complexas são menos prováveis de serem alcançadas. As seções a seguir mostrarão como aprender a linguagem JavaScript, é uma linguagem de programação formal de alto nível, é o caminho que você segue para a negociação quantitativa sênior.

Exercícios após a escola

  1. Tente implementar indicadores de Bandas de Bollinger na programação visual.

  2. Tente completar uma estratégia de negociação usando o módulo de negociação nesta seção.


Mais.