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

Problem mit Code

 

thomas0815
Forum-Century

Forum-Century


Beiträge: 153
Anmeldedatum: 13.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2010, 19:35     Titel: Problem mit Code
  Antworten mit Zitat      
Hallo,

ich war anfangs ganz glücklich, dass mein Code läuft, aber er tut es nun doch nicht Sad Ich weiß aber nicht so recht wo der Fehler liegt.

Es soll das yco für alle nn der for schleife berechnet werden, aber es funktioniert nur für das letzte; ich verstehe das nicht ... vllt. hat jemand eine Idee
Code:
for nn = N-1:-1:2
    y = max(0,-K+S(:,nn));          # payoff of put option
    yex = [];
    X   = [];
    Y   = [];
    for i = 1:n
        if y(i) > 0                     # if in-the-money, then...
            yex = [yex; y(i)]          # exercise values
            X   = [X; S(i,nn)]         # stock prices at exercise values
            Y   = [Y;(disc.^[1:N-nn])*P(i,nn+1:N)']; # discount the cash flows to time step nn
        end
    end
       # basis functions 1, X, X^2
       # Least-Square Regression:              
        par=[polyfit(Y,X,2)]               #Erzeugen einer Matrix mit den Regressionsparametern #Parameterschätzung; Methode der kleinsten Fehlerquadrate; Basisfunktion: Polynom 2. Grades Y=A+BX+CX^2
        A=[ones(size(X))]                  #Matrix zur Berechung des Absolutgliedes des Polynoms
        B= [ X]                   #Matrix zur Berechnung des Lineargliedes des Polynoms
        C=[ X.^2]                     #Matrix zur Berechnung des quadratischen Gliedes des Polynoms
     #Ergebnis der Berechnung; Modellwerte
     # continuation value
       yco= par(1,1)*A+par(1,2)*B+par(1,3)*C


Danke & Gruß,

Thomas
Private Nachricht senden Benutzer-Profile anzeigen


aj.geissler
Forum-Guru

Forum-Guru



Beiträge: 251
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 10.05.2010, 20:28     Titel:
  Antworten mit Zitat      
Hallo Thomas,

schau Dir bitte an, ob zu jeder for-Schleife und zu jedem if das passende "end" angegeben ist.

Ich vermute, zu der äußersten Schleife "for nn" fehlt das passende "end" ?

Grüße
Andreas
_________________

Andreas Geißler
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.