Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 3176

 
fxsaber #:

Isso varia, é claro. Mas, com muita frequência, você pode ver um colapso logo após o Sample. Talvez seja uma distorção cognitiva, quando você presta mais atenção em algo e tem a impressão de que isso acontece com muita frequência.

Se isso acontece com frequência, então não há dúvida de que os padrões globais estão mudando, caso contrário, o ponto de ruptura seria mais ou menos na mesma data.

Mas talvez, de forma puramente estatística, a frequência de sua ocorrência mude. Ou seja, os antigos continuam a operar, mas também há novos padrões para o modelo, que não foram encontrados anteriormente por uma série de motivos - o mais importante é que não estavam presentes durante o treinamento. Por exemplo, a volatilidade mudou significativamente, e o código (preditores condicionais) tem alguns valores fixos, ou há poucas observações para essa volatilidade - ela ficou estável o tempo todo durante o treinamento ou em outros intervalos. Em outras palavras, novas observações crescem na amostra (se novos dados forem coletados) - aqui precisamos de um mecanismo para detectar o surgimento de tais eventos.

O oposto também pode ocorrer, quando uma estratégia é construída com base em eventos raros e a tendência dura mais de um ano. Recentemente, fui apresentado a esse milagre da construção de um EA.

Inicialmente, a pessoa só tinha visto o histórico do comportamento do EA desde 2016 (crescimento do ouro) e reclamou que algo havia quebrado e que era necessário otimizar a decomposição correta do gráfico com a ajuda do MO.

Sob o capô, descobriu-se que uma dúzia de indicadores, cada um dos quais deu uma média de 100 sinais, ou seja, na verdade foram encontradas emissões detectadas por diferentes indicadores no histórico e combinadas em um grupo comum. Essas exceções continuarão a se repetir no histórico com o mesmo resultado probabilístico?

Sim, há exceções que não são exceções, embora estatisticamente sejam, mas como separá-las das outras é uma questão.

fxsaber #:

O gráfico mostra três anos de negociações diárias.

Para os ticks, parece muito, mas uso um intervalo maior - de 10 anos para os minutos e os sinais inicialmente não são tão frequentes - há um sinal de base.

fxsaber #:

O que eu não fiz foi criar um gráfico para cada intervalo. Contei os dados estatísticos, mas não dei uma olhada no gráfico em si.

Observe a dinâmica dos padrões - muitas vezes eles podem ser aglomerados que estavam em um intervalo de tempo relativamente curto - em relação à amostra, é bom que as observações do padrão tendam a se repetir em todo o intervalo.

Outra nuance, com o mesmo CatBoost - cerca de 50% das folhas morrem com novos dados, ou seja, os padrões deixam de ocorrer com base nos quais o modelo foi construído.

fxsaber #:

Não entendi o destaque.

As outras duas amostras são teste e exame, seguindo a amostra na qual o treinamento foi feito.

Então você perguntou por que usá-las. Inicialmente, o teste foi usado para controlar o treinamento excessivo no CatBoost, ou seja, quando os novos padrões não proporcionam melhorias na amostra de teste, as iterações de melhoria são interrompidas. E exame - apenas um teste independente do modelo. Idealmente, você deve aprender a selecionar um modelo que será bem-sucedido no exame por meio de treinamento e teste - essa é uma questão separada.

E, é claro, se a tarefa de seleção do modelo for resolvida, a amostra para treinamento poderá ser aumentada, se necessário, ou pelo menos deslocar as amostras de treinamento e teste para mais perto da data atual.

 
Aleksey Vyazmikin #:

Que testes de significância você propõe? Não estou dizendo que o algoritmo de seleção de segmentos quânticos é perfeito, pelo contrário - entra muito lixo e eu quero aprimorá-lo.

Não entendo, com base em que sinais você decidiu que se trata de algum tipo de "pi-hacking" - e que parte exatamente, seleção de segmentos quânticos ou triagem de cadeias, que são bem e sem treinamento triadas por segmentos quânticos (ou seja, gráficos que construí)? Sim, o método é um pouco diferente da abordagem comum para criar modelos de madeira, mas não muito, o conceito permanece.

Com relação ao exemplo do SB, há duas considerações:

1. Se o processo for desconhecido e houver apenas dados, pode-se considerar como um padrão que há uma melhor hora para negociar. Ou há alguma consideração para rejeitar essa hipótese?

2. Se essas observações foram distribuídas de forma relativamente uniforme ao longo do tempo (histórico de eventos), então isso se assemelha mais a um erro do gerador de números aleatórios.

No treinamento, uso amostras em um longo período de tempo, geralmente pelo menos 10 anos.

Posso sugerir a modificação do meu experimento. Vamos supor que haja dez caixas com números de 1 a 10, cem bolas brancas e cem bolas pretas (os números 10 e 100 são considerados condicionalmente). As bolas são organizadas de alguma forma nas caixas, então você observa quantas bolas há em cada caixa e tenta entender se há uma regularidade no algoritmo de organização - nas caixas com quais números há uma predominância de bolas de alguma cor.

Portanto, se cada bola (de ambas as cores) for colocada aleatoriamente e com a mesma probabilidade de 0,1 em uma das gavetas, no final não haverá uniformidade na proporção de cores! Quase sempre haverá uma caixa com quase todas as bolas brancas e outra com quase todas as bolas pretas. E o problema não está na qualidade do DSP, você pode usar um DSP quântico de verdade e tudo será igual. Trata-se da própria natureza da aleatoriedade probabilística. Sempre haverá irregularidade, mas o número de caixas em que ela será encontrada no próximo layout é absolutamente imprevisível. O mesmo ocorre no exemplo anterior com a hora da semana (a hora da semana é o análogo do número da caixa).

Há duas maneiras de fazer isso. Ou tentar mostrar que a desigualdade na prática é muito maior do que seria com probabilidade igual. Isso é feito por meio de algum tipo de teste estatístico. Ou simplesmente ter certeza de que a não uniformidade, embora pequena, se deve a alguma regularidade que se manifesta apenas fracamente devido ao ruído. Mas isso é uma questão de fé e prática e, se funcionar, tudo bem.

Espero que tenha ficado claro que os números da caixa (hora da semana) são uma analogia aos seus quanta.

 
Aleksey Nikolayev #:

Posso sugerir a modificação do meu experimento. Sejam dez caixas com números de 1 a 10, cem bolas brancas e cem bolas pretas (os números 10 e 100 são considerados convencionalmente). As bolas são organizadas de alguma forma nas caixas, então você observa quantas bolas há em cada caixa e tenta entender se há uma regularidade no algoritmo de organização - nas caixas com quais números há uma predominância de bolas de alguma cor.

Portanto, se cada bola (de ambas as cores) for colocada aleatoriamente e com a mesma probabilidade de 0,1 em uma das gavetas, no final não haverá uniformidade na proporção de cores! Quase sempre haverá uma caixa com quase todas as bolas brancas e outra com quase todas as bolas pretas. E o problema não está na qualidade do DSP, você pode usar um DSP quântico real e tudo será igual. Trata-se da própria natureza da aleatoriedade probabilística. Sempre haverá irregularidade, mas o número de caixas em que ela será encontrada no próximo layout é absolutamente imprevisível. O mesmo acontece no exemplo anterior com a hora da semana (a hora da semana é um análogo do número da caixa).

Há duas maneiras de fazer isso. Ou tentar mostrar que a desigualdade na prática é muito maior do que seria com a mesma probabilidade. Isso é feito por meio de algum tipo de teste estatístico. Ou simplesmente ter certeza de que a não uniformidade, embora pequena, se deve a alguma regularidade, que se manifesta apenas de forma fraca devido ao ruído. Mas isso já é uma questão de fé e prática e, se funcionar, tudo bem.

Espero que tenha ficado claro que os números da caixa (hora da semana) são uma analogia aos seus quanta.

Se estamos falando de SB, então de que tipo de modelos podemos falar, porque a essência dos modelos (de madeira ou neurais) é encontrar padrões nos dados.

Sobre o fato de que pode haver uma maioria de bolas da mesma cor em uma caixa - então eu faço o experimento 10 vezes e cada vez que obtenho os resultados (eu divido a amostra em 10 partes), e somente se a maioria delas for semelhante no resultado, eu seleciono um segmento quântico. Qual é a probabilidade de que, depois de fazer o experimento 10 vezes, encontraremos mais bolas de uma determinada cor na mesma caixa do que em outras caixas?

Você conhece algum teste estatístico adicional que se encaixaria nesse caso?

Não se pode ter certeza de nada, além disso, no SB tho....

Estou procurando métodos que aumentem a certeza.

Além disso, presumo que o segmento quântico selecionado ainda tenha mais potencial para divisão não aleatória do que a outra parte do preditor - não sei como expressar isso como uma fórmula ou algum tipo de estimativa. Percebo esse segmento abstratamente como um veio de mineral/metal valioso dentro de uma pedra de calçada.....

 

Não sei como deixar isso mais claro, então estou mostrando duas divisões de árvore esquematicamente.

Duas barras são dois preditores - as barras verticais simbolizam o tempo (mas não fiz uma reprodução exata disso).

A linha grossa é o local padrão de divisão de preditores pelo modelo de árvore.

O segundo preditor (à esquerda na figura) mostra que o intervalo de 2 a 3, inclusive, tem o maior acúmulo de unidades, que destaquei em cores.

Após a primeira divisão, destaquei em cor azulada os números que permaneceram da primeira divisão (digamos que seja a parte direita, onde as unidades foram ao longo do ramo).

Portanto, se contarmos o total de unidades restantes após a primeira divisão, a divisão deve ser feita exatamente no meio e dividida de 1 a 2 inclusive, mas a primeira coluna contém os índices estatísticos mais fracos nas respostas em termos absolutos, assim como a 4 - apenas 8 cada, enquanto as centrais contêm 10 e 12. O corte quântico pode deslocar as colunas 1 e 4 para um lado e as colunas 2 e 3 para o outro, o que representa apenas uma unidade a menos no total do que sem o corte quântico, mas há inicialmente 8 unidades a mais observadas nesse intervalo, o que parece significativo. Ou seja, espera-se que essa faixa continue a conter mais unidades do que as duas vizinhas.

Você conseguiu explicar a essência da ideia da seleção de segmentos quânticos?

Devo acrescentar: Isso é uma convenção - permitindo erros aritméticos - o que importa aqui é o texto e a lógica, não os números.
 

Bem, em termos cotidianos, temos um preditor com um intervalo de -162 e +162, que envia sinais.

Com a ajuda da detecção de segmentos quânticos, podemos encontrar os intervalos de níveis, ao atingir o que ocorre com mais frequência, por exemplo, saltar para níveis abaixo. As seções restantes que não estão próximas de um nível podem simplesmente ser categorizadas em ordem. E acontece que há um preditor, mas há duas maneiras de representar os dados para diferentes fins - como uma opção.


 
Aleksey Vyazmikin #:

Você conhece algum teste estatístico adicional que se encaixaria nesse caso?

O mais universal é provavelmente o Monte Carlo. Simule repetidamente a situação de classes obviamente inseparáveis e veja como seus quanta se comportam em média. Se eles encontrarem algo, então é autodestrutivo.

Classes plausivelmente indivisíveis podem ser obtidas por meio de amostras geradas com a mesma distribuição dos recursos.

 
Aleksey Nikolayev #:

O mais universal é provavelmente o Monte Carlo. Simule repetidamente a situação de classes obviamente inseparáveis e veja como seus quanta se comportam na média. Se eles encontrarem algo, então se trata de autoengano.

Classes plausivelmente indivisíveis podem ser obtidas por meio de amostras geradas com a mesma distribuição dos recursos.

O Monte Carlo trata da mistura de sequências e da obtenção aleatória de cadeias - como isso pode ajudar? E provavelmente não é correto misturar sequências se você presumir que elas não são aleatórias..... e não é aleatório em séries temporais. Não entendi a ideia, se você pudesse descrevê-la com mais detalhes.

Você pode criar essa amostra para o teste em csv? Acho que é rápido o suficiente no R. Caso contrário, passarei mais um dia escrevendo código e não sei se conseguirei fazer isso direito.

 
Aleksey Vyazmikin #:

O Monte Carlo trata de misturar sequências e obter cadeias de forma aleatória - como isso ajuda? E provavelmente não é correto misturar sequências se presumirmos que elas não são aleatórias.... e não é aleatório em séries temporais. Não entendo as ideias, se você puder descrevê-las com mais detalhes.

Você pode criar essa amostra para o teste em csv? Acho que é rápido o suficiente no R. Caso contrário, passarei mais um dia escrevendo código e não sei se conseguirei fazer isso direito.

Você pode fazer isso no MT5, a biblioteca estatística tem funções para gerar amostras para diferentes distribuições. Por exemplo, você pode gerar uma amostra normal de 200 como um sinal na primeira coluna, e na segunda coluna você pode fazer marcas por seleção aleatória com uma probabilidade de 0,5.

Seria melhor se você automatizasse isso de alguma forma em seu pacote, pois é preciso fazer isso várias vezes e calcular algo a cada vez - só você sabe o quê.

 
Aleksey Nikolayev #:

Você pode fazer isso no MT5, pois a biblioteca estatística tem funções para gerar amostras para diferentes distribuições. Por exemplo, gere uma amostra normal de 200 como um sinal na primeira coluna e, na segunda coluna, faça marcas por seleção aleatória com uma probabilidade de 0,5 cada.

Seria melhor se você automatizasse isso de alguma forma em seu pacote, pois é preciso fazer isso várias vezes e calcular algo a cada vez - só você sabe o quê.

Nunca usei esse recurso antes.

Tem a ver com essa função?

Генерирует псевдослучайные величины, распределенные по нормальному закону с параметрами mu и sigmа. В случае ошибки возвращает false. Аналог rnorm() в R. 



bool  MathRandomNormal( 
   const double  mu,             // математическое ожидание 
   const double  sigma,          // среднеквадратическое отклонение 
   const int     data_count,     // количество необходимых значений 
   double&       result[]        // массив для получения псевдослучайных величин 
   );
 
 
Aleksey Vyazmikin #:

Da mesma forma que escrevi sobre como a superação aleatória é uma abordagem improdutiva.

Eu uso a superamostragem com o elemento de aleatoriedade da seleção do preditor ao testar o potencial de amostragem, e a utilizo há muitos anos no CatBoost.

A randomização não dá nenhuma justificativa para esperar que o modelo continue funcionando, porque as respostas do preditor foram randomizadas nele.

Há o risco de nos envolvermos novamente em discussões inúteis. Qual é a diferença entre um conjunto encontrado aleatoriamente que funciona em nós e um que foi inventado por meio do maior sofrimento mental, mas também sem justificativa fundamental? Quando o método de validação é o mesmo. Pergunta retórica.

Qual é a diferença entre uma pesquisa aleatória e uma pesquisa com um elemento de aleatoriedade de escolha? ))