English Русский 中文 Español Deutsch 日本語
preview
Teoria das Categorias em MQL5 (Parte 4): Intervalos, experimentos e composições

Teoria das Categorias em MQL5 (Parte 4): Intervalos, experimentos e composições

MetaTrader 5Exemplos | 13 julho 2023, 10:09
112 0
Stephen Njuki
Stephen Njuki

Introdução

No artigo anterior, vimos como a teoria das categorias pode ser eficaz em sistemas complexos graças ao conceitos de produtos, coprodutos e propriedade universal. Também estudamos exemplos de como aplicá-la em finanças e negociação algorítmica. Neste artigo, abordaremos os conceitos de intervalos, experimentos e composições. Veremos como esses conceitos proporcionam uma maneira mais flexível e matizada de raciocinar sobre sistemas e como podem ser usados para desenvolver estratégias de negociação mais sofisticadas. Ao compreender a estrutura básica dos mercados financeiros em termos da teoria das categorias, os traders podem ter uma nova perspetiva no comportamento dos instrumentos financeiros, criar portfólios mais sofisticados e desenvolver estratégias de gerenciamento de risco mais eficazes. Em resumo, a aplicação da teoria das categorias em finanças pode fazer progredir significativamente nossa compreensão sobre os mercados financeiros e permitir que os traders tomem decisões mais fundamentadas.


Intervalos, experimentos e composições

Na teoria das categorias, um intervalo é uma construção que relaciona três objetos e dois morfismos entre eles. Especificamente, um intervalo é um diagrama da forma:

 


Este diagrama muito básico também pode ser representado com a única linha abaixo:

A<--- f --- P --- g --->B

onde A, B e P são domínios em uma categoria, e f: P para A, e g: P para B, são morfismos na categoria. Os morfismos f: P para A, e g: P para B, são chamados de pernas do intervalo (legs of the span).

O intervalo, P, pode ser considerado como uma maneira de relacionar dois caminhos ou perspectivas diferentes entre A e B, um via f e o outro via g. As pernas f e g conectam esses caminhos em A e B respectivamente, e permitem a comparação e composição dos dois caminhos.

Vamos começar revendo a teoria primeiro, antes de mergulhar na possível aplicação dentro do MQL5.

Os intervalos são importantes na teoria das categorias porque oferecem uma maneira de comparar dois morfismos diferentes em uma categoria. Dados dois morfismos f: A → B e g: A → C, um intervalo de B para C é um diagrama da forma B ← A → C, onde as duas setas representam os morfismos f e g. Intervalos são frequentemente usados para definir limites e colimites na teoria das categorias. Por exemplo, um limite de um diagrama em uma categoria pode ser definido como um cone universal sobre aquele diagrama, onde um cone é um intervalo do objeto limite para cada objeto no diagrama que satisfaz certas condições.

Os intervalos também são úteis na definição de produtos fibrados, que são um tipo de limite no qual os objetos envolvidos são relacionados por um par de morfismos. Dados dois morfismos f: A → B e g: A → C em uma categoria, um produto fibrado de f e g é um objeto P juntamente com dois morfismos p1: P → B e p2: P → C de forma que f p1 = g p2 e P é universal com relação a essa propriedade. Produtos fibrados são importantes em muitas áreas da matemática e da ciência, incluindo geometria algébrica, topologia e ciência da computação.

Outro conceito importante na teoria das categorias é o experimento, que é um diagrama consistindo em dois morfismos paralelos e um terceiro morfismo conectando seus codomínios. Um experimento pode ser considerado como uma maneira de comparar duas formas diferentes de transformar um objeto em uma categoria. Por exemplo, dados dois morfismos f: A → B e g: A → C, um experimento de B para C é um diagrama da forma A → B D ← C, onde as setas representam os morfismos f, g e h, respectivamente. Experimentos podem ser usados para definir limites e colimites de uma maneira semelhante aos intervalos, e eles também são úteis para definir coequalizadores, que são um tipo de colimite que pode ser usado para identificar dois morfismos diferentes que têm o mesmo codomínio.

Composições são um conceito fundamental na teoria das categorias que surge da composição de dois ou mais morfismos. Dados dois morfismos f: A → B e g: B → C, sua composição é um morfismo g f: A → C, que é obtido aplicando f seguido de g. Composições são associativas, o que significa que (h g) f = h (g f) para quaisquer três morfismos f, g e h. Esta propriedade permite a composição de muitos morfismos de uma vez, e é usada para definir a noção de uma categoria, que é uma coleção de objetos e morfismos que satisfazem certos axiomas.

Aqui estão dez aplicações improvisadas de intervalos, experimentos e composições na teoria das categorias em finanças e negociação:

  1. Intervalos podem modelar os ativos subjacentes de um derivativo financeiro e os instrumentos de hedge usados para replicar seus pagamentos. A propriedade universal do intervalo ajudaria a definir o preço do derivativo.
  2. Construção eficiente de portfólio por composições através da combinação de diferentes classes de ativos de uma maneira que minimiza o risco e maximiza o retorno. Isso pode ser guiado usando a propriedade universal de uma composição.
  3. Intervalos podem modelar a exposição ao risco de uma instituição financeira para diferentes fatores de mercado. Isso pode ser alcançado construindo um intervalo que conecta os ativos da instituição aos índices de mercado relevantes.
  4. Experimentos podem testar o desempenho de diferentes algoritmos de negociação em várias condições de mercado. Isso pode ser simulado construindo um experimento que imita o comportamento do mercado e medindo o desempenho do algoritmo nos dados simulados.
  5. Modelar o comportamento dos sistemas financeiros em uma escala ampliada é algo que as composições de domínios poderiam ajudar. Por exemplo, olhar como vários setores do SP500 se correlacionam em diferentes ciclos mais longos poderia ser uma aplicação.
  6. Intervalos podem modelar a replicação de um determinado instrumento financeiro usando uma combinação de instrumentos mais simples. Isso é útil na concepção de novos instrumentos financeiros que têm propriedades desejáveis como menos correlações com os existentes.
  7. Experimentos podem testar estratégias de negociação comparando o desempenho de uma estratégia particular contra um grupo de controle. Isso poderia ser realizado mais uma vez usando a propriedade universal do experimento.
  8. Experimentos também podem testar a eficiência de diferentes designs de microestrutura de mercado. Ao construir um experimento que simula o comportamento de diferentes tipos de participantes do mercado e medindo os resultados do mercado resultantes, isso poderia ser feito.
  9. Composições podem modelar a exposição geral ao risco de uma instituição financeira. Isso pode ser feito construindo uma composição das várias linhas de negócio da instituição e analisando sua interdependência.
  10. Intervalos podem modelar a relação entre diferentes fontes de dados financeiros. Isso poderia projetar algoritmos de aprendizado de máquina que podem extrair características úteis de fontes de dados díspares.

Para ilustrar a aplicação deste conceito, podemos descrever um experimento de intervalo que envolve encontrar se existe uma relação entre o lucro na posição aberta longa e um par de outras variáveis, a saber, a média móvel do ativo e o verdadeiro alcance médio do ativo. Este 'experimento' pode ser representado como um diagrama que envolve um ápice, dois domínios e morfismos entre eles.

Digamos que temos uma categoria C que contém dois domínios, A e B, que representam os domínios da média móvel e o domínio do verdadeiro alcance médio, respectivamente. E nesta categoria, também temos um domínio P que representa o lucro da posição longa e atua como nosso ápice.

Podemos então definir duas morfismos f: P -> A e g: P -> B que mapeiam a posição flutuante longa P para seus observáveis nos domínios A e B, respectivamente. Estas morfismos representam o registro dos valores observáveis.

  Essa representação diagramática nos permite analisar o experimento de uma maneira mais abstrata e formal, e aplicar os conceitos e ferramentas da teoria das categorias para raciocinar sobre isso.

Para realizar o 'experimento', abrimos uma ordem de compra no símbolo do gráfico atual, digamos EURUSD, 0.1 lotes e então, a cada novo bar, registramos o valor flutuante atual, MA e ATR. Com base nos dados observados, podemos ver se há alguma correlação entre os dados e isso pode ser usado para desenvolver um sistema ideal de trailing stop para posições longas. Os indicadores usados aqui de MA e ATR podem facilmente ser substituídos por aqueles que o leitor considere mais apropriados. Eu escolhi esses apenas para ilustração.

 

Se executarmos este experimento no EURUSD H1 1 no dia 1 de março, estes serão alguns dos nossos dados.

 

P: (Valor flutuante/lucro)

A: ATR

B: MA

-6,60000

0,00203

1,12138

-14,90000

0,00181

1,12136

-18,80000

0,00175

1,12140

-24,20000

0,00157

1,12125

-29,00000

0,00146

1,12100

-24,30000

0,00127

1,12078

 

 

 

 

 

Se realizarmos correlações defasadas entre cada um dos nossos dois conjuntos de dados do domínio A e B com o lucro da posição, isso pode ajudar a determinar se cada um desses domínios poderia prever reduções negativas em uma posição. Essas informações ajudarão a definir ou mover um stop-loss existente em uma posição longa.

 

Outra maneira pela qual esses intervalos poderiam auxiliar na definição de um stop-loss seria se hipotetizássemos que cada um dos domínios terminais A e B, através de seus respectivos morfismos f e g, forma um coproduto (soma) de quão longe deveria ser o stop-loss ideal para posições longas. Esses morfismos são essencialmente funções que recebem uma entrada e fornecem uma saída. Nesse caso, cada um dos domínios terminais forneceria o valor do seu indicador como entrada e cada uma das funções f e g forneceria um valor duplo como saída.

 

Somar esses valores duplos, o equivalente a um coproduto, nos daria o preço do stop-loss ideal. Se considerarmos que a saída dos morfismos (preço de stop-loss) tem uma relação linear com as entradas do indicador dos morfismos, então estas equações são implicadas.

onde xa A e ma e ca são os coeficientes de inclinação e intercepção y da relação linear. Similarmente, para o domínio B

Esta hipótese é para uma relação linear entre a delta do stop-loss ideal e os valores do indicador. Se essa relação fosse uma curva, então as equações acima seriam quadráticas, e com mais coeficientes e expoentes. No entanto, nossa opção mais simples pode ser codificada como indicado abaixo.

 

double _sl=((m_ma.Main(_index)*m_slope_ma)+(m_intercept_ma*m_symbol.Point()))+((m_atr.Main(_index)*m_slope_atr)+(m_intercept_atr*m_symbol.Point()));
      

 

Se, usando a classe de trailing do EA embutida no MQL5, construirmos nossa própria classe de trailing que utiliza nossa delta de stop-loss ideal, então os coeficientes m e c para tanto o domínio A quanto o domínio B poderiam ser entradas para esta classe de trailing. Os testes realizados no último ano para o EURUSD H1 com nosso sinal como a classe 'signalRSI.mqh' embutida nos dá o relatório e a curva representados abaixo.

 


c_1

 

As ideias indicadas aqui poderiam ser desenvolvidas ainda mais se olharmos para intervalos compostos.

Um intervalo composto é um intervalo de intervalos. No nosso caso, poderíamos argumentar que os valores dos nossos indicadores estão ligeiramente atrasados. Esse pequeno atraso poderia estar levando a preços menos precisos para nosso trailing stop. Para resolver isso, poderíamos reconstituir os domínios A e B como intervalos. A seria alterado para um produto de A' e C, enquanto B seria de C e B'.

mc_1

   

Intervalos compostos que mapeiam para subdomínios A', C e B' podem ajudar a otimizar os morfismos f: P para A, g: P para B, f': A' para A, f'': C para A, g'': C para B e g': B' para B na afinação do nosso sistema de trailing stop, fornecendo uma visão mais granular dos dados e das relações entre os observáveis nos domínios A e B.

 

Ao reconstituir A e B, estamos agora vendo-os como produtos de A' e C para A e C e B' para B. Lembre-se de que P é uma soma de A e B, mas estes serão produtos. Sabemos que ATR é o intervalo verdadeiro médio do preço durante um determinado período, por isso é matematicamente equivalente ao produto entre o inverso do comprimento do período e a soma dos intervalos de preços ao longo desse comprimento, o que significa que temos A' para o inverso do nosso comprimento de período e C para a soma dos nossos preços. Por outro lado, a MA é equivalente ao produto de um inverso de um período e a soma dos preços recentes. Portanto, neste caso, também temos a mesma disposição de produto que temos no intervalo A.

m_c_2


O domínio C é rotulado como preço e, se formos um pouco arrogantes, isso parece contraditório, pois o preço disponível para o ATR (A) é uma soma dos valores de intervalo verdadeiro ao longo de um período, enquanto o dado à MA é simplesmente a soma dos preços de fechamento atuais.

 

É aqui que a regra não escrita da teoria das categorias de focar em morfismos entre domínios e não em desempacotar o que está em um domínio se torna útil. Porque com isso podemos não apenas montar facilmente nosso diagrama de maneira tão simples quanto mostrado acima, mas também identificar facilmente possíveis propriedades universais. As propriedades universais são o que diferenciam nossa abordagem aqui de outros inúmeros métodos matemáticos que são tipicamente usados para otimizar ou resolver valores faltantes.

Na medida em que estamos preocupados, o domínio C representa o preço. Como esse domínio processa os intervalos de preços versus os preços de fechamento não está no escopo deste artigo e, de fato, para nossos propósitos não afeta o resultado final.

No entanto, antes de olharmos para as propriedades universais aplicáveis, é útil notar que, ao dividir os dados nesses subdomínios, fica mais fácil identificar padrões e correlações entre os diferentes observáveis, o que pode ajudar a otimizar não apenas os morfismos f e g, mas também f', f'', g' e g''.

Mais uma vez, pela brevidade, podemos considerar que as relações entre os domínios terminais adicionados A’, C e B’ são lineares, o que significa que os formatos de equação acima ainda serão aplicáveis.

Se, como acima, realizarmos testes agora com mais entradas, já que o número de morfismos triplicou, obteremos o seguinte relatório e curva de teste.

 

 

c_2

 

 

Há claramente uma melhoria no desempenho geral do sistema de trailing. No entanto, isso pode ser devido ao excesso de ajuste, pois o número de parâmetros de entrada aumentou três vezes em relação ao teste anterior.

Voltando ao conceito de propriedade universal, nosso intervalo composto nos apresenta dois candidatos para este conceito. Primeiramente, no intervalo do domínio A, já que o domínio A’ e o domínio C são terminais, um morfismo universal é implícito entre A’ e C.

Se rotularmos esses morfismos como f’’’ e g’’’ para C para A’ e C para B’ respectivamente, estamos a implicar que existem relações entre o preço e o período escolhido para o ATR. Da mesma forma, haveria uma relação entre o preço e o período para o indicador MA.

Como tem sido a hipótese nos morfismos acima, a relação entre o preço e os períodos dos indicadores pode ser linear, o que significa que nos mantemos no formato simples de equação acima, ou pode ser uma curva, o que significa que escolhemos nosso expoente mais alto e adotamos uma equação quadrática.

No entanto, se continuarmos com as relações lineares e, com base na nossa última versão da classe de traling stop, mantivermos as constantes para todos os morfismos (com exceção de f’’’ e g’’’) constantes (inalteradas e sempre usando os valores padrão), poderíamos realizar testes comparativos durante o mesmo período e ver como ela se comporta em comparação com nossas classes de traling stop anteriores.

Este é o resultado do teste.


 

c_3

 

 

Os resultados não são os melhores dos três relatórios, mas o nível de desempenho com menos entradas e ao mesmo tempo usando os princípios de propriedade universal significa que isso pode ser uma ideia a ser examinada ao longo de períodos mais longos? Como sempre, todo o código postado aqui não é um graal ou sistema de negociação completo, então os leitores são encorajados a fazer suas próprias pesquisas e diligências antes mesmo de usar qualquer parte dele.


Considerações finais

Neste artigo, analisamos como os intervalos, experimentos e composições da teoria das categorias podem ser usados no desenvolvimento de estratégias de saída. Os intervalos são uma unidade celular de um emparelhamento de ideias/preceitos ou sistemas representados aqui como domínios. Este emparelhamento fornece experimentos que são, essencialmente, a propriedade universal deste intervalo. A composição pega o intervalo e o aumenta com outros intervalos para vir com sistemas e métodos mais perspicazes que, no nosso caso aqui, foram úteis na afinação da estratégia de saída de um sistema de negociação. 

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

Arquivos anexados |
TrailingCT4.mqh (9.4 KB)
TrailingCT4_r2.mqh (10.7 KB)
TrailingCT4_r3.mqh (12.07 KB)
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.
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 19): Ajustes necessários Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 19): Ajustes necessários
O que de fato vamos fazer aqui, é preparar o terreno, de forma que quando for preciso adicionar algumas novas coisas ao código, isto aconteça de forma suave e tranquila. O código atual ainda não consegue cobrir ou dar cabo de algumas coisas, que serão necessárias para um avanço significativo. Precisamos que tudo seja construído de maneira que o esforço de implementação de algumas coisas seja o menor possível. Se isto for feito adequadamente teremos a possibilidade de ter um sistema realmente bastante versátil. Sendo capaz de se adaptar muito facilmente a qualquer situação que for preciso ser coberta.
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.
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 18):  Tiquete e mais tiquetes  (II) Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 18): Tiquete e mais tiquetes (II)
Neste, fica extremamente claro, que as métricas, estão muito longe, do tempo ideal de confecção das barras de 1 minuto. Assim então, a primeira coisa que de fato iremos corrigir, será justamente isto. Corrigir a questão da temporização, não é algo complicado. Por mais incrível que possa parecer, é na verdade até bem simples de ser feito. Porém não fiz a correção no artigo anterior, por que lá o desejo era explicar, como fazer para jogar os dados de tickets, que estavam sendo usados para gerar as barras de 1 minuto no gráfico, para dentro da janela de observação de mercado.