Teoria das Categorias em MQL5 (Parte 5): Equalizadores

Stephen Njuki | 17 julho, 2023

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:

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:

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:

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.