Previsão de mercado com base em indicadores macroeconômicos - página 51

 
Vladimir:
Concordo, eu mesmo já escrevi tal coisa em algum lugar aqui. Escolher um preditor em toda a história e depois usar um teste prospectivo da mesma história é uma auto-enganação que todos, de comerciantes a cientistas, fazem. Muitos artigos escritos sobre a previsão da economia começam com uma lista de preditores selecionados e depois relatam resultados "ótimos". Os comerciantes escolhem estratégias baseadas, por exemplo, em recuperação ou fuga porque "funcionou no passado" e esperam que funcione no futuro e mostre testes do passado sem perceber que sua escolha da estratégia em si foi baseada em seu estudo de TODAS as histórias, incluindo a história para testes futuros. Para mim, o teste futuro do meu PIB e do meu modelo de mercado será o futuro, por isso, abri este fio condutor - fazer previsões, ver como elas se tornaram realidade em tempo real. O trabalho não está terminado. Há muitas idéias para a transformação não-linear de dados. Por exemplo, alguns preditores como HOUST afetam o crescimento do PIB através de alguma função de limiar.

Não-linearidade, sim.

Mas como você encontra uma função não-linear? Experimentando diferentes variantes? Ou apenas usar redes neurais?

 
Дмитрий:

Não-linearidade, sim.

Mas como você encontra uma função não-linear? Experimentando diferentes variantes? Ou apenas usar redes neurais?

Você também poderia experimentar Random Forest, é mais fácil de usar e também simula as não-linearidades.

Exemplo: https://www.quora.com/How-does-random-forest-work-for-regression-1

A aparência da função resultante também pode ser avaliada com as ferramentas embutidas.

How does random forest work for regression? - Quora
  • www.quora.com
I think the first step would be to understand how decision trees work in a regression problem. You might be aware of CART - Classification and Regression Trees. When dealing with regression problem you try to predict real valued numbers at the leaf nodes which would look something like this for singular scale feature: Now the question comes how...
 
Alexey Burnakov:

Você também pode experimentar Random Forest, é mais fácil de usar e também simula as não-linearidades.

Exemplo: https://www.quora.com/How-does-random-forest-work-for-regression-1

A aparência da função resultante também pode ser avaliada com as ferramentas embutidas.

Obrigado, Random Forest é familiar para mim
 
Дмитрий:

Não-linearidade, sim.

Mas como você encontra uma função não-linear? Experimentando diferentes variantes? Ou apenas usar redes neurais?

Portanto, pensemos juntos. Eu queria escolher uma simples função de passo:

out = -1 se entrada < limiar, +1 se entrada > limiar

Onde o limiar é nosso limiar desconhecido, diferente para diferentes preditores. Por exemplo, para o S&P500 e o PIB incrementa o limiar = 0, ou seja, as quedas destes indicadores em si são importantes, não o limiar. Para outros indicadores econômicos, não é tão simples. O limiar precisa ser ajustado. A modelagem poderia se parecer com isto:

1. determinar o tipo de dados: ascendente (S&P500, PIB,...) ou variado (taxa de desemprego, taxas federais,...), comparando os valores no início e no fim da história - você deve pensar em um método automático robusto para determinar os dados.

2. Se os dados estiverem aumentando, então substitua-os por incrementos de x[i] - x[i-1]. Se o alcance, então não mude.

3. Escolha uma produção simulada como os incrementos do PIB (crescimento) e aplique a ela uma função de passo com limiar zero, ou seja, o crescimento do PIB é substituído por uma série binária +/-1.

4. Começamos a enumerar todos os preditores e suas versões atrasadas para capacidade de previsão desta forma. Pegamos um preditor ou seus incrementos dependendo do ponto 2, medimos seu alcance ao longo de toda a história, dividimos este alcance por exemplo 10 e obtemos 9 limites. Usando cada um dos 9 limiares, substituir o preditor por uma série binária de +/-1, e contar o número de +1 e -1 de nosso preditor que coincidiu com +1 e -1 de nossas séries simuladas (PIB), obtendo M coincidências para N barras completas na história. Calculamos uma função de M/N para cada um dos 9 preditores e deixamos o limiar que dá a maior freqüência de coincidência. E repita isto para cada prognosticador. Este deve ser um cálculo rápido.

Se alguém quiser ajudar, pegue os dados que coloquei aqui há algumas páginas e experimente-os. Quero terminar o modelo linear por enquanto e depois passar para o modelo não linear.

PS: Como há muito mais valores positivos (+1) do que negativos (-1) na série de incrementos do S&P500 e do PIB, você pode chegar a uma modificação do método descrito acima para ponderar mais fortemente a coincidência de valores negativos, enfatizando assim as diminuições em vez de aumentos nestes indicadores. Por exemplo, a bondade do indicador de ajuste pode se parecer com isto:

J = M(+1)/N + W*M(-1)/N

onde W é um peso >1 refletindo o quanto há menos valores negativos no crescimento do PIB do que valores positivos.

Um grande problema surgirá se quisermos encontrar um modelo com 2 ou mais preditores. Temos que pensar como conectar esses preditores: com funções AND, OR ou XOR. Quando conectados, os limiares precisarão ser novamente otimizados.

 
Vladimir:

Um grande problema surgirá se quisermos encontrar um modelo com 2 ou mais preditores. Precisamos pensar em como conectar esses preditores: com funções AND, OR ou XOR. Quando conectados, os limiares precisarão ser novamente otimizados.

Se você alimentar a grade com dados, ela encontrará os limites "automaticamente", e de uma vez por todas os preditores que foram incluídos no vetor de entrada.
 
Vladimir:

Se alguém quiser ajudar, pegue os dados que eu coloquei aqui há algumas páginas e experimente-os.

Os mesmos dados podem ser convertidos para csv?
 
Stanislav Korotky:
Os mesmos dados podem ser convertidos para csv?
Em anexo. A primeira coluna mostra as datas no formato Matlab, do 1º trimestre de 1959 ao 4º trimestre de 2015. As demais colunas são números econômicos e financeiros não convertidos. O PIB está na 1168ª coluna.
Arquivos anexados:
Data.zip  1037 kb
 

Concluída a previsão linear do PIB. Aqui estão dois trimestres à frente:


Há 4 preditores no modelo, embora 3 sejam suficientes. Depois de 3-4 preditores, o restante parece ruído. Prever o S&P500 com o mesmo método que o GDP funciona muito mal. Eu nem sequer o mostro aqui. Eu também tentei rapidamente transformações não lineares com uma função de passo como descrevi anteriormente. Funciona pior do que a regressão linear.

Aguardando a liberação do novo valor do PIB no final do mês de abril. Descansando por enquanto.

 
Vladimir:
Em anexo. A primeira coluna mostra as datas no formato Matlab, do 1º trimestre de 1959 ao 4º trimestre de 2015. As demais colunas são números econômicos e financeiros não convertidos. O PIB está na coluna 1168.
Obrigado. No entanto, seria desejável ter os nomes de todas as colunas. Além disso, pelo que entendi, as datas não foram copiadas corretamente (com perda da precisão numérica), portanto as entradas vão em grupos de 11 com a mesma data.
 
Vladimir:

Concluída a previsão linear do PIB. Aqui estão dois trimestres à frente:

O quadro é bonito, mas será que poderíamos calcular em cada etapa o produto da mudança prevista pela mudança real, somar durante todo o período e dividir pelo mesmo produto, mas em que as mudanças previstas e reais são tomadas modulo?
Razão: