Rolling regressions in stata forex


Estou com o objetivo de fazer uma regressão contínua em Stata, e eu simplesmente quero obter o R-squared. Estou com o objetivo de mantê-lo simples, não estou escrevendo um programa inteiro, mas se isso for necessário, também estou aberto para essas sugestões. No momento, tenho linhas com as quais eu só obto as estimativas dos coeficientes beta e os erros padrão. Acabei de entrar diretamente na GUI. Rolling b se, window (60) keep (date) clear: regress y x O stepize é 1 e o comando correspondente é, portanto, omitido nas codelines. Eu basei isso no manual do stata (statamanuals13tsrolling. pdf). No entanto, neste manual, não vejo o R-squared mencionado. Também estudei o assunto extensivamente e examinei estatalistas, mas não consigo encontrar uma solução. As sugestões para obter uma coluna que inclua o R-quadrado de cada regressão seriam muito apreciadas. Pediu 14 de novembro às 14:06 fechado como fora do tópico por Nick Cox. Gung. Peter Flom 9830 Nov 14 13 at 17:31 Esta questão não parece ser sobre estatísticas dentro do escopo definido na central de ajuda. Se esta questão pode ser reformulada para se ajustar às regras na Central de Ajuda. Por favor, edite a questão. Esta pergunta parece ser fora do tópico porque é sobre o Stata. Provavelmente deve ser solicitado em uma lista dedicada à Stata. Ndash Peter Flom 9830 14 de novembro 13 às 17: 31 Depois eu postei um memorando para fazer regressões de rolamento no software Stata. Letras itálicas referem-se aos códigos Stata. Passo 1: Antes de fazer uma regressão de séries temporais, precisamos declarar este conjunto de dados como um exemplo de séries temporais. Isso pode ser feito usando o comando tsset. O código geralmente é digitado no seguinte formato: tsset panelidvar timeidvar Esta frase permite que o Stata reconheça o conjunto de dados como um painel com duas dimensões. Diferença de seção transversal e desenvolvimento em série do tempo. Enquanto isso, a Stata nos informará as estatísticas básicas para nossas variáveis ​​de identificação de tempo e painel. Passo 2: Às vezes, a Stata indica que nossa variável de ID de tempo pode conter lacunas entre as observações. Este é um problema, uma vez que a Stata exige que o tempo id deve ser contínuo na realização da regressão contínua. O não cumprimento dessa condição pode resultar em erro na estimativa dos coeficientes. Para lidar com esta questão, precisamos primeiro classificar nossas observações de acordo com a ordem do calendário e, em seguida, gerar uma nova variável contínua como os novos carimbos de tempo para cada grupo (empresa). Os códigos para este ranking e geração são os seguintes: classificar groupid timeid bysort groupid: gen ntidn Estes códigos primeiro classificam a amostra por grupos (por exemplo, empresas). E, em seguida, para cada empresa, as observações históricas são posteriormente classificadas de inteiros 1 a n. Ao transferir todos os carimbos de tempo gravados (por exemplo, datas, semanas ou anos) em números, este processo ignora, bem como ignora as lacunas existentes no timeid devido a sessões de negociação não contínuas (como suspender a negociação por feriados, divulgações, Ou quebra de circuito). Nosso ntid pode servir como um id de tempo contínuo em regressão de rolamento posterior. Por último, don8217t se esqueça de fazer o passo 1 novamente para atribuir a nova variável id id. Tsset panelidvar ntid Passo 3: então, nesta etapa, usaremos esta amostra para executar regressões contínuas. O comando de regressão comum é o seguinte: rollreg y x1 x2 x3, move (n) stub (xx) robusto onde rollreg é o código para regressão de rolamento, sujeito à matriz de painel previamente definida. Move (n) define o comprimento da janela de rolamento, enquanto o perno (xx) produz um prefixo 8220 xx8221 na frente de cada item relatado, incluindo coeficientes, erros padrão, r-quadrados e não amostra. Robusto garante que os resultados das estimativas sejam ajustados para a heterogeneidade em variância. P. S: se algumas das observações contiverem valores faltantes em variáveis ​​explicativas (digamos, x1), um passo deve ser inserido antes do nosso passo 2 para se livrar dessas observações inválidas. Uma maneira de excluir o null obs é usar a opção drop: drop if x1. (Atenção, são necessários dois sinais 82208221) Depois de remover essas observações inválidas, podemos seguir nosso passo 2 para classificar as observações restantes de acordo com a ordem do calendário. PS: 2. Se o painel não for equilibrado (aparado) para que diferentes empresas tenham diferentes números de observação na dimensão da série temporal, devemos excluir as empresas que têm menos observações do que as observações combinadas que precisamos para estimar os coeficientes, também Para produzir valores de previsão suficientes. Suponha que n observações sejam usadas na regressão de rolamento para estimar os coeficientes, conforme especificado no comando move (n), e outras observações j são usadas para calcular o 8220alphas8221 (diferença entre valor real e valor de previsão), devemos excluir empresas com observações Menos de nj. Para descobrir e excluir essas observações, usamos um código simples para fornecer o número de observações de calendário que cada empresa possui em toda a amostra. Bys panelid: gen nooN Este código faz uma nova variável, noo, para exibir o número total de observações dentro de cada grupo de empresas. No passo seguinte, removemos empresas com observações insuficientes com base em nossa discussão anterior. Solte se nooltnj (onde n é o tamanho da janela de rolamento e j observações reservadas para a previsão)

Comments