Arch to estimate volatility of equity

#1
Hi, I'm using stata 12 to estimate volatility of equity. My series is non-stationary and I want to use a arch(p,q) arch(1) model to estimate it.

Equity = stock price x number of stocks

I have 1500 observations divided into 23 quarters. I want to estimate volatility of equity per quarter.

How can I do this? And how do I interpret my output?

arch equity, arch(1) is the command I'm using, this gives me the volatility of all my equity. How can I get it per quarter in a good way?

Any help and suggestions are very much appreciated.

Ty!
 
#2
I have one quarter here, 64 obs.


. varsoc equity

Selection-order criteria
Sample: 1/13/2006 - 3/31/2006, but with gaps
Number of obs = 12
+---------------------------------------------------------------------------+
|lag | LL LR df p FPE AIC HQIC SBIC |
|----+----------------------------------------------------------------------|
| 0 | -245.877 4.3e+16 41.1462 41.1312 41.1866 |
| 1 | -226.778 38.197* 1 0.000 2.1e+15 38.1297 38.0998 38.2106 |
| 2 | -225.843 1.8717 1 0.171 2.2e+15 38.1404 38.0955 38.2617 |
| 3 | -224.233 3.2187 1 0.073 2.0e+15* 38.0389 37.979 38.2005* |
| 4 | -223.091 2.2853 1 0.131 2.0e+15 38.0151* 37.9403* 38.2171 |
+---------------------------------------------------------------------------+
Endogenous: equity
Exogenous: _cons

. arch equity (1/1)


ARCH family regression

Sample: 1/2/2006 - 3/31/2006, but with gaps Number of obs = 64
Distribution: Gaussian Wald chi2(.) = .
Log likelihood = -1283.203 Prob > chi2 = .

------------------------------------------------------------------------------
| OPG
equity | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
equity |
_cons | 2.60e+09 9431226 275.82 0.000 2.58e+09 2.62e+09
-------------+----------------------------------------------------------------
ARCH |
arch |
L1. | 1.087628 .32567 3.34 0.001 .449326 1.725929
|
_cons | 1.15e+15 . . . . .
---------------------------------------------------------------------

How should I interpret arch Lag1(L1) being 1.087628?
 

vinux

Dark Knight
#3
Before developing volatility model, you need ensure two things
1) make series stationary
2) Build mean part. like ARMA AR or MA

For the first part, you can take log difference. for second you need to see the acf pacf.

Could you explain what you mean by volatility of equity per quarter
 
#4
Hi, vinux. Ty for you answer.

The best way to make my series stationary is to take the first diff? It is very serially correlated.

I have number of outstanding stocks per quarter, and a series of stock closing prices per quarter.

Date #Stock Stock price Equity
1 jan 2011 100 1 100
2 jan 2011 100 1,05 105
..
3 mar 2011 100 1,1 110

I want to estimate the volatility of equity per quarter, i.e. how much does the value of the equity variate during a quarter.

Any more suggestions would be greatly appreciated. I thought acf pacf was my arma(1/#?) ?
 

vinux

Dark Knight
#5
Usually log difference ( first log then difference) is taken to make stationary for price series. There is rich empirical evidence and theoretical support for this transformation.

Once you made the series stationary, you need to build the mean part, Otherwise the garch/arch estimation may not be proper. arch model is to estimate the conditional volatility.

One quick estimate of quarterly volatility estimate is variance of the return value itself. I am not sure how much the arch model will help to estimate quarterly numbers. may be i am missing something.
 
#6
Ty again. I have now log differentiad my series using gen log_variable = log(variable) and gen log_diffed_variable = d.log_variable.

Now my series is stationary, confirmed by dfuller test. p-value is almost 0.00..

I follow how to to do step 1).

But step 2 alludes me, I understand that acf pacf tells me what parameters I want to estimate but not how to actually use them. I'm estimating variance of equity per quarter to calculate the probability of default for a company. Since the method I'm using to calculate is simplified, I want to use the simplest form of arch(1) model and the simplest acf pacf condition. I'm using quarterly values since the book value of debt, that I use in a latter calculation, is avalible in quarterly reports from companies.

Could you give me some pointers on how do build the mean part in Stata12?
 
#7
Is this in the direction I should be looking?

1)

should I use varsoc to determine number of lags?
ac ld_equity, lags(x?)
pac ld_equity, lags(x?)

2)
arima ld_equity, ar(1)

3)
predict res1, r
predict mserr1, mse
 
#8
To specify what I want to do, I want to forecast the volatility of the series bases on the previous volatility. The prices are now daily returns, they are logged and differentiated. I have also looked at generating two dates, use calenderdate and one compdate for use in the model. In compdate, friday are followed by a monday.

How do I go from having a log differenciated series, to forecasting it?
 

vinux

Dark Knight
#9
To specify what I want to do, I want to forecast the volatility of the series bases on the previous volatility. The prices are now daily returns, they are logged and differentiated. I have also looked at generating two dates, use calenderdate and one compdate for use in the model. In compdate, friday are followed by a monday.

How do I go from having a log differenciated series, to forecasting it?
I haven't used stata, by guessing and looking at web literature the syntax would be
Code:
 . arch d.ln_price, ar(1) ma(1) arch(1) garch(1)
I guess the prediction syntax similar to typical regression.


Other suggestions: Use garch model. Don't expect good prediction power in return series.
 
#10
Thank you again, I understand much better what I'm trying to do today. If I only use arch, arch(1) on my series? Then I get an estimate that doesn't take the autocorrelation and/or partial correlation of my model?


You mentioned earlier "One quick estimate of quarterly volatility estimate is variance of the return value itself." How do you mean? I can approx. quaterly volatility by looking at the variance of log_diff_equity?
 

vinux

Dark Knight
#11
Thank you again, I understand much better what I'm trying to do today. If I only use arch, arch(1) on my series? Then I get an estimate that doesn't take the autocorrelation and/or partial correlation of my model?


You mentioned earlier "One quick estimate of quarterly volatility estimate is variance of the return value itself." How do you mean? I can approx. quaterly volatility by looking at the variance of log_diff_equity?
The order selection(both ARMA and garch) of ARMA GARCH model based on the data. One single model may not fit all data. If you use only arch(1), you need to ensure the volatility is captured by this model( look at correlogram of squared residuals). My suggestion on garch was purely based on my experience. One can also fit arch model, but you may get higher lag of arch also significant.


My understanding is you are interested in "estimate volatility of equity per quarter". This is slightly tricky/ambiguous, since volatility is not constant over time. Yes. The quick estimate I was suggesting is by looking at variance of log returns.
 
#12
Thank you again for you input. I am aware that not all models may fit all my data.

When looking at acf pacf, should I do this with my differentied series or with my original series?

Also, this may be a stupid question, but log returns means that I just log my values (e.g. 3 USD stock price per 29 nov 2011) . I don't calculate the % return per day first?
 

vinux

Dark Knight
#13
Thank you again for you input. I am aware that not all models may fit all my data.

When looking at acf pacf, should I do this with my differentied series or with my original series?

Also, this may be a stupid question, but log returns means that I just log my values (e.g. 3 USD stock price per 29 nov 2011) . I don't calculate the % return per day first?
The foundation of time series analysis is stationarity. So look at acf pacf of log difference series.

log returns and log difference are same. Log difference of a price series is approximately same as returns of the price series.
 
#14
Now I have a weak stationary series, but I've realized that when I check for arch effects I regress my series on a constant.

ln(y) = ln(price) * ln(quantity)

reg dep [no indepeant variable], [options]

Does this even make sense to do?
 
#17
Thank you again, I'll take a good look at it. I have Time series analysis (Hamilton, 1994) but it's a long and though read and for every new thing I try, two new things comes up.

Is the Box-Jenkins method applicable to what I'm trying to do?