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

 
Vladimir:

3: Rendimentos sobre títulos de diferentes vencimentos mais um

Taxa anual percentual Buy & hold, 1974 - presente: APR = 7,35%

Estratégia de compra e venda usando indicadores econômicos: APR = 13,18%.

Esta estratégia deu um sinal de venda em dezembro de 2019. Nenhum sinal de compra foi dado até agora. Aparentemente, o mercado irá cair.

Comprar e segurar.

Seria interessante ver um teste de avanço de tal modelo, mas não é possível aqui.

Neste momento, tanto quanto sei, todos estão aguardando a eleição.

 
Vladimir:

3: Rendimentos sobre títulos de diferentes vencimentos mais um

Taxa anual percentual Buy & hold, 1974 - presente: APR = 7,35%

Estratégia de compra e venda usando indicadores econômicos: APR = 13,18%.

Esta estratégia deu um sinal de venda em dezembro de 2019. Nenhum sinal de compra foi dado até agora. Aparentemente, o mercado irá cair.

Estamos falando de um instrumento específico ou de um indicador geral?

 
Vladimir :

Assim, a tarefa é prever o índice S&P 500 com base nos indicadores econômicos disponíveis.

Passo 1: Encontre os indicadores. Os indicadores estão disponíveis publicamente aqui: http://research.stlouisfed.org/fred2/ Existem 240.000 deles. O mais importante é o crescimento do PIB. Este indicador é calculado trimestralmente. Daí o nosso passo - 3 meses. Todos os indicadores para um período menor são recalculados para um período de 3 meses, o restante (anual) é descartado. Também descartamos indicadores para todos os países, exceto os Estados Unidos e indicadores que não tenham um histórico profundo (pelo menos 15 anos). Então, com trabalho meticuloso, filtramos um monte de indicadores e obtemos cerca de 10 mil indicadores. Formulamos uma tarefa mais específica de prever o índice S&P 500 um ou dois trimestres à frente, tendo disponíveis 10 mil indicadores econômicos com período trimestral. Faço tudo em MatLab, embora seja possível em R.

Passo 2: Converta todos os dados para a forma estacionária por diferenciação e normalização. Existem muitos métodos aqui. O principal é que os dados originais podem ser restaurados a partir dos dados convertidos. Sem estacionaridade, nenhum modelo funcionará. A série S&P 500 antes e depois da conversão é mostrada abaixo.

Passo 3: Escolha um modelo. Talvez uma rede neural. Pode-se fazer regressão linear multivariável . Você pode fazer regressão polinomial multivariável. Após testar modelos lineares e não lineares, chegamos à conclusão de que os dados são tão ruidosos que não faz sentido entrar em um modelo não linear. O gráfico y(x), onde y = S&P 500 e x = um dos 10 mil indicadores, é uma nuvem quase circular. Assim, formulamos a tarefa ainda mais especificamente: prever o índice S&P 500 um ou dois trimestres à frente, com 10 mil indicadores econômicos com período trimestral, usando regressão linear multivariada.

Passo 4: Selecionamos os indicadores econômicos mais importantes de 10 mil (reduzimos a dimensão do problema). Este é o passo mais importante e difícil. Digamos que levemos a história do S&P 500 até 30 anos (120 trimestres). Para representar o S&P 500 como uma combinação linear de indicadores econômicos de vários tipos, basta ter 120 indicadores para descrever com precisão o S&P 500 ao longo desses 30 anos. Além disso, os indicadores podem ser absolutamente qualquer um para criar um modelo tão preciso de 120 indicadores e 120 valores S&P 500. Portanto, você precisa reduzir o número de entradas abaixo do número de valores de função descritos. Por exemplo, estamos procurando os 10-20 indicadores de entrada mais importantes. Tais tarefas de descrever dados com um pequeno número de entradas selecionadas de um grande número de bases candidatas (dicionário) são chamadas de codificação esparsa.

Existem muitos métodos para selecionar entradas de preditores. Eu tentei todos eles. Aqui estão os dois principais:

  1. Classificamos todos os 10.000 dados por seu poder preditivo do S&P 500. O poder preditivo pode ser medido pelo coeficiente de correlação ou informações mútuas.
  2. Percorremos todos os 10 mil indicadores na parte inferior e escolhemos aquele que deu o modelo linear y_mod = a + b*x1 descrevendo o S&P 500 com o menor erro. Em seguida, selecionamos a segunda entrada novamente enumerando os 10 mil indicadores -1 restantes para que ela descreva o restante y - y_mod = c + d*x2 com o menor erro. etc. Esse método é chamado de regressão gradual ou busca de correspondência.

Aqui estão os 10 principais indicadores com o maior coeficiente de correlação com o S&P 500:

ID da série Atraso Corrente Mudar informações
'PPICRM' 2 0,315 0,102
'CWUR0000SEHE' 2 0,283 0,122
'CES1021000001' 1 0,263 0,095
'B115RC1Q027SBEA' 2 0,262 0,102
'CES1000000034' 1 0,261 0,105
'A371RD3Q086SBEA' 2 0,260 0,085
'B115RC1Q027SBEA' 1 0,256 0,102
'CUUR0000SAF111' 1 0,252 0,117
'CUUR0000SEHE' 2 0,251 0,098
'USMINE' 1 0,250 0,102

Aqui estão os 10 principais indicadores com as informações mais mútuas com o S&P 500:

ID da série Atraso Corrente Mudar informações
'CPILEGSL' 3 0,061 0,136
'B701RC1Q027SBEA' 3 0,038 0,136
'CUSR0000SAS' 3 0,043 0,134
'GDPPOT' 3 0,003 0,134
'NGDPPOT' 5 0,102 0,134
'OTHSEC' 4 0,168 0,133
'LNU01300060' 3 0,046 0,132
'LRAC25TTUSM156N' 3 0,046 0,132
'LRAC25TTUSQ156N' 3 0,046 0,131
'CUSR0000SAS' 1 0,130 0,131

Lag é o atraso da série de entrada em relação à série simulada do S&P 500. Como pode ser visto nessas tabelas, diferentes métodos de escolha das entradas mais importantes resultam em diferentes conjuntos de entradas. Como meu objetivo final é minimizar o erro do modelo, escolhi o segundo método de seleção de entrada, ou seja, enumeração de todas as entradas e seleção da entrada que deu o menor erro.

Passo 5: Escolha um método para calcular o erro e os coeficientes do modelo. O método mais simples é o método COEX, razão pela qual a regressão linear usando este método é tão popular. O problema com o método RMS é que ele é sensível a outliers, ou seja, esses outliers afetam significativamente os coeficientes do modelo. Para reduzir essa sensibilidade, pode-se usar a soma dos valores absolutos dos erros ao invés da soma dos quadrados dos erros, o que leva ao método dos módulos mínimos (MLM) ou regressão robusta. Este método não possui uma solução analítica para os coeficientes do modelo ao contrário da regressão linear. Normalmente os módulos são substituídos por funções de aproximação suaves/diferenciáveis e a solução é realizada por métodos numéricos e leva muito tempo. Tentei os dois métodos (regressão enxuta e MHM) e não notei muita vantagem do MHM. Em vez de MHM, fiz um desvio. Na segunda etapa de obtenção de dados estacionários diferenciando-os, adicionei uma operação de normalização não linear. Ou seja, a série original x[1], x[2], ... x[i-1], x[i] ... é primeiro convertida em uma série de diferenças x[2]-x[1] . .. x [i]-x[i-1] ... e então cada diferença é normalizada substituindo-a por sign(x[i]-x[i-1])*abs(x[i]-x[ i-1] )^u, onde 0 < u < 1. Para u=1, obtemos o método COSE clássico com sua sensibilidade a valores discrepantes. Em u=0, todos os valores da série de entrada são substituídos por valores binários +/-1 com quase nenhum outlier. Para u=0,5, obtemos algo próximo a MNM. O valor ótimo de u está em algum lugar entre 0,5 e 1.

Deve-se notar que um dos métodos populares para converter dados em uma forma estacionária é substituir os valores da série pela diferença nos logaritmos desses valores, ou seja, log(x[i]) - log(x[i-1]) ou log(x[i]/x[i-1]). A escolha de tal transformação é perigosa no meu caso, pois o dicionário de 10 mil verbetes possui muitas linhas com zero e valores negativos. O logaritmo também tem o benefício de reduzir a sensibilidade do método RMS a valores discrepantes. Essencialmente, minha função de transformação sign(x)*|x|^u tem o mesmo propósito que log(x), mas sem os problemas associados a zero e valores negativos.

Etapa 6: Calcule a previsão do modelo substituindo os novos dados de entrada e calculando a saída do modelo usando os mesmos coeficientes do modelo que foram encontrados pela regressão linear nos segmentos anteriores do histórico. Aqui é importante ter em mente que os valores trimestrais dos indicadores econômicos e do S&P 500 vêm quase simultaneamente (com precisão de 3 meses). Portanto, para prever o S&P 500 para o próximo trimestre, o modelo deve ser construído entre o valor trimestral atual do S&P 500 e as entradas atrasadas em pelo menos 1 trimestre (Lag>=1). Para prever o S&P 500 um trimestre à frente, o padrão deve ser construído entre o valor trimestral atual do S&P 500 e as entradas atrasadas em pelo menos 2 trimestres (Lag>=2). etc. A precisão das previsões diminui significativamente com o aumento do atraso maior que 2.

Passo 7: Verifique a precisão das previsões sobre o histórico anterior. A técnica original descrita acima (colocar cada entrada no histórico anterior, escolher a entrada que fornece o menor MSE e calcular a previsão a partir do novo valor dessa entrada) produziu um MSD de previsão ainda pior do que as previsões aleatórias ou nulas. Eu me fiz esta pergunta: por que uma entrada que se encaixa bem no passado deve ter uma boa capacidade de previsão para o futuro? Faz sentido selecionar entradas de modelo com base em seu erro de previsão anterior, em vez de com base no menor erro de regressão nos dados conhecidos.

No final, meu modelo pode ser descrito passo a passo assim:

  1. Upload de dados econômicos do stlouisfed (cerca de 10 mil indicadores).
  2. Preobrazeum dados para uma forma estacionária e normalize.
  3. Escolhemos um modelo linear do índice S&P 500, resolvido analiticamente pelo método RMS (regressão linear).
  4. Escolhemos a duração do histórico (1960 - Q2 2015) e dividimos em um segmento de treinamento (1960 - Q4 1999) e um segmento de teste (Q1 2000 - Q2 2015).
  5. Começamos as previsões a partir de 1960 + N + 1, onde N*4 é o número inicial de valores trimestrais conhecidos do S&P 500.
  6. Nos primeiros N dados, um modelo linear é construído y_mod = a + b*x para cada indicador econômico, onde y_mod é o modelo S&P 500 e x é um dos indicadores econômicos.
  7. Prevemos N + 1 bar com cada modelo.
  8. Calculamos os erros de previsão de N + 1 barras por cada modelo. Lembramos desses erros.
  9. Aumentamos o número de valores conhecidos do S&P 500 em 1, ou seja, N + 1 e repita os passos 6-9 até chegarmos ao final do segmento de treinamento (Q4 1999). Nesta etapa, armazenamos os erros de previsão de 1960 + N +1 ao quarto trimestre de 1999 para cada indicador econômico.
  10. Começamos a testar o modelo no segundo período da história (Q1 2000 - Q2 2015).
  11. Para cada uma das 10 mil entradas, calculamos o erro padrão das previsões para 1960 - Q4 1999.
  12. De 10 mil entradas, selecionamos aquela que teve a menor previsão RMS para 1960 - Q4 1999.
  13. Construímos um modelo linear y_mod = a + b*x para cada indicador econômico para 1960 - Q4 1999.
  14. Prevemos o primeiro trimestre de 2000 por cada modelo.
  15. A previsão da entrada selecionada com o menor RMS de previsões para o intervalo de tempo anterior (1960 - Q4 1999) é escolhida como nossa principal previsão do Q1 2000.
  16. Calculamos os erros de previsão de todas as entradas para o primeiro trimestre de 2000 e os adicionamos ao RMS das mesmas entradas para o intervalo de tempo anterior (1960 - quarto trimestre de 1999).
  17. Passe para o segundo trimestre de 2000 e repita os passos 12-17 até chegarmos ao final da área de teste (2º trimestre de 2015) com o valor desconhecido do S&P 500, cuja previsão é nosso principal objetivo.
  18. Acumulamos erros de previsão para Q1 2000 - Q4 2014 feitos pelas entradas com o menor desvio padrão das previsões nos segmentos anteriores. Esse erro (err2) é nosso modelo de erro de previsão fora da amostra.

Em suma, a escolha de um preditor depende de seu RMS das previsões anteriores do S&P 500. Não há previsão de futuro. O preditor pode mudar ao longo do tempo, mas no final do segmento de teste, ele basicamente para de mudar. Meu modelo selecionou PPICRM com um atraso de 2 trimestres como a primeira entrada para prever Q2 2015. A regressão linear do S&P 500 com a entrada PPICRM(2) selecionada para 1960 - Q4 2014 é mostrada abaixo. Círculos pretos - regressão linear. Círculos multicoloridos - dados históricos para 1960 - Q4 2014. A cor do círculo indica a hora.


Previsões estacionárias do S&P 500 (linha vermelha):

Previsões do S&P 500 em forma bruta (linha vermelha):

O gráfico mostra que o modelo prevê o crescimento do S&P 500 no segundo trimestre de 2015. Adicionar uma segunda entrada aumenta o erro de previsão:

1 erro1=0,900298 erro2=0,938355 PPICRM (2)

2 err1=0,881910 err2=0,978233 PERMIT1 (4)

onde err1 é o erro de regressão. É óbvio que diminui com a adição de uma segunda entrada. err2 é o erro de previsão quadrático médio dividido pelo erro de previsão aleatório. Ou seja, err2>=1 significa que a previsão do meu modelo não é melhor do que as previsões aleatórias. err2<1 significa que a previsão do meu modelo é melhor do que as previsões aleatórias.

PPICRM = Índice de Preços ao Produtor: Materiais Brutos para Processamento Adicional

PERMIT1 = Novas Unidades Habitacionais Privadas Autorizadas por Alvarás de Construção - Em Estruturas com 1 Unidade

O modelo descrito acima pode ser reformulado desta forma. Reunimos 10 mil economistas e pedimos que prevejam o mercado para o próximo trimestre. Cada economista apresenta sua própria previsão. Mas em vez de escolher uma previsão com base no número de livros que escreveram ou no número de Prêmios Nobel que ganharam no passado, esperamos alguns anos coletando suas previsões. Após um número significativo de previsões, vemos qual economista é mais preciso e começamos a acreditar em suas previsões até que algum outro economista o ultrapasse em precisão.

A análise é impressionante, mas uma pergunta permanece: você já pensou que prever 500 (!!!) taxas de influência mútua de uma só vez é um pouco mais difícil do que 1? Realmente, por que o S&P500 foi escolhido? Bem, 500 empresas independentes e difíceis de prever o formam. A lógica elementar sugere que é desejável testar essa abordagem em um emissor, o que aumentará a confiança no resultado final em cerca de ... 500 vezes. :)
 
Реter Konow:
A análise é impressionante, mas uma pergunta permanece: já lhe ocorreu que prever 500 (!!!) afetando um ao outro de uma só vez é um pouco mais difícil do que 1? Quero dizer, realmente, por que o S&P500 é escolhido? Suas 500 empresas independentes e difíceis de prever formam-no. A lógica elementar dita que esta abordagem deve ser testada preferencialmente em um emissor, o que aumentará a confiança no resultado final em cerca de... por um fator de 500. :)
Errado. Embora o tema seja chamado de "prever o mercado com base em indicadores macroeconômicos", mas os indicadores não têm nenhum significado nesta análise. Apenas variáveis substituídas em alguma fórmula após terem sido despersonalizadas matematicamente e dissociadas de todas as conexões semânticas e lógicas externas ao Mundo. Os números secos, dispostos em séries numéricas abstratas, servem de modelo para uma rede neural, que prevê... não, não o mercado, mas a mesma série numérica.

Deste ponto de vista, não faz diferença quantas taxas estão no índice e não importa quais são as políticas de suas empresas, mas é necessário que todas as variáveis e valores sejam substituídos na fórmula. E assim é.

Portanto, tudo está correto, apenas o tópico deve ser chamado de forma diferente, porque essencialmente, não é uma análise fundamental, mas uma análise técnica.
 
Реter Konow:
Errado. Embora o tema seja chamado de "previsão do mercado com base em indicadores macroeconômicos", os indicadores são irrelevantes para esta análise. Apenas variáveis substituídas em alguma fórmula após serem matematicamente despersonalizadas e desidentificadas com todas as ligações semânticas externas e lógicas com o Mundo. Os números secos, dispostos em séries numéricas abstratas, servem de modelo para uma rede neural, que prevê... não, não o mercado, mas a mesma série numérica.

Deste ponto de vista, não faz diferença quantos cursos estão no índice e não importa quais políticas suas empresas têm, mas que todas as variáveis e valores precisam ser substituídos na fórmula. E assim é.

Portanto, tudo está correto, apenas o tópico deve ser chamado de forma diferente, porque em essência não é fundamental, mas sim uma análise técnica.

Acontece a análise técnica sobre os dados fundamentais.

A análise fundamental não é tão simples assim.Há muitos fatores que afetam os preços que não se enquadram nos indicadores econômicos. Estas são eleições, Brexit, todo tipo de rumores e assim por diante. Eles podem influenciar o preço mais do que todos os indicadores econômicos.

 
Fora de tópico. <br/ translate="no">
Há muito tempo tenho me interessado pelas perguntas que surgiram da leitura do "fluxo de consciência" dos numerosos comerciantes no fórum:

1) Por que as pessoas esquecem fácil e rapidamente o objeto de estudo, perdendo-se nas "séries numéricas", coeficientes, etc., e nunca mais voltam ao ponto de origem, vagando para sempre na selvageria da matemática?

2. O que os motiva? É realmente apenas dinheiro?

A primeira pergunta ainda não foi respondida, mas a segunda ... ...existe um:

Todas as buscas de seus companheiros levam a um certo "paraíso" de fórmula de fantasia, onde a existência é coletada, ordenada e previsível em todos os aspectos. É assim que as pessoas inteligentes imaginam o Graal.

O primeiro posto desta linha não demonstra nem o primeiro nem o segundo passo nesta direção obscura...
 
Uladzimir Izerski:

Você obtém análise técnica sobredados fundamentais.

Não é tudo tão simples com umaanálise fundamental.Há muitos fatores que afetam os preços e que não se enquadram nos indicadores econômicos. São eleições, Brexit, boatos de todos os tipos e assim por diante. Eles podem afetar o preço mais do que todos os indicadores econômicos.

Sim, é isso mesmo.
 

Para Peter: Eu não estou prevendo o S&P500 diretamente. O objetivo deste documento é prever recessões a fim de sair do mercado antes que elas ocorram e melhorar a rentabilidade da estratégia buy&hold. Embora o S&P500 contenha ações de 500 empresas, ele é impulsionado por investidores institucionais que compram e vendem o índice em si (ou suas opções), e não seus componentes. 13% ao ano não parece ser muito, mas o suficiente para grandes quantias de dinheiro onde o faturamento é importante. Bernie Madoff atraiu seus clientes prometendo-lhes um modesto 10% ao ano, o que ele não conseguiu alcançar.

Para Uladzimir: concordo que as flutuações de preços dependem de diferentes eventos sociais e políticos, eleições, brexes, infecções, etc. No final, tudo se resume à oferta e demanda de produtos/serviços, desemprego e outros indicadores da economia. Eu não me importo com as flutuações diárias dos preços de mercado. Mesmo uma simples estratégia de buy&hold ganha 7,4% ao ano. Eu me preocupo em evitar posições longas durante as recessões e melhorar a rentabilidade desta estratégia. A propósito, outra estratégia é a compra de bens imóveis. Mas isso rende apenas 5% ao ano, nos EUA.

 
Реter Konow:
Errado. Embora o tema seja chamado de "previsão do mercado com base em indicadores macroeconômicos", os indicadores são irrelevantes para esta análise. Apenas variáveis substituídas em alguma fórmula após serem matematicamente despersonalizadas e desidentificadas com todas as ligações semânticas externas e lógicas com o Mundo. Os números secos, dispostos em séries numéricas abstratas, servem de modelo para uma rede neural, que prevê... não, não o mercado, mas a mesma série numérica.

Deste ponto de vista, não faz diferença quantos cursos estão no índice e não importa quais políticas suas empresas têm, mas que todas as variáveis e valores precisam ser substituídos na fórmula. E assim é.

Portanto, tudo está correto, apenas o tópico deve ser chamado de forma diferente, porque, em essência, não é uma análise fundamental, mas uma análise técnica.

Então, qual é a previsão para o S&P500 ?

 
Vladimir:

Desculpe, mas tudo isso por 5-13% ao ano???? Não vale a pena o esforço).

Razão: