|
Rock |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.07.2011, 17:51
Titel: Auflösen und speichern
|
|
Hi,
habe hier eine kleine Aufgabe, die ich nicht richtig hinbekomme.
Bin allerdings auch kein Spezi was MATLAB angeht.
Wir haben als Hausaufgabe die Datei im Anhang bekommen.
Wie ich generell Formeln nach bestimmten Variablen auflöse ist mir bekannt, aber irgendwie scheitere ich an der Zusammensetzung der Black-Scholes-Formel.....
Wäre super, wenn mir da einer helfen könnte.
Zu Aufgabe 2 gibt es noch gps-Daten.
aber erstmal zu Aufgabe 1
schon mal vielen Dank!
Beschreibung: |
|
Download |
Dateiname: |
matlab_fortgeschrittene.pdf |
Dateigröße: |
88.73 KB |
Heruntergeladen: |
3055 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.07.2011, 18:47
Titel:
|
|
Hallo,
beide Aufgaben können mit FSOLVE gelöst werden.
Zur ersten Aufgabe: Betrachte die BS-Formel als eine Funktion der Volatilität v und löse BS(v) = C bzw. BS(V) - C = 0.
Bei konkreten Problemen in der Umsetzung kann man gerne unterstützen.
Grüße,
Harald
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.07.2011, 20:45
Titel:
|
|
hi,
super das du so schnell geantwortet hast.
wie bekomme ich denn die dichtefunktion in die BMS Formel implementiert?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.07.2011, 21:08
Titel:
|
|
Hallo,
mit normcdf.
Grüße,
Harald
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.07.2011, 20:09
Titel:
|
|
Hello,
habe im Anhang mal ein Bild von dem gemacht, was ich hinbekommen habe.
Für normcdf fehlen mir Werte oder?
Ich komme an dieser Stelle leider nicht weiter......
Beschreibung: |
|
Download |
Dateiname: |
Versuch Matlab.png |
Dateigröße: |
115.61 KB |
Heruntergeladen: |
914 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.07.2011, 21:09
Titel:
|
|
Hallo,
die Fehlermeldung ist doch an sich ganz aussagekräftig: die Funktion NORMCDF erwartet double als Input, keine symbolischen Ausdrücke.
Versuchs doch mal mit den von mir vorgeschlagenen Ansätzen, zusammen mit der Hilfe von fsolve.
Grüße,
Harald
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2011, 19:32
Titel:
|
|
Hi,
weiter geht die wilde Reise.
Ich habe im Editor folgendes geschrieben:
??? Error using ==> exp
Not enough input arguments.
Error in ==>
@(sigma)[S*normcdf((log(S/K)+(r+(sigma^2)/2)*T)/(sigma*T^0.5))-K*exp^(-r*T)*normcdf(d1-sigma*T^0.5)]-C
Error in ==> fsolve at 254
fuser = feval(funfcn{3},x,varargin{:});
Error in ==> Versuch1 at 8
fsolve (f, 0.05);
Caused by:
Failure in initial user-supplied objective function
evaluation. FSOLVE cannot continue.
Keine Ahnung was an exp an Werten fehlen soll.
und den nächsten Fehler versteh ich mal garnicht!
Wie immer vielen DANK im voraus
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2011, 19:34
Titel:
|
|
ahhhh....
wenn ich um exp komplett ne Klammer setzte ist der Fehler schonmal weg...
jipiiiiii
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.07.2011, 20:07
Titel:
|
|
Hallo,
was an Argumenten fehlt? Probier mal exp^1. Selbst das geht ja schon nicht. Etwas mit der Syntax vertraut machen sollte man sich schon.
Und jetzt fehlt ja nur noch, d1 zu ersetzen.
Grüße,
Harald
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2011, 21:43
Titel:
|
|
Hi Harald,
wie ich oben schon schrieb, kenne ich mich kaum aus.....
Super, dass du dich trotzdem mit mir rumquälst
Meine Antwort nach d1 auflösung und neuer schreibweise für exp ist:
Equation solved.
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
<stopping criteria details>
Matlab gibt mir als Antwort 0,1999 unter "ans" im workspace.
Ach noch eine Frage zu Teil 1:
Was sagt fsolve (f, 0.05) die 0.05 aus?
Dann kann man ja zu Aufgabe 2 schreiten.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.07.2011, 07:37
Titel:
|
|
Hallo,
die 0.05 ist der Startwert für die Suche nach einer Lösung der Gleichung.
Das hätte dir aber auch die Doku verraten
Grüße,
Harald
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2011, 21:31
Titel:
|
|
So im anhang mal die Daten als Excel-Sheet.
Dachte eigentlich, dass ich die Sache wie folgt lösen kann:
c=299792.458;
f= @ (x,delta) [(norm(x-satpos)-c*((differenz-delta)+delta))];
fsolve(f, 0.005);
Zunächst wundere ich mich aber über diese Delta geschichte, was haben die sich dabei gedacht, oder bin ich falsch gewickelt.
t-i-dach = t-i - delta
t-i = differenz aus signallaufzeiten2 - signallaufzeiten1
Wenn ich t-i-dach in F(x,delta) einsetzte fällt delta doch weg, oder?
Als Antwort bekomme ich;
??? Input argument "delta" is undefined.
Error in ==> @(x,delta)[(norm(x-satpos)-c*((differenz-delta)+delta))]
Error in ==> fsolve at 254
fuser = feval(funfcn{3},x,varargin{:});
Error in ==> Aufgabe2 at 4
fsolve(f, 0.005);
Caused by:
Failure in initial user-supplied objective function evaluation.
FSOLVE cannot continue.
Kann fsolve keine 2 Variablen bestimmen?
Beschreibung: |
|
Download |
Dateiname: |
aufgabe2.rar |
Dateigröße: |
5.78 KB |
Heruntergeladen: |
641 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.07.2011, 22:17
Titel:
|
|
Hallo,
natürlich kann es das. Du musst die beiden Variablen allerdings in einen Vektor stecken, z.B. u mit u(1) = x und u(2) = delta. Das ist übrigens auch klar aus der Dokumentation von FSOLVE ersichtlich.
Es ist ja nicht schlimm, wenn du dich nicht auskennst, aber lies doch bitte mal die Hilfe zu dem Befehl durch? Die Hälfte wenn nicht mehr deiner Fragen werden dort beantwortet.
Grüße,
Harald
|
|
|
Rock |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 14.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2011, 10:51
Titel:
|
|
Hallo,
Im Editor habe folgendes stehen:
ich c=299792.458;
f = @(x) [norm(x(1)-satpos)-c*(differenz+x(2))];
fsolve(f,0.005);
??? Attempted to access x(2); index out of bounds because numel(x)=1.
Error in ==> @(x)[norm(x(1)-satpos)-c*(differenz+x(2))]
Error in ==> fsolve at 254
fuser = feval(funfcn{3},x,varargin{:});
Error in ==> Aufgabe2 at 4
fsolve(f,0.005);
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot
continue.
Ich verstehe leider nur noch bahnhof.....
Ach und so wie die Formel nun angegeben ist, ist es korrekt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 31.07.2011, 11:11
Titel:
|
|
Hallo,
wenn dein gesuchter Vektor zwei Komponenten hat, solltest du vielleicht auch zwei Startwerte angeben
Grüße,
Harald
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|