Espero que alguém possa me ajudar, pois estou preso a esse problema há um bom tempo.

Tenho um painel de empresas S & P500 de 2010 a 2014 e desejo executar uma regressão incluindo efeitos fixos da indústria e do ano.

Sou iniciante em análise de dados de painel e também em Stata, e não consigo encontrar a resposta em lugar nenhum. Estou tão confuso, pois não tenho certeza se os efeitos fixos da indústria e do ano são equivalentes aos efeitos fixos da seção transversal e do período.

Comentários

  • Há ‘ sa bom artigo em SJ sobre efeitos fixos de alta dimensão, incluindo uma revisão de outros comandos.

Resposta

Digamos que você tenha alguma variável de categoria $ c_i $ (por exemplo, c pode ser a empresa do setor em que $ i $ está). Um ponto matemático importante a se manter em mente é que executar uma regressão de efeitos fixos com efeitos fixos para $ c $ é equivalente a executar uma regressão regular com variáveis indicadoras para cada valor possível de $ c $.

Uma estratégia básica pode ser:

  1. usar xtset industryvar no Stata para indicar que você deseja efeitos fixos para cada valor único de industryvar.
  2. Gere variáveis fictícias para cada ano.
  3. Ligue para xtreg com a opção fe para indicar efeitos fixos, incluindo as variáveis fictícias para o ano como variáveis do lado direito.

Mais ex claramente, você pode fazer algo como:

xtset industry xtreg y x1 x2 i.year, fe 

Isso pressupõe que year é uma variável que contém o ano, industry é uma variável que mantém a indústria etc …

Comentários

  • Caro Matthew, obrigado muito por sua resposta útil. Tentei conforme você aconselhou no Stata e estou feliz com o resultado que obtive. Você se importaria se eu verificar mais uma vez – tenho 418 empresas do índice S & P 500, ao longo de 5 anos de 2020 a 2014, e baixei os códigos SIC de cada empresa para controle dos efeitos da indústria. Assim fiz: xtset sic; xtreg y x1 x2 x3 … i.ano, fe Peço desculpas antecipadamente se minha pergunta parece boba para você, mas eu sou um iniciante absoluto e não tenho ninguém na minha Uni que possa me ajudar com o Painel. Atenciosamente, Milica
  • sim, ‘ é como você faria isso. Outro pensamento aleatório, você pode usar códigos SIC de 4 dígitos ou você também pode tentar códigos SIC de 3 dígitos (por exemplo, gerar uma nova variável SIC3 pegando o código de 4 dígitos, dividindo por 10 e eliminando o restante com a função floor () gen sic3 = floor(sic4/10)).
  • Obrigado por sua resposta gentil e útil. Atenciosamente, Milica

Resposta

Neste contexto, uma regressão de efeito fixo (ou dentro do estimador) é um método para modelagem com painel ou dados longitudinais. Este estimador difere a média das variáveis da unidade de observação de cada variável:

Para indivíduos $ i \ em 1 \ pontos N $, observados nos períodos $ 1 \ pontos T $ e covariáveis $ X_k $ e a variável dependente $ Y $, o estimador de efeito fixo realiza a seguinte transformação:

$ \ breve {Y} _ {it} = Y_ {it } – \ bar {Y} _i $ e
$ \ breve {X} _ {kit} = X_ {kit} – \ bar {X} _ {ki} $ para $ k = 1 \ dots K $

A regressão é executada nas variáveis transformadas. Em stata, isso é implementado usando o comando xtreg com o comando fe opção.

Este comando provavelmente não funcionará na sua situação, uma vez que foi projetado para diferenciar as médias de cada unidade observacional. É provável que você tenha várias empresas que operam em um determinado setor e você deseja diferenciar a média do setor. Este é um caso simples de um modelo linear hierárquico.

Neste situação, você deseja usar o operador i. no Stata:

reg y i.industry i.year 

Você também pode usar o areg comando para obter resultados idênticos:

areg y i.year, absorb(industry) 

O comando areg pode ser útil quando o número de níveis da variável absorvida (o número de setores neste exemplo) é alto.

Se for verdade que existem várias empresas no mesmo setor, como eu suspeito que seja o caso, então, é uma prática comum, que é de bom senso e assintoticamente suportada, agrupar seus erros padrão no nível da indústria. Em stata, isso normalmente é feito com a opção vce(cluster varname).Então, por exemplo, seu regress comando se tornaria

reg y i.industry i.year, vce(cluster industry) 

Em uma observação semelhante, um desenvolvimento bastante recente foram feitas na construção de erros padrão robustos de cluster bidirecional e multifuncional (consulte, por exemplo, o artigo de 2011 de Cameron, Gelbach e Miller no Journal of Business and Economic Statistics ). preocupado com choques que afetam todo o conjunto de ações em um determinado período de tempo, isso pode valer a pena implementar. Doug Miller escreveu um arquivo .ado chamado cgm.ado que implementa um método de agrupamento multiway.

Comentários

  • Eu também sugeriria agrupar os erros se essa abordagem for seguida.
  • Isso ‘ é verdadeiro. Pensei em adicionar esta sugestão, mas me contive porque talvez estivesse fora do escopo. ‘ adicionarei.
  • Eu ‘ estou lutando para ver como o xtreg, fe é totalmente impróprio desde reg y x i.industry i.year, vce(cluster industry) irá gerar estimativas idênticas para x como xtset industry seguido por xtreg y x i.year, vce(robust). Incluir manequins ou humilhar com base no id é exatamente a mesma coisa de uma perspectiva matemática e álgebra linear. Na verdade, para um grande número de variáveis fictícias, o xtreg será computado mais rápido porque 10.000 efeitos fixos + 2 variáveis de interesse envolveriam a resolução de um sistema de 10002 variáveis, enquanto seria apenas um sistema de 2 variáveis nos dados transformados.
  • @MatthewGunn Eu concordo com você no caso de a indústria ser uma unidade observacional observada ao longo do tempo. No entanto, quando há várias unidades observacionais (empresas) por setor, a discussão típica de FE e xtreg .., fe devem ser ajustados. Executar xtset em tal caso resulta em um erro .: ” valores de tempo repetidos no painel. ”
  • você pode ter várias empresas por setor. Isso ‘ está bem, basta não ‘ definir o tsset também.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *