I am currently in the process of trying to replicate a paper by O'Brien & Folta: "Sunk costs, uncertainty and market exit: A real options perspective." (2009)
More specifically I am interested in their way of measuring uncertainty. Their approach is to run a GARCH(1,1) on daily stock returns of a number of companies from the CRSP database and take the calculated conditional variance for each company for each year. Their proxy for uncertainty in an industry is
the median standard deviation of stock volatility for all firms competing in the industry for the relevant year
To get my head around their methodology I am starting out on a smaller scale and just took firms from one industry, for one year out of the CRSP database. However, when running my code (see below) I encounter the issue of non convergence. My questions are as follows:
- Would there be a way in which you ignore the return series for which this phenomena occurs and only use the series for which the GARCH model did converge to calculate the uncertainty proxy?
- Would there be a feasible way to actually make the series converge? Tried the different optimization techniques, but this did not help (which makes sense).
use datastocks.dta
drop permco
drop cusip
reshape wide retx, i(date) j(permno)
gen t = _n
tsset t
foreach x of varlist retx* {
arch `x', arch(1) garch(1)
predict var`x', variance
}
foreach x of varlist var* {
egen sd`x'= sd(`x')
}
egen uncertainty_measure = median(sd*)
p.s. for educational purposes: if anyone has a good reference to read up on GARCH non-convergence and ML issues please suggest
0 Response to How to ignore non converging GARCH(1,1)
Post a Comment