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

Veränderung eines MatLab Codes

 

Testrunner
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 21.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2010, 18:19     Titel: Veränderung eines MatLab Codes
  Antworten mit Zitat      
Hallo zusammen,

Ich versuche gerade (als totaler Anfänger) einen Code meinem Datenset anzupassen. Bei diesem handelt es sich um einen statistischen Test ...bzw. mehrere. Ich habe so meine Ideen was ich machen müsste und wollte mich vergewissern ob ich damit nicht komplett falsch liege! Über Feedback würde ich mich daher sehr freuen!!!

Wäre super wenn ihr euch die Zeit nehmt, auch wenn der Text etwas länger ist... Smile! Es ist für euch sicher alles ziemlich basic!

Kurz zum Hintergrund:
Der Test stellt fest, ob die Verschiebung einer Kurve signifikant ist. Bei der Kurve handelt es sich um den effizienten Rand. Die genutzen Daten sind monatliche Renditen auf unterschiedliche Instrumente. Die Frage ist ob sich der effiziente Rand, den man aus der optimalen Kombination der Finanzinstrumente erhält, sich signifikant verändert wenn man zu den 2 ursprünglichen Instrumenten weitere (7 Stück) hinzufügt).

Im folgenden habe ich den ersten Teil des Codes reinkopiert. Danach folgen die Tests die glaube ich im wesentlichen auf den Variablen und Matritzen aufbauen die hier bereits definiert werden.


Ich vermute daher, dass es nur dieser Teil ist den ich anpassen muss:

Code:


load master.dat
US = master(:,2:3);
inter = master(:,4:10);
R1 = [US inter];
K = 2;
N = 7;
A = [1 zeros(1,K); 0 -ones(1,K)];
C = [zeros(1,N); -ones(1,N)];
F = zeros(N,1);
F1 = zeros(N,1);
F2 = zeros(N,1);
delete table7.out
diary table7.out

for ii=1:3

    if ii==1
       fprintf(' Period : 1970/1-2007/12\n')
       R = R1;
       Y = inter;
    end

    if ii==2
       fprintf('\n\n Period : 1970/1-1988/12\n')
       R = R1(1:228,:);
       Y = inter(1:228,:);
    end

    if ii==3
       fprintf('\n\n Period : 1989/1-2007/12\n')
       R = R1(229:456,:);
       Y = inter(229:456,:);
    end

    T = length(R);
    mu1 = mean(R(:,1:K))';
    V11 = cov(R(:,1:K),1);
    a1 = mu1'*inv(V11)*mu1;
    b1 = mu1'*inv(V11)*ones(2,1);
    c1 = ones(1,2)*inv(V11)*ones(2,1);
    d1 = a1*c1-b1*b1;
    mu = mean(R)';
    V = cov(R,1);
    a = mu'*inv(V)*mu;
    b = mu'*inv(V)*ones(N+K,1);
    c = ones(1,N+K)*inv(V)*ones(N+K,1);
    d = a*c-b*b;
    X = [ones(T,1) R(:,1:K)];
    G = [1+a1 b1; b1 c1];

 


Die erste Zeile wird wohl das Datenset sein was das programm benutzen soll. Bei der 2. und 3. Zeile bin ich nicht 100% sicher was die Angaben in den Klammern bedeuten. Kann es sein, dass diese sich auf die 2 ursprünglichen Instrumente (:,2:3) und die in Frage kommenden 7 Erweiterungen beziehen (:,4:10). Die dazwischenliegende Anzahl der Zahlen würde darauf hinweisen. Bedeutet das Konkret, dass die "US" Daten in der 2. und 3. Zeile des Datensets zu finden sind? Und die "Inter" Daten in den Zeilen 4-10? Das wäre dann ja einfach anzupassen.

Was bedeutet die Definition von R1?

Bis zu der Schleife die mit "For" beginnt muss ich nur K (Anzahl ursprünglicher Instrumente) und N (Anzahl in Frage kommender Erweiterungen) anpassen oder?

Bei den ii 1 bis 3 handelt es sich sicher einmal um die komplette Periode und einmal um Subperioden, die mit den Spaltenangaben (ich nehme an der ":" am Ende der Klammer bezeichnet Spalten??) begrenzt sind!

Das fprintf ist doch sicher nur eine Bezeichnung im Outpuf Format oder?

Danach die Variabeln muss ich doch sicher nicht mehr anpassen, da diese immer gleich in den tests benutzt werden und sich aus den Daten zusammensetzen die ich bereits oben in den Zeilen (US 2:3 und Inter 4:10) festgelegt habe???

Vielen Lieben Dank!
Viele Grüße,

Alex
Private Nachricht senden Benutzer-Profile anzeigen


quant82
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2010, 09:00     Titel:
  Antworten mit Zitat      
also ich fang mal an Smile muss in 5min weg also nur kurzer anfang...

zeile 2 und 3 schneiden dir sozusagend die richtigen werte aus der input matrix aus

US sind alle zahlen in der 2 und 3. spalte von master, wobei
( : , Zahl1:Zahl2) bedeutet:
doppeltpunkt ohne argumente rechts und links steht für alle werte der spalte und die beiden Zahlen mit dem Doppelpunkt nach dem komma beschränken dir die spalten. also alle Zeilen von den Spalten Zahl1 bis Zahl2 ... hoffe das ist klar

die 4. zeile fügt dann die beiden so ausgeschnittenen zahlenmatrizen wieder in einer zusammen
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 2025 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.