GARCHKIT 1.0 2 February 2002 Matthew C Roberts matthewcroberts@hotmail.com This toolbox is free software; feel free to modify, fix or improve it. Please, however, upon making substantive changes that you feel improve the software, send me a copy. If I include your version, I will credit you. Note, however, that these functions are free. You may freely make use of them, but may not charge for their distribution. Commercial Use: For commercial users, GARCHKIT is 'trash-and-trinket'-ware. In other words, send me some 'trash' or 'trinkets' with your company logo. Coffee mugs are especially welcome, but any sort of stuff you can shake loose from your marketing department is fine. Finally, if a friend or colleague would like to use GARCHKIT, please refer them to me at the address posted above. This way, they will have the latest revision, and i will be able to make them aware of future updates. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please report any bugs, errors or suggestions to: matt@matthewcroberts.com USAGE NOTES: This toolkit is well-documented internally. A brief overview of the functions is in contents.m. RELEASE NOTES: ================= == VERSION 1.1 == ================= --Added FIGARCH and GARCH-in-Mean estimation and simulation (for details see >>help garchoptset) --Removed all of the MEX files. I would prefer having them, but they take quite alot of time to maintain, and the new JIT compiler of v6.5 greatly reduces the performance difference between MEX files and .m code. I still have all of the code, and I would entertain offers for updating it to incorporate the new features. ================= == VERSION 1.0 == ================= (1) This toolbox is greatly aided by the use of the included MEX files. Although no functionality is gained, estimation will typically be speeded up by a factor of 5 or more. Binaries for version 5.3 and 6.x on windows are included. These should be copied to the 'private' directory. Three pre-compiled MEX files are included: armafilter.dll, garchfilter.dll, and tdis_rnd.dll. Fortran 77 code is included for the first two; it should compile on any platform. The MEX file tdis_rnd.dll uses an IMSL subroutine for the generation of student's t distributed random variates. ======================== == VERSION 1.0 beta 2 == ======================== (1) This is an almost complete overhaul of the old GARCHKIT--it now allows ARMA(Pm,Qm)-GARCH(Pv,Qv) estimation & simulation. It also adds the ability to incrementally change model specifications while re-using parameter estimates. (2) This toolkit includes the MEX functions tdis_rnd.dll and GARCHfilter.dll. The Fortran 77 code that produced each file is also provided. Note that the MEX files were created with Matlab 5.3, and won't work on Matlab 6.0. Sorry, but I don't have 6.0 right now. (3) (I don't know if this still applies for version 6.)Because of my programming style, I use REPMAT quite often. Peter J. Acklam suggested the modification that is contained in the file REPMAT.TXT in this directory. It will substantially improve the performance of this code. VERSION 0.3 (1) Release 0.3 adds major new functionality to GARCHKIT. The ability to use conditionally skewed and/or leptokurtodic distributions has been provided through the use of mixture and student-t distributed GARCH modelling. Options prices may be computed using the results of GARCH estimation via Monte Carlo simulation. (2) In order to accomodate the new functionality, new syntax was needed. All of the old functions still work, and use the same syntax as before, but all new code should use the functions GARCHEST.M, GARCHSIM.M, and GARPRICE.M. These functions are called using structure variables as well as returning their results in structures. See the internal documentation for more information. (3) This toolkit contains the files CREATEGARCHVARIANCE.M, CREATEGARCHVARIANCE.F, and CREATEGARCHVARIANCE.DLL. All of the functionality of the MEX implementation is contained in the m-file. However, the MEX-file cuts the execution time by about 70% for me. The MEX-file should work on any Win32 (NT, Win9x) version of MATLAB. For the others, I have supplied the FORTRAN source file. It is coded in FORTRAN77, all compilers should be able to compile it. ****IF YOU COMPILE THIS ON ANY OTHER PLATFORM, PLEASE SEND ME A COMPRESSED BINARY. I would like to include as many binaries as possible in the release. (4) Note that the estimation of h(1), the conditioning information for the first observation is now OFF by default if you use GARCHEST, it is still ON by default for the old functions. This is to conform with standard practice. VERSION HISTORY 1.1 added FIGARCH and GARCH-in-Mean 1.0 Cleaned up 1.0b2. 1.0b2 Now ARMA(Pm,Qm)-GARCH(Pv,Qv). Increment Specification. Estimate using FMINCON. 0.3 Added MixGARCH estimation, GARCHSIM and GARPRICE. 0.2 Added TGARCH 0.21 Corrected two bugs in TGARCH when using covariates in the volatility equation 0.22 Added F90 code for CREATEGARCHVARIANCE, and changed the .f file so that it doesn't require that %val is supported by the compiler. 23 March 2000 0.30 Changed syntax so that all estimation is handled by GARCHEST, simulation by GARCHSIM, etc., and incorporating structure variables as calling arguments and results. Stopped distributing CREATEGARCHVARIANCE.F90. 0.40 Added ability to estimate ARMA and ARMA-GARCH models