
Como funções de cem anos atrás podem atualizar suas estratégias de trading
Introdução
Analisar o estado atual do mercado financeiro é uma base essencial para o sucesso no trading. Isso permite aos traders avaliar a situação atual, prever possíveis mudanças nos preços e tomar decisões comerciais fundamentadas. Para esse tipo de análise, diversos métodos e modelos matemáticos podem ser utilizados.
Neste artigo, vamos discutir algumas funções matemáticas novas. Bem, não exatamente novas. Elas eram novas há cerca de 100 anos. Hoje, algumas dessas funções são bem esquecidas, e outras ainda estão em uso. Mas, por algum motivo, não são usadas no trading. Vamos tentar corrigir essa falha.
Funções de Rademacher
Do ponto de vista matemático, uma função é uma correspondência entre os argumentos da função e seus valores. Elas podem se parecer, por exemplo, com isso:
Mas no trading essas funções são usadas muito raramente. Para análise técnica, geralmente são aplicadas funções de janela:
A essência dessas funções é bastante simples. Pega-se uma quantidade pré-definida de preços. Cada preço é multiplicado por um certo coeficiente, calculado de uma forma bastante engenhosa e complicada. Os valores obtidos são somados e, como resultado, temos um indicador. Ou seja, o indicador é uma função do preço. E a principal pergunta do trading é: onde encontrar esses coeficientes, mas que sejam simples e compreensíveis?
Os coeficientes do indicador podem ser definidos usando a função de Rademacher. A fórmula dessa função é muito simples:
Onde p é a ordem da função, e sign é a função sinal:
Essa função é ainda mais simples visualmente. Por exemplo, a função de 1ª ordem consiste em dois segmentos.
Se ligarmos as extremidades desses segmentos ao zero, teremos o mesmo seno, só que quadrado. "Quadratisch. Praktisch. Gut". No entanto, nesse formato, essa função não é adequada para o trading. Precisamos fazer algumas modificações para obter uma versão discreta.
Vamos supor que decidimos criar um indicador com base nas funções de Rademacher. Primeiro, definimos o período N. Então, o valor do i-ésimo coeficiente desse indicador pode ser calculado com a fórmula:
Por exemplo, assim é a função discreta de Rademacher de 2ª ordem com período 8.
Agora podemos começar a desenvolver o indicador com base nessas funções. O período do indicador deve ser uma potência de dois:
Então, o indicador será composto por funções de Rademacher da ordem 0 até s. Por exemplo, para um indicador com período igual a 4, podemos usar as funções de ordem 0, 1 e 2.
Vamos ver como esse indicador funciona. Primeiro, precisamos calcular os valores de todas as funções em cada ponto do nosso futuro indicador.
p = 0 | 1 | 1 | 1 | 1 |
p = 1 | 1 | 1 | -1 | -1 |
p = 2 | 1 | -1 | 1 | -1 |
Agora, precisamos encontrar o peso de cada função. Para isso, multiplicamos os coeficientes da função pelos respectivos preços e somamos os resultados. Depois disso, dividimos a soma obtida pelo período do indicador. Assim, obtemos três pesos para cada função:
O peso da função de ordem 0 é a conhecida SMA. Todos os outros pesos podem ser vistos como velocidades médias de uma tendência linear com deslocamento e redução dos períodos da tendência.
Conhecendo os coeficientes de peso das funções, podemos começar a calcular os valores do indicador. Para isso, precisamos multiplicar os pesos pelos valores das funções de Rademacher correspondentes a cada ponto do indicador. Em termos simples, ao calcular os pesos, as entradas foram os preços, e a soma foi feita por linhas. Ao calcular o indicador, as entradas devem ser os pesos, e a soma deve ser feita por colunas. Obtemos quatro valores para o indicador:
Ou seja, a alteração de um único preço leva à mudança dos valores do indicador ao longo de toda sua extensão. Por um lado, pode-se dizer que ele “repinta”. Por outro, podemos dizer que o indicador ajusta seu modelo de movimento de preço de acordo com os novos dados recebidos.
Você já consegue imaginar como esse indicador pode aparecer no gráfico? Existem várias possibilidades. Ao construir o indicador, não somos obrigados a usar o conjunto completo de funções de Rademacher; podemos nos limitar a uma ordem menor. Por exemplo, um indicador com período 16, construído com funções das ordens 0 a 2, tem a seguinte aparência:
A principal característica do indicador baseado nas funções de Rademacher é que ele não busca suavizar o preço. Qualquer mudança no preço é tratada como uma combinação de várias tendências lineares, e o indicador exibe os níveis médios dessas tendências.
Funções de Walsh
Qualquer série temporal pode ser modelada com polinômios trigonométricos. O movimento do preço pode ser tão complexo quanto for, mas com os coeficientes certos nos senos e cossenos, é possível garantir que os valores do polinômio coincidam exatamente com os da série temporal.
Porém, calcular senos e cossenos é demorado e complexo. As funções de Walsh ajudam a simplificar bastante esses cálculos. Normalmente, essas funções são definidas da seguinte maneira… Eu olhei para essa definição, e entendi por que elas não são populares entre os traders.
Enfim, a definição clássica das funções de Walsh não nos serve. Precisamos de algo simples e visual. Por isso, vamos calcular a função de ordem p da seguinte forma:
Essa abordagem para definir as funções de Walsh nos permite construir um análogo bastante discreto da transformada discreta de Fourier. As funções com cossenos correspondem às partes reais dessa transformada, e as funções com senos, à parte imaginária. As funções senoidais capturam os padrões de tendência, enquanto as cossenoidais captam os momentos de mudança de tendência. Graças a essa combinação, o indicador suaviza os preços, e quanto maior a ordem das funções, mais acentuada é a suavização.
A única limitação é que a ordem das funções não pode ultrapassar o período do indicador. Por exemplo, se você decidir usar um indicador com período igual a 8, então poderá usar funções de ordem 0 a 7.
Quebre o sistema, opere livremente
As funções que acabamos de estudar já provaram sua utilidade. Olhe para o seu celular, pois em algum lugar dentro dele existem funções de Walsh. Mas… Em qualquer área sempre existe esse “mas”. Se não há um “mas”, ou tudo está realmente perfeito (o que é improvável), ou estão escondendo alguma coisa de você. Vamos quebrar as regras, não por rebeldia, mas para expandir os horizontes.
As funções de Rademacher são baseadas em senos. O seno é uma função ímpar:
O que isso significa, ninguém sabe ao certo, mas (mais um “mas”) com essa propriedade de imparidade podemos representar modelos de tendência no movimento dos preços. E se quisermos suavizar a série de preços? Então vamos precisar de uma função par. Por exemplo, o cosseno.
A versão suavizada da função de Rademacher de ordem p pode ser definida da seguinte maneira:
Um indicador construído com essas funções também acompanhará as tendências. Mas essas tendências serão medidas em relação ao centro do indicador, ou seja, ele mostrará os momentos de reversão da direção da tendência.
O sistema de funções de Walsh é semelhante ao sistema de polinômios trigonométricos. Ou seja, à transformada de Fourier. Essas funções foram originalmente criadas como uma alternativa mais simples a essa transformada. As funções de Walsh não são tão precisas, mas seu cálculo era extremamente rápido e exigia um número mínimo de operações. Para os computadores da época, isso era algo crucial.
Mas (mais uma vez, “mas”), existe ainda outra transformada que pode ser usada para criar outro sistema. Trata-se da transformada de Hartley. Essa transformada é baseada em somas de senos e cossenos. E os coeficientes dessa função podem ser calculados assim:
As funções podem ser simétricas, e nesse caso elas suavizam os preços. Ou podem ser assimétricas, e então essas funções vão acompanhar tendências. Um indicador construído com essas funções tem a seguinte aparência.
A próxima modificação que faremos diz respeito à forma visual do indicador. Qualquer função de ordem 0 é equivalente à SMA. Mas estamos acostumados a ver a SMA representada como uma linha no gráfico. Vamos fazer o mesmo, em cada barra, vamos calcular apenas o último valor do indicador e exibi-lo no gráfico. Assim veremos a linha familiar.
Também é possível construir um oscilador com base nessas funções. O indicador precisará de uma modificação muito pequena. Todos os coeficientes das funções de ordem 0 devem ser zerados. Dessa forma, o oscilador resultante mostrará as oscilações do indicador linear em relação à SMA.
Como os dois últimos indicadores utilizam diferenças em seus cálculos, o atraso deles será pequeno. E isso pode ter um impacto positivo no trading.
Estratégias de trading
Agora vamos ver como esses indicadores podem ser usados no trading.
Na primeira estratégia, vou usar a capacidade do indicador de acompanhar tendências. As regras da estratégia são muito simples:
- se o preço atual estiver abaixo do menor valor do indicador, e o preço anterior for maior que o atual, então abrir uma posição de buy e fechar posições de sell;
- se o preço atual estiver acima do maior valor do indicador, e o preço anterior for menor que o atual, então abrir uma posição de sell e fechar posições de buy.
Apesar da simplicidade, a estratégia parece funcionar bem.
Com base no indicador linear, também é possível construir uma estratégia na qual os sinais são gerados pelo cruzamento entre o preço e a linha do indicador:
- se o preço atual estiver acima da linha do indicador, e o preço anterior estiver abaixo, então abrir uma posição de buy e fechar posições de sell;
- se o preço atual estiver abaixo da linha do indicador, e o preço anterior estiver acima, então abrir uma posição de sell e fechar posições de buy.
Os resultados do teste não causam um efeito “uau”. Mas você sempre pode usar vários indicadores, cada um com seus próprios parâmetros. Cada indicador irá gerar seus próprios sinais e trazer um pequeno lucro.
Essa estratégia pode ser levemente modificada, isto é, em vez dos valores de preço, usar os valores de outro indicador. A intuição sugere que um indicador deve ser suavizante, e o outro, de tendência. O resultado dessas mudanças pode ser o seguinte.
Também é possível usar um oscilador baseado nas funções discutidas para gerar sinais.
Vamos primeiro testar uma versão simples. Os sinais serão gerados no cruzamento do zero pela linha do indicador. Se o oscilador muda de sinal de negativo para positivo, abrimos uma posição de buy e fechamos as posições de sell. Se o sinal muda de positivo para negativo, o sinal oposto é gerado.
Essa abordagem não inspira muita confiança, e seu uso na prática parece bastante duvidoso.
Vamos então fazer uma modificação nessa estratégia. As posições de buy serão abertas quando o oscilador atingir um determinado valor mínimo predefinido. As posições de sell serão abertas quando o valor do indicador ultrapassar um certo nível. O fechamento das posições acontecerá quando o oscilador cruzar o zero.
Essa mudança na lógica de entrada melhora um pouco os resultados.
Se os resultados obtidos ainda não forem satisfatórios, sempre é possível tentar ajustar os parâmetros.
Como você pode ver, o uso de novos indicadores no trading é bastante justificável. Além disso, as funções discutidas neste artigo permitem a criação de estratégias ainda mais complexas. Todas as funções de ordem 1 ou superior representam osciladores independentes. Você pode montar um banco de osciladores, com base em funções de diferentes tipos, ordens e períodos. Com esses indicadores, é possível gerar sinais de trading mais precisos.
Considerações finais
O uso de funções antigas e renovadas no trading abre novas possibilidades para analisar o movimento dos preços e tomar decisões de negociação. Elas podem ajudar a identificar padrões ocultos no comportamento do preço e a prever futuras mudanças. Com base nelas, é possível desenvolver estratégias de trading eficazes. Além disso, as funções de Rademacher e Walsh também podem ser utilizadas para filtrar ruídos e melhorar a qualidade das previsões.
Durante a elaboração deste artigo, foram utilizados os seguintes programas:
Nome | Tipo | Características |
---|---|---|
New Function | Indicador |
|
New Function Lin | Indicador | O indicador calcula o último valor conhecido do sistema de funções escolhido e o exibe no gráfico. |
New Function Osc | Indicador | Oscilador construído com funções de ordem 1 e superiores. |
EA New Function | Expert Advisor | Para gerar sinais, utiliza-se o desvio do preço atual em relação aos valores mínimos/máximos das funções. |
EA New Function Lin | Expert Advisor | Os sinais são gerados no cruzamento entre o preço e a linha do indicador New Function Lin. |
EA New Function Lin 2 | Expert Advisor | Os sinais são gerados no cruzamento das linhas de dois indicadores New Function Lin. |
EA New Function Osc | Expert Advisor | Os sinais do EA são gerados quando a linha do indicador New Function Osc cruza o zero. |
EA New Function Osc 2 | Expert Advisor | Os sinais do EA são gerados quando a linha do indicador New Function Osc cruza níveis específicos. Os valores dos níveis são definidos nos parâmetros de entrada – LvlBuy e LvlSell. |
Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/17252
Aviso: Todos os direitos sobre esses materiais pertencem à MetaQuotes Ltd. É proibida a reimpressão total ou parcial.
Esse artigo foi escrito por um usuário do site e reflete seu ponto de vista pessoal. A MetaQuotes Ltd. não se responsabiliza pela precisão das informações apresentadas nem pelas possíveis consequências decorrentes do uso das soluções, estratégias ou recomendações descritas.





- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso