WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Econometrics Toolbox; GARCH-Implementation; Model Validation

 

N

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.11.2011, 16:27     Titel: Econometrics Toolbox; GARCH-Implementation; Model Validation
  Antworten mit Zitat      
Hallo Matlab-Gemeinde;

da ich mich gerade mit Volatility Modeling beschäftige, würde es mich freuen wenn sie mein Problem kurz betrachten können:

Daten sind die Apple-Daten daily von Yahoo.

Code:

%%% Import data [Open, High, Low, Close, Volume, Adj. Close]

S=importdata('appledaily.csv',',')
rawdata=S.data;
textdata=S.textdata;

%%%Extract the data

format shortG
 
price=rawdata(:,6);
price=flipud(price); %old values have to be on top
plot(price)
title('Prices')

ret=price2ret(price);
plot(ret)
title('Returns')

%%%Conditional Mean Model ARMA(0,0) and Conditional Variance Model
%%%GARCH(1,1) under Gauss

spec=garchset('VarianceModel','GARCH','R',0,'M',0,'P',1,'Q',1)
spec=garchset(spec,'Distribution','Gaussian')

 
[coeff,errors,LLF,innovations,sigmas,summary]=garchfit(spec,ret);
garchdisp(coeff,errors)

 


>> garchdisp(coeff,errors)

Mean: ARMAX(0,0,0); Variance: GARCH(1,1)

Conditional Probability Distribution: Gaussian
Number of Model Parameters Estimated: 4

Standard T
Parameter Value Error Statistic
----------- ----------- ------------ -----------
C 0.0017534 0.00029511 5.9414
K 2.0609e-005 1.8155e-006 11.3519
GARCH(1) 0.88992 0.0035058 253.8400
ARCH(1) 0.097079 0.0021299 45.5795


Die Frage nun ist ob das Modell valide ist: Schauen ob die „innovations“ seriell unkorreliert sind.
Das Problem ist aber, dass:

Plot(ret-innovations)~0

Dadurch ändern sich auch nicht die Residuen des gefitteten Modells. Irgendetwas scheint dort also nicht zu stimmen.


N

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2011, 15:05     Titel:
  Antworten mit Zitat      
zum Glück lag der Fehler an meinem Coding Smile

Wenn ich keine Gleichung für den Mittelwert angebe wird ja einfach ret=constant+innovations benutzt. Da die Konstante in meinen Fällen immer quasi bei Null lag war ret~innovations.

Der eigentliche Fehler lag dann an meinem post-test coding, da ich zum Beispiel archtest((innovations-mean(innovations)/std(innovations)) eingab anstatt archtest((innovations-mean(innovations)/sigmas) also durch die errechnete unconditional Variance.

Falsche Normierung der Resiuen...falsche Ergebnisse.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.