• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Heil Euch, Könige des VBA

Mitglied seit
04.10.2006
Beiträge
643
Reaktionen
0
Ort
München
nu isses soweit. ich kräpel hier in der abteilung rum und brauch zügig nen algorithmus zur numerischen optimierung, den ich in VBA implementieren kann.

Mein erster Gedanke war ja, das Newtoniterationsverfahren zu verwenden und da dieses ja "relativ" empfindlich ist was den Startwert angeht, einfach eine Handvoll von startpunkten zu verwenden und dann schauen, ob genügend viele Ergebnisse (sagen wir, mehr als 50 %) gegen einen Wert Z konvergieren und DIESEN wert Z dann als Ergebnis zu nutzen.

Des scheint mir aber beschisse.

Hat "zufällig" jemand von Euch eine "Ahnung" und / oder Code rumzuliegen mit dem ich gemütlich eine funktion f(z) - a = 0 nach z auflösen kann?

gruß,
der x
 
Mitglied seit
02.02.2005
Beiträge
2.479
Reaktionen
8
das wird so einfach nicht für eine völlig beliebige funktion gehen. entweder man schränkt das ganze auf spezielle funktionstypen ein, oder man braucht nen riesigen katalog von algorithmen, für alle funktionstypen die es gibt. maple kann sowas, aber keine ahnung ob man das in VBA nutzen kann.
 
Mitglied seit
06.10.2006
Beiträge
856
Reaktionen
5
Schalte doch einfach das Bisektionsverfahren vor das Newtonverfahren. So kannst du die Nullstelle vorher und gezielt (durch die Ränder der Bisektion) eingrenzen. Und Bisektion dürfte noch wesentlich leichter zu implementieren sein als Newton.
 
Mitglied seit
04.10.2006
Beiträge
643
Reaktionen
0
Ort
München
ich kann ja kurz noch sagen, dass es um implizite Kurse (!) von optionsformeln geht (also gerade NCIHT um die implied volatility)....

evtl hilft das für den ersten vorschlag (von wuselmops).

@ sinusx:
kannst du da mal kurz etwas genauer drauf eingehen?

vielen dank an euch beide erstmal,
x
 
Mitglied seit
02.08.2002
Beiträge
2.781
Reaktionen
0
Wenn du in VBA arbeitest, scheinst du ja nicht davon auszugehen, dass das ganze an kritische Performancegrenzen stößt. Von daher ist das Bisektionsverfahren auf jeden Fall einfach umzusetzen und vor allem stabil. Falls du die Nullstellen in hoher Genauigkeit benötigst, bietet sich natürlich dann das Newtonverfahren später an.
 
Mitglied seit
04.10.2006
Beiträge
643
Reaktionen
0
Ort
München
okili, ich werd mal versuchen des umzusetzen! mir gehts halt wirklich um gute konvergenz, die geschwindigkeit ist egal, ich arbeite an irgendnem hochleistungs-dingsbums.

danke erstmal für die tipps,
x
 
Mitglied seit
04.10.2006
Beiträge
643
Reaktionen
0
Ort
München
der tipp mit dem hintereinanderschalten der beiden verfahrern hat gefruchtet. vielen dank. super zügige konvergenz, super wenig programmiercode...

hast nen bier verdient, sinusx.
 
Oben