• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

The basics of ARCH / GARCH

Thank you for going through what I have said and putting me right. I think for the sake of making things easy to understand I may have been too generic in my use of language (not really a good idea I know if you want to be exact).
- there are many kinds of non-stationarity (non-stationarity merely means that the probability distribution of the series is not translation-invariant, nothing more)

So stationarity would mean that the probability distribution of the series is translation-invariant. e.g the mean would be the same?
- the original Dickey–Fuller (DF) test is not asymptotically valid if there's serial correlation present in the error terms (it doesn't allow for serial correlation in the first differences),

I love what you have said but could you explain what this means please? What do you mean by "not asymptotically valid"? I know I am being stupid but where is the asymptote? Also, what is serial correlation and by error terms do you mean differences?
- you might also consider KPSS -- while the above tests are to test for unit root as the null hypothesis (H0), KPSS has it as the alternative hypothesis (H1).

This sounds very interesting. Do any of the other tests have alternative hypothesis?
Also avoid the related derived terms -- I probably wouldn't say "stationarized", since in general there's nothing you can do to non-stationary time-series to make them stationary (well, other than applying somewhat lossy transformations, like multiplying everything by zero ;]); again, if you're dealing with the special case of I(1)/difference-stationary then say so, and then it becomes obvious what to do with difference-stationary time-series, right?

You are quite right really. I think I was trying to make the language a little friendly but in the process lost some accuracy. I'm also learning this on the fly and explaining what I learn as I go. Thanks for correcting me.
 
Thank you for going through what I have said and putting me right. I think for the sake of making things easy to understand I may have been too generic in my use of language (not really a good idea I know if you want to be exact).

Sure, no problem! If you'd like to use a beginners-friendly language, I think something like "difference-stationary" is even easier (and it already carries a recipe). I would probably even consider dropping the use of "non-stationary" altogether in such a case (if anything, it's only more confusing when misused).

So stationarity would mean that the probability distribution of the series is translation-invariant. e.g the mean would be the same?

Yes, in particular a process like this is strict-sense stationary (SSS). Since you've mentioned means and autocorrelation, you can also compare this with a wide-sense stationary (WSS) process (for which looking at these is enough); see Sections 9.2 and 9.3: http://ocw.mit.edu/courses/electric...g-spring-2010/readings/MIT6_011S10_chap09.pdf

I love what you have said but could you explain what this means please? What do you mean by "not asymptotically valid"? I know I am being stupid but where is the asymptote? Also, what is serial correlation and by error terms do you mean differences?

Sure! Not asymptotically valid, as in, even if you had a very large sample (infinitely large), it still wouldn't be valid.
"Asymptotic" as in "asymptotic theory": http://en.wikipedia.org/wiki/Asymptotic_theory_(statistics)

Serial correlation -- you're already familiar with the concept of autocorrelation, so you can think of it as autocorrelation in the error terms process (a process consisting of the error terms): http://www3.nd.edu/~rwilliam/stats2/l26.pdf

Error terms -- the difference between the assumed model and the actual process.
For instance, if you assume that your model for time-series "y" given data "x" is (using a, possibly non-linear, function "f"), for instance:
y(t) = f(x(t)) + e(t)
Then "e" is the error term.

This sounds very interesting. Do any of the other tests have alternative hypothesis?

Yes, of course, all of them do :)
 
Serial correlation -- you're already familiar with the concept of autocorrelation, so you can think of it as autocorrelation in the error terms process (a process consisting of the error terms): http://www3.nd.edu/~rwilliam/stats2/l26.pdf

I had infact encountered the Durbin-Watson statistic whilst reading up on autocorrelation but was unaware it related to serial correlation.

I have calculated the autocorrelation (both weekly and monthly) and am now looking to calculate the PACF. I am finding that doing so in excel quickly starts to get messy. Does anyone know of neat way that I can calculate this?
 
I think it should be set up like an official paper for all of us to read explaining AR, MA, ARMA and ARIMA so we are in the same page.

Some exercises would be great as well.
 
I had actually started putting a document together. I am just not sure I am the best person to make it though as I don't actually understand the concepts properly myself yet.

Maybe I could make a start and then someone could correct me?
 
Ok, so I have very quickly put my understanding so far down into a document. Its very rigorous and may not even be correct so feel free to make changes. It would be good if we could collaborate on producing this document together.

I have only made a start and as you will see have stopped when things start to get technical. If anyone knows how to conduct the ADF test properly then please include it in this document (or another similar one). I meanwhile will continue to muddle together some understanding of how this is done myself then include it if no one else has done so beforehand.

Many thanks.
 

Attachments

  • AR, MA, ARMA, ARIMA.docx
    15.2 KB · Views: 70
Thanks. I am reading the books by Chatfield and Brockwell/Davis on AR, MA, ARMA, ARIMA to understand the foundations. When I get a reasonable idea of what is going on I will write it up (maybe a video/audio as well?). Vacation now so by end of August I would like to present a distillation of these two books.

At some stage we know enough stuff in order to look at some real data from which to build a model and to do forecasting etc.

a. Can we get som data to agree on (VIX, S&P?)
b. Personally, I would like to have some results in C++ (write some code etc.) but any language is OK. Some students have done the QN C++ course, so "C++ for time series" might not be a bad idea.
c. Define goal of project and main use cases. (a use case is this http://en.wikipedia.org/wiki/Use_case)

Here a link on time series software.

http://www.wilmott.com/messageview.cfm?catid=10&threadid=94802&FTVAR_MSGDBTABLE=
 
Hi guys,
First of all, you should not see the AR, MA, ARMA and ARIMA as different things but they all fall in the category of the ARIMA models that we could even extend to the SARIMA (including seasonal effects). The most common approach to my understanding to solve time series problems is the Box-Jenkins methodology. It consists of 3 easy steps that you will use to find the best fitting model to any set of data. These steps are :
  1. Identification
  2. estimation
  3. checking
@Daniel Duffy , know you would prefer so C++ code but most of what you need to solve a time series problem is available out there in the library Forecast of R. I would start by understanding how to solve problems in R then you may want to integrate it to C++.

@Richard Taylor, I have been using this book to learn on times series : http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0471090239.html

I know its old but it has every thing you need in it. This will set you up to understand the most common problems.

Now, when it comes to volatility, you will need to use the GARCH models which are a bit different from the ARIMA in terms of math. I would definitely start by learning the ARIMA models before jumping into the more complex stuff.

I hope this clears some interrogations you may have had.
 
Well, I'd like to share my understanding about GARCH.

First of all, it's widely assumed that the volatility of the stock market is not constant. This is quite an plausible assumption. Moreover, it's believed that the volatility is stationary, which is quite different from that the stock price which is non-stationary. To see the difference between stationary/non-stationary time series, do simulations(could be discussed).

Secondly, since the time series of volatility is stationary, we can try to predict it by ARIMA models(such models is usually used to model stationary time series, for non-stationary ones, some properties might not hold anymore). And this part is usually reflected in the second equation of GARCH model. For example, the second equation of a GARCH(1,1) model tells you that today's volatility is a linear combination of yesterday's volatility(auto-regressive component) and yesterday's prediction error(moving average component).
And now comes to the first equation. I would say that it uses ARMA too (today's return is a linear combination of yesterday's return and yesterday's prediction error), but the parameter estimates doesn't interest us ---- it's generally assumed that return is hard to predict and in fact, most estimation result is "not significant". Some people interpret it as clear the auto-regression and moving average component to make the estimation in the second equation more accurate. Given that such estimations are usually not significant, there seems to be no much difference.

That's my understanding about GARCH models. Any discussion is welcomed.:):)
 
Thanks. I am reading the books by Chatfield and Brockwell/Davis on AR, MA, ARMA, ARIMA to understand the foundations. When I get a reasonable idea of what is going on I will write it up (maybe a video/audio as well?). Vacation now so by end of August I would like to present a distillation of these two books.

At some stage we know enough stuff in order to look at some real data from which to build a model and to do forecasting etc.

a. Can we get som data to agree on (VIX, S&P?)
b. Personally, I would like to have some results in C++ (write some code etc.) but any language is OK. Some students have done the QN C++ course, so "C++ for time series" might not be a bad idea.
c. Define goal of project and main use cases. (a use case is this http://en.wikipedia.org/wiki/Use_case)

Here a link on time series software.

http://www.wilmott.com/messageview.cfm?catid=10&threadid=94802&FTVAR_MSGDBTABLE=

Hi there, I just caught up this thread.
Did you try print('Hello World!') with R, Cuch. That's a lot of fun ;)
'C++ for time series' is an excellent idea. Where is it?
Has the AR, MA, family and friends project made some progress?
Thank you. :)
 
There are plenty of library on R to use the ARIMA models. If you have any specific questions on these , feel free to ask but I dont know about the G/ARCH. I also know there are ways to link your R program to a C++ one.
 
Hi there, I just caught up this thread.
Did you try print('Hello World!') with R, Cuch. That's a lot of fun ;)
'C++ for time series' is an excellent idea. Where is it?
Has the AR, MA, family and friends project made some progress?
Thank you. :)

Hi edouard,
I can even write a loop in R:)

Seriously, progress has been made indeed to understand the model. R looks like a good platform to start with. I still do not have a feeling for much effort/time for C++ (Justin London has a chapter on GARCH).

Here's a practical overview of TS

http://opus.bibliothek.uni-wuerzburg.de/volltexte/2011/5648/pdf/2011_March_01_times.pdf
 
Hi edouard,
I can even write a loop in R:)

Seriously, progress has been made indeed to understand the model. R looks like a good platform to start with. I still do not have a feeling for much effort/time for C++ (Justin London has a chapter on GARCH).

Here's a practical overview of TS

http://opus.bibliothek.uni-wuerzburg.de/volltexte/2011/5648/pdf/2011_March_01_times.pdf

I don't have J.London's book.
Thanks for the link. And please keep us informed when you start to do things on a 'Time series for C++" theme. :)
 
I don't have J.London's book.
Thanks for the link. And please keep us informed when you start to do things on a 'Time series for C++" theme. :)

Edouard,
What kinds of data are you interested in? And what do you want to find in the data?
 
Back
Top