Announcement

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

  • Correcting heteroskedasticity and autocorrelation after ARDL and NARDL?

    Hi.
    I am running ARDL and NARDL model in STATA.
    I wanted to know how to correct for heteroskedasticity, autocorrelation after ARDL and NARDL?
    Also, how to conduct CUSUM and CUSUM square test of stability after this? To my knowledge the STATA command 'estat sbcusum' works only after simple linear regression.
    Please guide.
    Thanks

  • #2
    what command are you using?

    ardl permits:
    estat hettest
    estat sbcusum

    but there is no correction for heteroskedasticity.

    Comment


    • #3
      Thanks for your response Ford


      1. I am using the following command for my NARDL

      Code:
      nardl DV IV, p(2) q(3) deterministic(var1 var2 var3)
      where DV: dependent variable, IV: independent variable for which I want to test the asymmetric effect, and var1,2,3 are other independent variables I don't want the asymmetry for.

      I am getting autocorrelation problem as displayed by Portmanteau test up to lag 34 (chi2). I thought I could solve this by increasing the number of lags, but still the problem exists. I can not work with log as I have negative values in my dataset.

      2. After running the above command when I use 'estat hettest', I am getting the error "variable _dy not found
      r(111)"
      and when I use 'estat sbcusum', I am getting "invalid subcommand sbcusum
      r(321)"

      Comment


      • #4
        I guess estat doesn't work after nardl (though it worked after ardl). A non-linear thing, I suppose.

        Comment


        • #5
          I am conducting ARDL as well.
          1. Using estat hettest P is low so I reject H0 and there is Heterskedasticity. Now how do I correct this in STATA?
          2. estat sbcusum still gives me 'invalid subcommand sbcusum'
          3. How to check for autocorrelation?

          Comment


          • #6
            All of this is regression based. The ECM would add some complexity, but doable. See if this sketch helps and make sure it's theoretically suitable.

            Code:
            webuse lutkepohl2 , clear
            tsset qtr
            eststo ardl: qui ardl ln_consump ln_inc ln_inv, lags(. . 0) aic maxlags(. 2 .) matcrit(lagcombs)
            estat hettest
            estat sbcusum
            
            
            estimates restore ardl
                local XVAR = subinstr("`e(regressors)'"," _cons","",.)
            eststo reg: qui reg ln_consump `XVAR'
            estat hettest
            estat sbcusum
            
            eststo newey: qui newey ln_consump `XVAR' , lag(1)
            
            esttab ardl reg newey

            Comment


            • #7
              If there's serial correlation then it's not clear what the ARDL is identifying because then the dynamics in the mean are incorrect. Heteroskedasticity is a very different matter, as it involves second moments. We can never rule out heteroskedasticity. One can just use "reg, vce(robust)" with the lags put into the regression.

              Comment


              • #8
                I haven't worked with ardl before, but I was thinking the same thing about autocorrelation (the model should be taking care of that).

                As for the hetero, you could use

                reg ln_consump `XVAR', robust

                Comment

                Working...
                X