Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • propernsity score matcing

    Hello.
    I have panel data of listed and non listed companies for 20 years and I want to apply the psmatching method. The treatment value is listed(1=listed,0=non listed),pre treatment values ​​(assets,cash,etc) and outcome variable(ETR). I reshaped my data wide and the following variables were created (assets1,assets2,assets3....,cash1,cash2,cash3..., ETR1,ETR2,ETR3,...).
    Can someone tell me what the code is and how to create the pairs with their observations.
    I would like to use the code
    teffects psmatch ,but i dont know how to do ,because i do not have 1 outcome variable , but 20 (ETR1,ETR2,...ETR20)
    Thank you very much

  • #2
    Don't you have 1 outcome over twenty years?

    I'd leave the data in long form, compute the means for all relevant matching variables for the pre-treatment period, estimate the PS, expand the PS to the full sample, and then match/weight on that.

    Comment


    • #3
      I agree with George that you appear to be collapsing a lot of useful information into a cross section. And I'm not convinced your analysis would be valid. What's the nature of the variable "list"? Is it changing over time? Unless it's zero in the first 19 years for all firms you are clearly overcontrolling by including in past values of ETR, which presumably are affected by past outcomes on list.

      This seems like a job for two-way fixed effects with flexible treatment patterns. Keep the data in long format and then study the pattern of "list" over time. Is it a staggered treatment? Hopefully it changes for some firms over the period.

      Comment


      • #4
        Thank you very much because I am stressed. The treatment variable is listed (0 and 1), i.e. listed=1 means the company is on the stock market and 0 when it is not and does not change over the years in my data. Outcome variable is etr index which measures tax evasion. Can you, George, write me the code that I should use, please

        Comment


        • #5
          Outcome variable is one but converting the data to wide it became 20

          Comment


          • #6
            Hmm. That might take some work. Instats.org offers consulting services.

            This isn't a DD model since treatment is constant.

            As a start, in long form, using teffects psmatch or entropy balancing:

            Code:
            teffects psmatch (ETR) (listed assets cash, logit)  //matches firms by year
            
            egen assets_bar = mean(assets), by(id)
            egen cash_bar = mean(cash), by(id)
            
            teffects psmatch (ETR) (listed assets_bar cash_bar, logit)  //matches firms over all years
            
            * Use entropy matching
            ssc install ebalance
            ebalance listed assets cash , generate(wyear) targets(2)  //matches for mean and sd
            ebalance listed assets_mean cash_mean , generate(wall) targets(2) //matches for mean and sd
            
            reghdfe esr listed assets cash [aw=wyear], absorb(year)
            reghdfe esr listed assets cash [aw=wall], absorb(year)

            Comment


            • #7
              George thank you very much.I will use the code, sorry because i am novice

              Comment


              • #8
                Hi guys
                How to analyze the matched companies? I have created a merge column that has values masters only and matched(3). Does anyone know what they mean?

                Comment


                • #9
                  Originally posted by George Ford View Post
                  Hmm. That might take some work. Instats.org offers consulting services.

                  This isn't a DD model since treatment is constant.

                  As a start, in long form, using teffects psmatch or entropy balancing:

                  Code:
                  teffects psmatch (ETR) (listed assets cash, logit) //matches firms by year
                  
                  egen assets_bar = mean(assets), by(id)
                  egen cash_bar = mean(cash), by(id)
                  
                  teffects psmatch (ETR) (listed assets_bar cash_bar, logit) //matches firms over all years
                  
                  * Use entropy matching
                  ssc install ebalance
                  ebalance listed assets cash , generate(wyear) targets(2) //matches for mean and sd
                  ebalance listed assets_mean cash_mean , generate(wall) targets(2) //matches for mean and sd
                  
                  reghdfe esr listed assets cash [aw=wyear], absorb(year)
                  reghdfe esr listed assets cash [aw=wall], absorb(year)
                  when i am using the code bysort taxid :egen aversales=mean(sales)
                  bysort taxid :egen averassets=mean(n_assets)
                  bysort taxid :egen avergrossprofit=mean(grossprofit)
                  teffects psmatch (ETR) (listed aversales averassets avergrossprofit ), atet

                  the stata stata displays the message logit failed to estimate propensity scores; computations cannot proceed

                  Comment


                  • #10
                    dataex some data

                    Comment


                    • #11
                      Originally posted by George Ford View Post
                      dataex some data
                      Thank you very much, I will try to check the data again first

                      Comment

                      Working...
                      X