Discussão do artigo "Uma abordagem científica para o desenvolvimento de algoritmos de negociação"

 

Novo artigo Uma abordagem científica para o desenvolvimento de algoritmos de negociação foi publicado:

O artigo considera a metodologia para o desenvolvimento de algoritmos de negociação, na qual uma abordagem científica consistente é usada para analisar os possíveis padrões de preços e para construir algoritmos de negociação com base nesses padrões. Os ideais de desenvolvimento são demonstrados por meio de exemplos.

Os testes foram realizados no período de 01/01/2018 a 28/07/2020, no período M1, utilizando o modo tick real. Os parâmetros não foram otimizados porque eu quero mostrar que não pode haver necessidade de otimizar um algoritmo totalmente preparado para cada par de moedas. Nós mudaremos o tamanho do bloco, o tamanho mínimo do bloco e o lote, em um esforço para a obtenção do lucro que exceda significativamente o valor da comissão.



Figura 7.

Para o EURUSD, como esperado, o spread e o delta levaram todo o lucro que deveríamos ter obtido da tendência do ativo. Como resultado, o retorno esperado é de -$1.67 por negociação. O lote foi alterado dinamicamente, dependendo do tamanho do bloco, com um lote médio igual a 0.078. Vamos tentar entender de onde vem a perda. O robô registra as informações sobre o spread. O spread médio durante a abertura e fechamento da posição é de 0.00008. Nós pagamos $159.76 de swap e abrimos 614 posições. Portanto, o swap médio por posição foi de 159.76/614=$0.2602.

Se o spread médio for 0.00008 e o lote médio for 0.078, 1 pip de EURUSD com um lote de 0.078 é igual a $0.078 e, portanto, o spread custa 0,078*8=$0.624. No total, a comissão é igual a $0.624+$0.2602=$1.104. Se nós estivéssemos perdendo uma comissão em cada negócio, o retorno esperado seria de -$1.104, mas é de $1.67, o que é $0.566 a mais. O tamanho mínimo do bloco é definido como 0.002 nas configurações, portanto, fazendo $15.6 para um lote médio de 0.078. Vamos estimar aproximadamente a mudança do saldo negativo se o gráfico de saldo fosse um passeio aleatório e o tamanho do bloco fosse sempre mínimo. Ele é calculado como 15.6*(614^0.5)=$386.55. Agora, somamos a comissão média por negociação multiplicada pelo número de negociações. 1.104*614+386.55=$1064.406.

O valor é igual a $1064.406, o que significa o rebaixamento médio do gráfico de saldo se a probabilidade de abertura da posição na direção certa for 50% e uma comissão for paga para cada posição aberta. Na verdade, nós obtemos um prejuízo de $1027.45, que está próximo desse valor. Nós podemos concluir que nós tivemos uma perda, porque o retorno esperado do nosso algoritmo é zero para o EURUSD. 

Vamos ver os resultados das ações da AAPL com mais tendência. O resultado é mostrado na Figura 8 abaixo.



A figura 8

Autor: Maxim Romanov

 
Aprecio seus artigos por suas introduções cristalinas - são raras as obras-primas de compreensão da essência da questão, mas você é constantemente observado.

Lembro-me de ter encontrado um padrão simples no mercado de futuros, que oferecia uma probabilidade de ganho de aproximadamente 50%. Quase todas as sessões, na abertura, o preço se movia bruscamente para comprar ou vender, e só era necessário escolher a direção. Era impossível prever, mas era possível adivinhar, e o próprio fato de um salto na abertura da sessão era previsto com confiança pelo nível de volumes pré-mercado. Essas conclusões foram confirmadas estatisticamente. No caso de um erro na escolha da direção, era necessário simplesmente sair até o dia seguinte e não negociar mais. O uso dessa estratégia foi bem-sucedido, mas depois de algum tempo os movimentos bruscos na abertura da sessão pararam.

De fato, os padrões existem nas condições de uma sessão e de um determinado ativo, embora a probabilidade de entrar neles nunca seja uma constante e o período de uso seja temporário. Ou seja, os padrões têm um "prazo de validade" no mercado.


 
Реter Konow:
Aprecio seus artigos para as apresentações de cristais - obras-primas de percepção são raras, mas as suas são observadas de forma consistente.

Lembro-me de ter encontrado um padrão simples no mercado de futuros, que oferecia cerca de 50% de probabilidade de ganho. Quase todas as sessões, na abertura, o preço se movia bruscamente para comprar ou vender, e só era necessário escolher a direção. Era impossível prever, mas era possível adivinhar, e o próprio fato de um salto na abertura da sessão era previsto com confiança pelo nível de volumes pré-mercado. Essas conclusões foram confirmadas estatisticamente. No caso de um erro na escolha da direção, era necessário simplesmente sair até o dia seguinte e não negociar mais. O uso dessa estratégia foi bem-sucedido, mas depois de algum tempo os movimentos bruscos na abertura da sessão pararam.

De fato, existem padrões nas condições de uma sessão e de um ativo específico, embora a probabilidade de entrar neles nunca seja uma constante e o período de uso seja temporário. Ou seja, as regularidades têm um "prazo de validade" no mercado.


Portanto, não escrevi à toa, se você gostou.

Sim, os padrões têm um prazo de validade, uma das opções é criar um algoritmo que os procure em tempo real.... Eu tinha um grande projeto, mas era muito complicado, então o engavetei.

 
Este é o segundo artigo que leio que não foi lido na "diagonal". Muito interessante. Vi algumas ideias valiosas para mim, que definitivamente usarei em meus próprios desenvolvimentos.
 
Maxim Romanov:

Portanto, você está escrevendo por um motivo, se gosta.

Sim, os padrões têm um prazo de validade, uma das opções é criar um algoritmo que os procure em tempo real.... Eu tinha um grande projeto, mas era muito complicado, então o engavetei.

Gostaria de saber qual era esse projeto?

 

no texto

Торговый алгоритм будет следовать напрямую из формулы для определения матожидания прибыли:

m=(P(tp)*tp)-(P(sl)*sl)

há uma vaga dúvida em minha mente de que não se trata de uma matriz de expectativa.

 
Maxim Kuznetsov:

no texto

há uma vaga dúvida em minha mente de que não se trata de uma matriz de expectativa.

Por quê? Por favor, comente, talvez eu tenha cometido um erro em algum lugar

 
Aliaksandr Hryshyn:

Eu me pergunto, e qual é o projeto?

Eu queria criar um algoritmo que aprendesse em tempo real. Em essência, uma vida artificial, apenas para mercados financeiros, em que o alimento para os indivíduos será o lucro, que eles poderão extrair analisando as regularidades intra e intermercados. Tudo deve funcionar em tempo real, sem aprender com a história. Ou seja, você pode aprender com o histórico, mas, na verdade, todo o trabalho é em tempo real com base nos negócios realizados. Não coloque no algoritmo nenhum conhecimento sobre o mercado, mas dê a ele o máximo de oportunidade e liberdade em seu desenvolvimento. Isso é muito breve.

 
Maxim Romanov:

Por quê? Por favor, comente sobre isso, talvez eu esteja errado em algum lugar

Estou um pouco bêbado agora e não consigo fazer uma pesquisa completa.

mas é algo como "lucratividade média".

De imediato, verificando as fórmulas - a expectativa de probabilidade inclui a probabilidade com grau -1 e é medida em T (os mesmos valores que estão no eixo X). A dimensionalidade não corresponde, e as probabilidades estão erradas.

 
Maxim Romanov:

Eu queria criar um algoritmo que aprendesse em tempo real. Em essência, uma vida artificial, apenas para mercados financeiros, em que o alimento para os indivíduos será o lucro, que eles poderão extrair analisando as regularidades intra e intermercados. Tudo deve funcionar em tempo real, sem aprender com a história. Ou seja, você pode aprender com o histórico, mas, na verdade, todo o trabalho é em tempo real com base nos negócios realizados. Não coloque no algoritmo nenhum conhecimento sobre o mercado, em vez disso, dê a ele o máximo de oportunidade e liberdade em seu desenvolvimento. Isso é muito breve.

É engenhoso, mas MUITO caro, pois enquanto o algoritmo estiver aprendendo, ele perderá muito dinheiro...

É claro que você pode treinar na demonstração, mas quem disse que quando entramos no mercado de verdade, ele não muda? ;)
 

Maksim, você merece muito respeito por sua coragem de explorar a natureza complexa dos mercados!

Eu mesmo notei que o autor é matemático e coopera com um programador para implementar os algoritmos propostos. Acho que é mais fácil resolver problemas complexos dessa forma...

Os tópicos abordados são muito interessantes, portanto, continue assim!