Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
17.04.2008 12:39:07 |
Bachus |
|
|
|
17.04.2008 16:45:49 |
Holger |
|
|
|
17.04.2008 17:42:10 |
Bachus |
|
|
Aw:Aw:Aw:Wie addiere ich die resultate aus einem l |
18.04.2008 09:54:31 |
Holger |
|
|
|
20.04.2008 12:34:02 |
Bachus |
|
|
Von:
Holger |
Datum:
18.04.2008 09:54:31 |
Views:
693 |
Rating:
|
Antwort:
|
Thema:
Aw:Aw:Aw:Wie addiere ich die resultate aus einem l |
Hallo Bachus,
überprüfe deine Formel. Was du damit willst, habe ich nicht verstanden, so dass ich dir keinen Tipp geben kann. Aber im Ausdruck (1 - Exp(-i / tau)) / (i / tau) wird der Divisor für i=0 ebenfalls 0, so dass die Division keinen Sinn, sondern einen Fehler ergibt. Stehen bei stetiger Verzinsung wirklich im Exponenten der ersten Exponentialfunktion weitere Exponentialfunktionsausdrücke?
Hoffentlich reichen die Hinweise
Holger
Bachus schrieb am 17.04.2008 17:42:10:
Lieber Holger vielen dank für die Antwort. Habe meinen Code verändert, das Ding will aber immer noch nicht laufen, leider. Ich besuche eine Vorlesung, die auf sehr hohem Niveau gehalten wird (Für die 10 Stunden die ich bisher Vba hatte ;)
Bei der Aufgabe geht es darum einen normalen Bond zu Pricen mit Nelson Siegel Daten.
Das Pricing fängt von hinten an, also zuerst der Preis eines Zerocouponbonds mit der ganzen Laufzeit(maturity) berechnen.
Was mit dem Coupon+1 multipliziert wird.(So hat man einen Zerocouponbon mit einem Nennwert entsprechend Coupon und Nennwert.
Bis hierhin habe ich nur einen Bond der einen Coupon gibt, und zwar am Ende. Aber die Coupons erhalte ich ja je nach frequency 2mal im jahr..UND ZWAR DIE HäLfte je..(das habe ich noch nicht einbezogen).
Also muss ich ab Maturity (Laufzeit) -1/frequency die Coupons bewerten. Ich sehe die Coupons als zerocouponbonds (da ich Sie mit dem Coupon multipliziere haben sie den Nennwert des Coupons.
Dafür kommt die schleife ins Spiel, ( bei zum Beispiel einer Maturity von 7 und einer Frequency von 1,
muss die schleife den wert von 6 coupons bestimmen). Diese Werte müssen eben addiert werden und schlussendlich zudem zerocoupon bon den ich zuerst bestimmt habe dazu gerechnet werden.
Bei mir siehr das denn so aus:
Function PriceNS(maturity As Double, coupon As Double, _
frequency As Long, level As Double, _
slope As Double, curvature As Double, _
tau As Double) As Double
Application.Volatile
Dim cr As Double
Dim summecr As Double
Dim e As Double
Dim i As Double
e = 2.71828183
summecr = 0
For i = (maturity - 1 / frequency) To 0 Step -1 / frequency ' hier berechne ich rückwärts jeden einzelnen coupon mit stetiger verzinsung
cr = coupon * (e ^ ((-i) * (level + (-slope + curvature) * _
(1 - Exp(-i / tau)) / (i / tau) _
- curvature * Exp(-i / tau)))) ' hier berechne ich den wert eines zerocouponbons mit facevalue = coupon
summecr = summecr + cr
Next i
PriceNS = ((e ^ ((-maturity) * (level + (-slope + curvature) * _
(1 - Exp(-maturity / tau)) / (maturity / tau) _
- curvature * Exp(-maturity / tau))) * (1 + coupon))) + summecr 'hier addiere ich zum bond mit einem coupon, die werte restlichen Coupons dazu
End Function
Funktioniert leider nicht.
Gibt nur an WERT...
Obli a
Level 4.00%
Slope -3.00%
Curvature 1.00%
Tau 1
Maturity 7
Coupon 4.00%
Frequency 1
Wären zum Beispiel Daten.
Ich wäre dir sehr dankbar wenn du mir helfen könntest! Danke
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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
|
|
17.04.2008 12:39:07 |
Bachus |
|
|
|
17.04.2008 16:45:49 |
Holger |
|
|
|
17.04.2008 17:42:10 |
Bachus |
|
|
Aw:Aw:Aw:Wie addiere ich die resultate aus einem l |
18.04.2008 09:54:31 |
Holger |
|
|
|
20.04.2008 12:34:02 |
Bachus |
|
|