Anzeige
Archiv - Navigation
1216to1220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA wie bekomme ich ein Ergebnis

VBA wie bekomme ich ein Ergebnis
Uwe
Hallo excel-Freunde!
Ich habe aus dem Netz folgende VBA-Programmierung und bekomme sie nicht zum Laufen, vor allem deshalb weil ich keine Ahnung habe.
Attribute VB_Name = "BS"
Dieses Modul enthält sämtliche Funktionen, die zum internen (in vba) berechnen
der Black & Scholes Formel notwendig sind.
Function bsCall(Kurs As Double, Strike As Double, Sigma As Double, Zins As Double, RLZ As  _
Double)
Berechnet den Preis eines europ‰ischen Calls nach der B/S-Formel
bsCall = Kurs * nv(bsd1(Kurs, Strike, Zins, Sigma, RLZ)) - Strike * nv(bsd2(Kurs, Strike, Zins,  _
_
Sigma, RLZ)) * Exp(-Zins * RLZ)
End Function
Function bsPut(Kurs As Double, Strike As Double, Sigma As Double, Zins As Double, RLZ As Double) _
_
Berechnet den Preis eines europ‰ischen Puts nach der B/S-Formel
bsPut = (-1) * Kurs * nv((-1) * bsd1(Kurs, Strike, Zins, Sigma, RLZ)) + Strike * nv((-1) * bsd2( _
_
Kurs, Strike, Zins, Sigma, RLZ)) * Exp(-Zins * RLZ)
End Function
Function nv(z As Double)
Liefert den Wert der Standardnormalverteilung f¸r einen Z-Wert
nv = Application.WorksheetFunction.NormSDist(z)
End Function
Function bsd1(Kurs#, Strike#, Zins#, Sigma#, RLZ#)
Nach Sandmann 2001, S.272
bsd1 = (Log(Kurs / (Strike * Exp(-RLZ * Zins))) + 0.5 * Sigma ^ 2 * RLZ) / (Sigma * Sqr(RLZ))
End Function
Function bsd2(Kurs#, Strike#, Zins#, Sigma#, RLZ#)
Nach Sandmann 2001, S.272
bsd2 = (Log(Kurs / (Strike * Exp(-RLZ * Zins))) - 0.5 * Sigma ^ 2 * RLZ) / (Sigma * Sqr(RLZ))
End Function

Es handelt sich um eine .bas-Datei, die ich auch importiert habe und habe jetzt über Einfügen->Funktion->Kategorie auswählen 'Benutzerdefiniert' fünf neue Funktionen, die mit BS.... beginnen, davon aber nur bsd1 und bsd2 rechnen, die anderen zeigen lediglich WERT# an.
Insbesondere die nv= verstehe ich gar nicht einzuordnen.
Als Werte habe ich beispielhaft verwendet:
Kurs 7109
Strike 7250
Sigma 19,23
Zins 1,11
RLZ 0,03056
Kann mir jemand sagen, wie ich den Syntax aufbauen muß, um das zum Laufen zu bringen.
Ein Makro scheint es ja nicht zu sein, oder doch? Man sieht, ich verstehe das nicht wirklich.
Für jede Hilfe vorab herzlichen Dank!
Grüße Uwe

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA wie bekomme ich ein Ergebnis
05.06.2011 20:47:33
Uwe
Ist erledigt-
Danke Uwe
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige