binary-ex-machina / binaryblocks

Repository created with the purpose to help the Binary Blocks users get learn and get inspiration to build any kind of strategies blockly based web application
6 stars 3 forks source link

Teste de Kendall #21

Closed guilhermej2h closed 1 year ago

guilhermej2h commented 1 year ago

Quero implantar um Teste de Kendall em uma lista de 10 RSI no robô em anexo.

binary-ex-machina commented 1 year ago

Preciso de uma ideia melhor do que é este teste de kendall

guilhermej2h commented 1 year ago

O teste de Kendall, também conhecido como coeficiente de concordância de Kendall ou Tau de Kendall, é uma medida estatística não paramétrica utilizada para avaliar a concordância ou a associação entre duas variáveis ordinais. Ele foi desenvolvido por Maurice Kendall em 1938.

O teste de Kendall compara as classificações ou ordens de duas variáveis e calcula o coeficiente de concordância de Kendall (Tau de Kendall). O valor de Tau de Kendall varia de -1 a 1. Os seguintes intervalos são usados para interpretar o valor de Tau:

-1: Indica uma concordância total inversa. Ou seja, quanto maior o valor de uma variável, menor o valor da outra variável.

0: Indica nenhuma concordância ou associação entre as variáveis.

1: Indica uma concordância total. Ou seja, quanto maior o valor de uma variável, maior o valor da outra variável.

Para realizar o teste de Kendall, primeiro, as classificações ou ordens das duas variáveis são obtidas. Em seguida, os pares de observações são comparados para determinar se estão em concordância ou discordância. Por fim, o coeficiente de concordância de Kendall é calculado com base no número de pares concordantes e discordantes.

Existem várias versões do teste de Kendall, como Tau-b e Tau-c, que levam em consideração os empates nas classificações. Essas versões ajustam o coeficiente de concordância de Kendall para levar em conta a presença de empates nas classificações das variáveis.

O teste de Kendall é amplamente utilizado em diversas áreas, como ciências sociais, estatística, psicologia, economia e biologia, quando as variáveis de interesse são ordinais e não seguem uma distribuição normal. Ele fornece uma medida robusta da associação entre as variáveis ordinais, independentemente da forma da distribuição ou da presença de outliers. O teste de Kendall também pode ser aplicado na verificação de sequências monotônicas, ou seja, sequências de números que seguem uma ordem crescente ou decrescente.

Suponha que você tenha uma sequência de números e deseja determinar se ela é monotônica crescente ou monotônica decrescente. O teste de Kendall pode ajudar nessa verificação.

Vamos considerar a seguinte sequência de números:

2, 5, 3, 1, 4

Para aplicar o teste de Kendall, você precisa comparar cada par de elementos e verificar se eles estão em ordem crescente ou decrescente.

Comparando o primeiro par (2 e 5), temos que 2 é menor que 5. Portanto, há concordância.

Continuando com as comparações, encontramos os seguintes resultados:

Pares concordantes: (2, 5), (2, 3), (2, 4), (5, 3), (5, 4), (3, 4) Pares discordantes: (5, 1), (3, 1), (1, 4) Agora, calculamos o coeficiente de concordância de Kendall (Tau de Kendall) usando a fórmula:

Tau = (Concordantes - Discordantes) / (Concordantes + Discordantes)

No nosso exemplo, temos:

Concordantes = 6 Discordantes = 3

Tau = (6 - 3) / (6 + 3) = 3 / 9 = 1/3

Portanto, o coeficiente de concordância de Kendall (Tau de Kendall) para essa sequência é 1/3. Isso indica uma concordância leve, mas não monotônica, já que a sequência não é estritamente crescente ou estritamente decrescente.

Ao aplicar o teste de Kendall em uma sequência monotônica, se todos os pares comparados apresentarem concordância, o coeficiente de concordância de Kendall será igual a 1. Caso contrário, se houver pelo menos um par discordante, o coeficiente será menor que 1.

Exemplo Função verificaMonotonicidade(sequencia): concordantes = 0 discordantes = 0

Para i de 1 até o tamanho da sequencia - 1:
    Para j de i + 1 até o tamanho da sequencia:
        Se sequencia[i] < sequencia[j]:
            concordantes += 1
        Senão:
            discordantes += 1

tau = (concordantes - discordantes) / (concordantes + discordantes)

Se tau = 1:
    Retorne "A sequência é monotônica crescente."
Senão, se tau = -1:
    Retorne "A sequência é monotônica decrescente."
Senão:
    Retorne "A sequência não é monotônica."
guilhermej2h commented 1 year ago

No caso quero que o robô adquira quando a sequência RSI for provada crescente.

binary-ex-machina commented 1 year ago

Fiz algumas alterações. Sendo que o bot faz diversos cálculos, eu removi eles do bloco que funciona em cada tick e coloquei eles em uma função que só é chamada quando não tiver nenuma trade em andamento. Isso ajuda a diminuir o processamento da página quando você apertar o play

abaixo tem a parte onde você compara o valor do TAU. Coloquei igual a 1 já que você ta usando barreira positiva. Se for negativa, acredito que o valor desejado seja -1

image

Download tau.json.zip e use em https://binaryblocks.pro/

guilhermej2h commented 1 year ago

Ficou ótimo. Fiz um ajuste com a inclusão do RSI Stocastico, porém não consegui implantá-lo na sua Função. Vou verificar se crio um contador de TAU, para que a entrada ocorra após o segundo ou terceiro = a 1

guilhermej2h commented 1 year ago

Versão com ajustes e Contador de TAU. Bom desempenho mais falta enxugar o código TAU 2.0. Poderia ajustar pra mim por favor?

guilhermej2h commented 1 year ago

Baixa o Bot do comentário anterior hoje, que tem o Link com as configurações mais atuais.