English Русский 中文 Español Deutsch 日本語
preview
Teoria das Categorias em MQL5 (Parte 5): Equalizadores

Teoria das Categorias em MQL5 (Parte 5): Equalizadores

MetaTrader 5Testador | 17 julho 2023, 10:37
202 0
Stephen Njuki
Stephen Njuki

Introdução

Este é o quinto artigo da nossa série sobre a implementação da teoria de categorias em MQL5. No artigo anterior, exploramos como os conceitos de intervalos, experimentos e composições poderiam ser utilizados na definição de estratégias de saída de negociações. Neste artigo, exploraremos a implementação de equalizadores em MQL5, usando as bases que estabelecemos no artigo anterior, para possivelmente melhorar o exemplo compartilhado sobre a saída de negociações. Veremos como os equalizadores são usados na teoria de categorias para comparar e relacionar diferentes morfismos e como isso pode ser aplicado às estratégias de negociação para otimizar o desempenho. Um possível guia sobre como essas ideias podem ser aproveitadas ainda mais para resultados mais precisos será compartilhado no final.


Equalizadores

Na teoria das categorias, um equalizador é definido como um domínio em uma categoria que representa o "comportamento comum" de um par (ou mais) de morfismos paralelos entre 2 domínios. Mais precisamente, dados dois morfismos paralelos (f, g): A --> B, o equalizador de f e g é um domínio E na categoria que satisfaz as seguintes condições:


  1. Existe um morfismo e: E --> A tal que f . e = g. e.
  2. Para qualquer outro domínio X (não indicado acima) com morfismo h: X --> A tal que f . h = g. h, existe um único morfismo u: X --> E tal que h = e . u.

Intuitivamente, o equalizador é o subdomínio de A de "tamanho ótimo" que mapeia para A e B através do par de morfismos f e g, capturando o "comportamento comum" de f e g no sentido de que apenas os elementos de A que mapeiam para elementos similares em B são incluídos em E. Isso significa que qualquer outro domínio, similar a E, que mapeia para A e B através de f e g pode ser fatorado através de E (composto) por meio de um morfismo único.

As relações de equivalência satisfazem pelo menos uma das três propriedades; reflexividade, simetria e transitividade. Essas definições atuam como classificadores de equivalência. Elas tentam responder às perguntas: De que maneira os domínios são equivalentes? Ou como seria descrita a relação deles? Vamos tentar vê-los do ponto de vista dos traders. (A notação x R y significa que x tem uma relação R com y).

1.     Uma relação R em um conjunto A é reflexiva se e somente se para cada elemento a em A, a R a, ou seja, cada elemento está relacionado a si mesmo.

Exemplos:

  • O sorriso de volatilidade apresenta uma relação de equivalência reflexiva no mercado Forex porque é simétrico em torno do preço de exercício no dinheiro (at-the-money, ATM), que é igual à taxa forward do par de moedas. Por exemplo, se o preço de exercício ATM para o par de moedas USD/EUR é 1,10, então o sorriso de volatilidade é simétrico em torno do preço de exercício 1,10. Então, temos preço-de-exercício R preço-à-vista.
  • Não há muitos exemplos significativos de relações reflexivas, mas um adicional óbvio que podemos olhar são as taxas de câmbio. Cada moeda está relacionada a si mesma através de sua taxa de câmbio, que é sempre igual a 1. Por exemplo, a taxa de câmbio de USD para USD é sempre 1. Isso implica taxa-USD R taxa-USD. 

2. Uma relação R em um conjunto A é simétrica se e somente se para cada par de elementos, a e b em A, se a R b, então b R a. Em outras palavras, se a está relacionado a b, então b está relacionado a a.

Exemplo:

  • Dois pares de moedas são equivalentes simetricamente se representam a mesma taxa de câmbio, mas estão em direções opostas. Por exemplo, os pares EUR/USD e USD/EUR são equivalentes simetricamente, pois ambos representam a taxa de câmbio entre o Euro e o Dólar Americano, mas um é cotado em Euro, enquanto o outro em USD. Então aqui temos EUR/USD R USD/EUR.
  • Posições longas e curtas são conceitos equivalentes simetricamente. Uma posição longa envolve a compra de uma moeda com a expectativa de que seu valor aumentará, enquanto uma posição curta envolve a venda de uma moeda com a expectativa de que seu valor cairá. Essas duas posições são equivalentes simetricamente porque representam perspectivas opostas sobre a mesma taxa de câmbio.

3. Uma relação R em um conjunto A é transitiva se e somente se para cada trio de elementos: a, b e c em A, se a R b e b R c, então a R c. Dito de outra forma, se a está relacionado a b e b está relacionado a c, então a está relacionado a c transitivamente.

Exemplo:

  • No mercado Forex, a paridade da taxa de juros é uma teoria que sugere que a taxa de câmbio entre duas moedas deve refletir a diferença nas taxas de juros entre os dois países. Se a moeda A tem uma taxa de juros mais alta do que a moeda B, e a moeda B tem uma taxa de juros mais alta do que a moeda C, então a moeda A deve ter uma taxa de juros mais alta do que a moeda C. Este é um exemplo de equivalência transitiva.
  • No mercado Forex, a negociação Fibonacci envolve o uso de razões matemáticas para identificar potenciais níveis de suporte e resistência nos preços das moedas. Se um par de moedas retrai 38,2% de seu movimento anterior, e então retrai 50% dessa retração, então é provável que o par de moedas continue a retração para o nível de 61,8%. Este é um exemplo de equivalência transitiva.

Os equalizadores são revolucionários porque fornecem uma ferramenta poderosa para analisar e otimizar sistemas complexos. Eles permitem a comparação de diferentes títulos, estratégias de negociação e carteiras, e podem ser usados para garantir a conformidade com requisitos regulatórios. O uso de equalizadores na negociação de títulos poderia mudar a negociação na indústria, permitindo que os traders e investidores tomem decisões mais informadas e gerenciem o risco de forma mais eficaz.

A demonstração mais simples disso, para o nosso artigo, será um indicador que faz previsões. A partir de nossa definição acima, teremos não um, mas dois morfismos dele. Podemos chamar a primeira de nossa hipótese e a segunda de resultados do teste. Vamos tomar o ATR como nosso indicador e prever a mudança na faixa de preço. Isso significa que nosso domínio A será os valores do ATR, (que podemos normalizar para serem mudanças no ATR) enquanto o codomínio será mudanças entre o máximo e o mínimo da barra de preço.

A hipótese, a primeira de dois morfismos, simplesmente mapeia os valores dos indicadores para o que eles devem ser, de acordo com a teoria e o entendimento acadêmico de como o indicador funciona. No nosso caso, como estamos usando o ATR e queremos que ele faça previsões para mudanças no intervalo, nossa hipótese poderia ser algo como 'uma mudança negativa no ATR se transforma em uma mudança negativa no intervalo da barra e, inversamente, uma mudança positiva no ATR se transformaria em uma mudança positiva no intervalo de preço'. Como você pode ver, a hipótese é isomórfica.

Os valores de ambas as mudanças do ATR e da mudança do intervalo de preço são normalmente em pontos e isso significa que eles precisam ser normalizados. Se usássemos porcentagens, seria mais fácil fazer a transformação, já que, por exemplo, uma queda de 20% no ATR pode ser facilmente transformada em uma queda de 20% no intervalo de preço. Se, para brevidade, tivermos essas porcentagens baseadas nos últimos valores do indicador da barra onde:

Onde

            Dv - valores de domínio

            An - novo ATR

            Ao - antigo ATR

            Ao' - máximo entre o antigo ATR e o ponto*

 

            Cv - valores de contradomínio

            Rn - nova faixa de preço

            Ro - faixa de preço antiga

            Ro' - máximo entre a faixa de preço antiga e o ponto*,

 *a comparação máxima simplesmente evita a divisão por zero..

nossas fórmulas serão conforme indicado acima. No entanto, mesmo com esse passo necessário, ainda precisaríamos normalizar ainda mais os dois domínios, agrupando as porcentagens em percentis, ou bandas. Então, por exemplo, a tabela abaixo mostra uma configuração possível que usaremos no nosso caso, para conseguir isso.


 


Teremos 10 bandas cada uma com aproximadamente 20% de largura. Isso significa que agora podemos mapear elementos do domínio para o codomínio com mais clareza. Então, por exemplo, em vez de tentar lidar com dados de domínio que podem incluir valores como 12,7%, 28,5%, -74,8% versus um codomínio com dados de ponto flutuante similares, agora temos bandas discretas em cada domínio que podem ser facilmente pareadas.

Então, para formalizar o primeiro morfismo, a hipótese é que as mudanças no ATR estão, com algum atraso (uma barra no nosso caso), positivamente correlacionadas às mudanças no intervalo da barra de preço. Como nossos dois pontos de dados de domínio são normalizados, nosso morfismo de hipótese será isomórfico, conforme mencionado acima. -100% a -80% no domínio mapeará para -100% a -80% no codomínio, da mesma forma -80 a -60% mapeará para -80 a -60%, e assim por diante.

Para o segundo morfismo, basearemos o mapeamento na contagem de amostras de um conjunto de dados de treinamento. Então, se rodarmos testes de 01-01-2021 a 01-01-2022 em, digamos, EURGBP e chegarmos a um log de tabela cruzada do número de vezes que cada banda para mudança do ATR resultou em mudanças em cada uma das bandas similares para mudança de intervalo de preço. Esses testes são baseados no período de 5 minutos e o atraso do indicador para comparação é de uma única barra. Isso significa que qualquer leitura do indicador ATR é comparada às mudanças de intervalo de preço da próxima barra de 5 minutos.

 

Em nossa tabela cruzada acima, os cabeçalhos da coluna [,0],[,1], e assim por diante, representam as linhas em nossa tabela de tamanho de banda acima -100% a -80%, -80% a -60%, e assim por diante, respectivamente. As linhas também seguem um pareamento similar. Olhando para os resultados dos testes, é claro que a maioria das mudanças percentuais do ATR são menores que 20% em magnitude. Isso implica que uma execução de teste mais significativa poderia fornecer mais divisões (tamanhos de banda) nessa faixa e menos em faixas fora dela. Isso, portanto, significa que os tamanhos de banda para amostras mais 'distribuídas uniformemente' não seriam do mesmo tamanho. Se, no entanto, mantivermos nossos tamanhos de banda selecionados, determinaremos o valor de coluna mais alto para cada linha (em todas as colunas) e isso indicaria como a maior mudança de intervalo de preço de probabilidade para a respectiva mudança do ATR.

Portanto, esses seriam nossos dois morfismos cuja equivalência seria melhor descrita como simétrica.

A impressão do homomorfismo para a hipótese seria registrada conforme mostrado abaixo:

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-100% to -80%)|----->(-100% to -80%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-80% to -60%)|----->(-80% to -60%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-60% to -40%)|----->(-60% to -40%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-40% to -20%)|----->(-40% to -20%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-20% to 0%)|----->(-20% to 0%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (0% to 20%)|----->(0% to 20%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (20% to 40%)|----->(20% to 40%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (40% to 60%)|----->(40% to 60%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (60% to 80%)|----->(60% to 80%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (80% to 100%)|----->(80% to 100%)


No caso de uma execução de teste, veremos o seguinte:

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-100% to -80%)|----->(-100% to -80%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-80% to -60%)|----->(-100% to -80%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-60% to -40%)|----->(-100% to -80%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-40% to -20%)|----->(-40% to -20%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (-20% to 0%)|----->(-40% to -20%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (0% to 20%)|----->(-40% to -20%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (20% to 40%)|----->(-40% to -20%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (40% to 60%)|----->(-60% to -40%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (60% to 80%)|----->(-100% to -80%)

2023.03.31 17:55:58.318        ct_5 (EURUSD.ln,M5) (80% to 100%)|----->(-20% to 0%)

 

Agora, com base nesses dois morfismos, podemos determinar dentro do domínio (mudanças percentuais no ATR) quais bandas percentuais são correspondidas por ambos os morfismos às mesmas bandas percentuais no codomínio (mudanças percentuais na mudança de intervalo de preço). Este subconjunto das mudanças do ATR será nosso equalizador para ambos os morfismos, a hipótese e o morfismo de execução de teste, conforme as definições compartilhadas acima. Essas bandas são mostradas abaixo. 

 

A principal aplicação do equalizador desses dois morfismos seria, como no artigo anterior, através da propriedade universal. Os dois morfismos até agora são baseados em uma hipótese e dados históricos. Eles não podem ser confiáveis, por si só, em dados prospectivos. Portanto, antes de podermos usar nosso sistema de previsão de intervalo de preço em dados ao vivo ou futuros para tomar decisões, precisamos definir nosso morfismo âncora, também conhecido como propriedade universal, que por definição estará entre qualquer novo ponto de dados e nosso equalizador. Podemos definir este morfismo de propriedade universal como uma simples verificação de inclusão, ou como uma relação complexa baseada em linear ou mesmo quadrática.


Portanto, se considerarmos a relação simples primeiro, é assim que nosso sistema processaria novos dados de mudança percentual do ATR ao fazer previsões para mudanças na mudança de intervalo de preço. Para qualquer novo ponto de dados (mudança do ATR), o compararíamos com nosso domínio equalizador e estabeleceríamos se ele é um subconjunto desse domínio. Se for um subconjunto, então um morfismo isomórfico entre ele e seu igual no equalizador é inferido pela regra da propriedade universal. Este equalizador, por sua vez, é um subconjunto de nosso domínio de mudança do ATR de onde os dois morfismos, hipótese e resultados de teste, se originam para 'concordar' no domínio de mudança da barra de preço. Com isso, podemos facilmente ler qual mudança da barra de preço é prevista por este novo ponto de dados.

Se nosso ponto de dados não for um subconjunto do equalizador, significa que não pode ser confiável para fazer uma previsão na mudança de intervalo de preço, então 'não fazemos nada' e esperamos pelo próximo ponto de dados do indicador.

Alternativamente, poderíamos ter o morfismo dos resultados do teste e o morfismo da propriedade universal ambos assumindo uma relação um pouco mais complexa, como uma função quadrática, que incorpora mudanças no ATR e novos dados como expoentes, respectivamente. Tais mudanças devem guiar para previsões mais precisas, mas deve-se ter cuidado para evitar o sobreajuste e os testes devem ser feitos em períodos extensos e preferencialmente em dados reais da sua corretora.


Considerações finais

Em conclusão, vimos como os equalizadores na teoria das categorias podem ser usados para estimar mudanças de volatilidade com base no indicador ATR. Por meio do uso de equalizadores, conseguimos comparar e relacionar diferentes morfismos e desenvolver um método para estudar as tendências de volatilidade ao longo de um período amostral.

Ao aplicar a propriedade universal, porém, conseguimos extrair insights de nossos dados amostrais e fazer estimativas sobre mudanças de volatilidade, para dados fora da amostra. Isso poderia levar a decisões de negociação mais informadas, não apenas em relação à saída de posições, conforme demonstrado aqui, mas também em outros aspectos dos sistemas de negociação em geral.


Traduzido do Inglês pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/en/articles/12417

Arquivos anexados |
ct_5.mq5 (103.31 KB)
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 20): FOREX (I) Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 20): FOREX (I)
intenção inicial deste artigo, não será cobrir todas as características do FOREX. Mas sim e apenas, adequar o sistema, de forma que você possa fazer no mínimo, um replay de mercado. Já a simulação, ficará para um outro momento. No entanto, caso você não os tenha os ticks, e tenha apenas as barras. Pode com algum trabalho, simular possíveis transações, que possam ter ocorrido no FOREX. Isto até que eu mostre como adaptar o simulador. O fato de se tentar trabalhar com dados vindos do FOREX, dentro do sistema, sem que ele seja modificado. Faz com que ocorra erros de range.
Uso de modelos ONNX em MQL5 Uso de modelos ONNX em MQL5
O ONNX (Open Neural Network Exchange) é um padrão aberto para a representação de modelos de redes neurais. Neste artigo, consideraremos o processo de criação do modelo SNN-LSTM para previsão de séries temporais financeiras e o uso do modelo ONNX criado em um Expert Advisor MQL5.
Encontrando padrões de velas usando MQL5 Encontrando padrões de velas usando MQL5
Neste artigo, falaremos sobre como detectar automaticamente padrões de velas usando MQL5.
Algoritmos de otimização populacionais: Algoritmo semelhante ao eletromagnetismo (EM) Algoritmos de otimização populacionais: Algoritmo semelhante ao eletromagnetismo (EM)
O artigo descreve os princípios, os métodos e as possibilidades de aplicação do EM a diferentes problemas de otimização. Ele uma ferramenta de otimização eficiente, capaz de lidar com grandes quantidades de dados e funções multidimensionais.