Thema Datum  Von Nutzer Rating
Antwort
11.05.2008 22:32:33 Bachus
NotSolved
12.05.2008 21:43:54 Holger
NotSolved
13.05.2008 12:23:30 Bachus
NotSolved
13.05.2008 13:06:26 Bachus
NotSolved
Rot Aw:Aw:Aw:Aw:Intervalschachtelung
13.05.2008 17:32:30 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
13.05.2008 17:32:30
Views:
919
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Aw:Intervalschachtelung
Hallo Bachus,
dein neuer Code enthält nicht die Korrekturen, die ich dir bereits genannt habe, dafür aber zusätzliche Fehler. Ich habe dir die Korrekturen in die Ausgangsfassung eingefügt. Damit du BlackScholes, was das auch immer ist, aufrufen kannst, solltest du S, K, T, r und TargetPrice öffentlich deklarieren, weil sie in der Funktion ImVola nicht initialisiert werden und daher bestenfalls den lokalen Wert 0 oder Leerstring haben. Es braucht differenz = 0 nicht erreicht zu werden. Ich würde das Abbruchkriterium für die Do-Loop-Schleife so wählen, dass hinreichende Genauigkeit erreicht wird.

Function ImVola(S As Double, K As Double, _
T As Double, r As Double, TargetPrice As Double, _
Optional PutCall As String = "CALL")

Application.Volatile 'ist das wirklich erforderlich?

Dim x1 As Double, x2 As Double
Dim differenz As Double, sigma As Double

x1 = 0
x2 = 20

Do While Abs(differenz) > 0.0000000001 'oder ein passender Wert
'Do While differenz <> 0

sigma = (x2 - x1 / 2)

differenz = (BlackScholes(S, K, T, r, sigma, [PutCall as String="call"])) - TargetPrice

If differenz > 0 Then x2 = sigma Else x1 = sigma 'falls =0 wird Schleife verlassen
'If differenz > 0 Then x2 As sigma
'If differenz 0 Then GoTo part1
if differenz 0 Then GoTo part1

If differenz 0

sigma = (x2 - x1 / 2)

differenz = (BlackScholes(S, K, T, r, sigma, [PutCall as String="call"])) - TargetPrice

If differenz > 0 Then x2 As sigma
If differenz < 0 Then x1 As sigma


Next

ImVola = sigma

End Function

Vielen Dank im voraus ;)

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.05.2008 22:32:33 Bachus
NotSolved
12.05.2008 21:43:54 Holger
NotSolved
13.05.2008 12:23:30 Bachus
NotSolved
13.05.2008 13:06:26 Bachus
NotSolved
Rot Aw:Aw:Aw:Aw:Intervalschachtelung
13.05.2008 17:32:30 Holger
NotSolved