Discussão do artigo "Previsão da distribuição condicional com uma MLP"

 

Novo artigo Previsão da distribuição condicional com uma MLP foi publicado:

Neste artigo, analisaremos um modelo de regressão baseado em MLP que prevê não apenas a esperança matemática condicional, mas também a variância condicional. Em outras palavras, treinaremos nossa rede para prever toda a distribuição dos preços futuros com base em um vetor de atributos de entrada. Para isso, porém, precisaremos implementar nossa própria função de perda.

Diante da alta volatilidade e da incerteza dos mercados financeiros, como o Forex, prever com precisão os movimentos dos preços continua sendo uma das principais tarefas de traders e analistas. As abordagens tradicionais de regressão, baseadas em funções de perda convencionais, como o erro quadrático médio (MSE) ou a soma dos quadrados dos erros (SSE), muitas vezes não são suficientemente eficazes. Essas funções pressupõem homoscedasticidade, isto é, variância constante da variável-alvo, uma condição que raramente corresponde à dinâmica real das séries temporais financeiras. Para modelar esses dados de forma adequada, é necessário adotar uma abordagem que considere a heteroscedasticidade, ou seja, a variância dos incrementos de preço, que varia em função dos atributos de entrada.

Neste artigo, apresentamos uma abordagem probabilística para a regressão usando um perceptron multicamadas (MLP), capaz de prever a distribuição gaussiana condicional dos incrementos de preço. Para isso, implementaremos uma função de perda personalizada baseada na log-verossimilhança negativa gaussiana (GaussianNLLLoss).


Autor: Evgeniy Chernish

 

Que legal, deve ser o primeiro artigo sobre o tema da análise probabilística no fórum.

Será que dá para fazer algo semelhante para outras distribuições (por exemplo, gama ou Weibull)?

 
Aleksey Nikolayev Weibull)?

Sim, claro. Se a variável a ser prevista tiver uma distribuição aproximadamente semelhante, por que não?

Para os incrementos, ainda dá para tentar a distribuição de Student em vez da normal.
 
Evgeniy Chernish #:

Sim, claro. Se o valor previsto tiver mais ou menos essa distribuição, por que não?

Para os incrementos, ainda dá para tentar a distribuição de Student em vez da normal.

Acho que vou tentar aplicar isso à altura do joelho do ziguezague. Lá, para o desvio aleatório, a distribuição é exponencial; por isso, são necessárias distribuições no semieixo positivo que incluam a exponencial como um caso particular.

Também dá para tentar incorporar uma análise de sobrevivência, mas ainda não consegui chegar a isso.

 
Está tudo ótimo, exceto por um detalhe. Para o “indicador de previsão”, deveria ter sido ativado o parâmetro PLOT_SHIFT (com as linhas se estendendo para o futuro), mas, no momento, em vez da previsão, é exibido apenas o “dado histórico”. Ou talvez tenhamos interpretações diferentes do termo “previsão”.
 
Stanislav Korotky #:
Está tudo ótimo, exceto por um detalhe. Para o “indicador de previsão”, deveria ter sido ativado o parâmetro PLOT_SHIFT (com as linhas se estendendo para o futuro), mas, no momento, em vez da previsão, é exibido apenas o “dado histórico”. Ou talvez tenhamos interpretações diferentes do termo “previsão”.
Afinal, fazemos previsões apenas para um passo à frente. Não fazemos previsões para várias barras.

Portanto, o que o indicador exibe são todas as previsões para um passo à frente, com base no vetor de características construído com um deslocamento de uma barra para trás.

E, antes da exibição das previsões, ocorre uma amostragem para treinamento, com a qual treinamos a rede.
 
Evgeniy Chernish #:
Afinal, a gente faz previsões apenas para o próximo passo. Não fazemos previsões para várias barras à frente.

Portanto, o que o indicador exibe são todas as previsões para um passo à frente, com base no vetor de características construído com um deslocamento de uma barra para trás.

E, antes da exibição das previsões, ocorre uma amostragem para treinamento, com a qual treinamos a rede.
Em outras palavras, mostramos em cada barra de teste onde está previsto o preço de fechamento e seu intervalo para essa barra que, por assim dizer, ainda não existe?
 
Stanislav Korotky #:
Em outras palavras, estamos indicando em cada barra de teste onde está prevista a cotação de fechamento e seu intervalo para essa barra que, por assim dizer, ainda não existe?
Por que “ainda não existe”? A barra zero ainda está se formando, mas já recebemos a previsão para ela na abertura dessa barra, pois um novo vetor de características se formou. E essa previsão não muda, não é recalculada, pois depende dos preços anteriores, e não dos preços anteriores e do atual. Ou será que eu deixei passar alguma coisa e o código está prevendo o futuro?
 
Evgeniy Chernish #:
Por que “inexistente”? A barra zero ainda está se formando, mas já recebemos a previsão para ela na abertura dessa barra, pois se formou um novo vetor de sinais. E essa previsão não muda, não é recalculada, pois depende dos preços anteriores, e não dos preços anteriores e do atual. Ou será que eu deixei passar alguma coisa e o código está prevendo o futuro?
Provavelmente não há previsão do futuro; eu me referia a outra coisa. Ao que tudo indica, o cálculo da previsão é feito logo no início da formação de uma nova barra, ou seja, na verdade, apenas quando se conhece um único preço de abertura dessa “barra”; por isso, eu a chamei, cito, de “praticamente inexistente”.
 
Stanislav Korotky #:
Provavelmente não se trata de uma previsão do futuro; eu me referia a outra coisa. Ao que tudo indica, o cálculo da projeção é feito logo no início da formação de uma nova barra, ou seja, na verdade, somente quando se conhece um único preço de abertura dessa “barra”; por isso, eu a chamei, cito, de “praticamente inexistente”.
Sim, foi exatamente assim que foi concebido