vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: mehrere funktionen in einer großen funktion unterkriegen 
Autor: Manfred X
Datum: 03.05.11 18:51

Hallo!

Matrix? Tabelle?

Meinst Du so ein Modul? Rückgabe eines Type.

Public Type allstuff
   dOne As Double
   dTwo As Double
   Deltacall As Double
   Gamma As Double
   Vega As Double
   Theta As Double
End Type
 
Public Function mybs(stock, exercise, time, interest, sigma) As allstuff
 
mybs.dOne = dOne(stock, exercise, time, interest, sigma)
mybs.dTwo = dOne(stock, exercise, time, interest, sigma)
mybs.Deltacall = Deltacall(stock, exercise, time, interest, sigma)
mybs.Gamma = Gamma(stock, exercise, time, interest, sigma)
mybs.Vega = Vega(stock, exercise, time, interest, sigma)
mybs.Theta = Theta(stock, exercise, time, interest, sigma)
 
End Function
 
 
Private Function dOne(stock, exercise, time, interest, sigma) As Double
 
    dOne = (Log(stock / exercise) + (interest + (sigma ^ 2) / 2) * time) / _
    (sigma * time)
 
End Function
 
Private Function dTwo(stock, exercise, time, interest, sigma) As Double
 
    dTwo = dOne(stock, exercise, time, interest, sigma) - sigma * Sqr(time)
 
End Function
 
Private Function Deltacall(stock, exercise, time, interest, sigma) As Double
 
    Deltacall = Application.NormSDist(dOne(stock, exercise, time, interest, _
      sigma))
 
End Function
 
Private Function normaldf(x) As Double
 
    normaldf = Exp(-x ^ 2 / 2) / (Sqr(2 * 3.14159265))
 
End Function
 
private Function Gamma(stock, exercise, time, interest, sigma) As Double
 
    Gamma = (normaldf(dOne(stock, exercise, time, interest, sigma))) / (stock * _
      sigma * Sqr(time))
 
End Function
 
Private Function Vega(stock, exercise, time, interest, sigma) As Double
 
    Vega = stock * normaldf(dOne(stock, exercise, time, interest, sigma)) * Sqr( _
      time)
 
End Function
 
Private Function Theta(stock, exercise, time, interest, sigma) As Double
 
    Theta = (-(stock * normaldf(dOne(stock, exercise, time, interest, sigma)) * _
      sigma) / _
    (2 * Sqr(time))) - interest * exercise * Exp(-interest * time) _
    * Application.NormSDist(dTwo(stock, exercise, time, interest, sigma))
 
End Function
Anwendung:
Dim allresults As allstuff
allresults = mybs(10, 5, 3, 2, 2)


Mfg Manfred

Beitrag wurde zuletzt am 03.05.11 um 18:59:03 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
mehrere funktionen in einer großen funktion unterkriegen1.235suchalooser03.05.11 10:50
Re: mehrere funktionen in einer großen funktion unterkriegen611Dirk03.05.11 12:48
Re: mehrere funktionen in einer großen funktion unterkriegen630Manfred X03.05.11 18:51
Re: mehrere funktionen in einer großen funktion unterkriegen638suchalooser03.05.11 19:26
Re: mehrere funktionen in einer großen funktion unterkriegen666Manfred X04.05.11 03:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel