Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
612to616
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
612to616
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lineare Interpolation VBA

Lineare Interpolation VBA
25.05.2005 08:25:59
Florian
Hi zusammen,
hab ein kleines Problem, geht um lineare Interpolation.
Ich hab für ein ganzes Jahr für bestimmte Laufzeiten einen Zinssatz (i.d.R. nach Monaten, bei kürzeren Laufzeiten auch wöchentlich unterschieden.
Um Berechnungen mit Laufzeiten, die dazwischen anfallen exakter zu gestalten, möchte/muss ich den Zins (linear) interpolieren. Bsp; Zins für 5 Monate ist 2%, der Zins für 6 Monate 3%, dann soll der Zins für 5,5 Monate 2,5% sein.
Zwischen zwei Stichtagen soll der Zins pro Tag also immer um den gleichen Betrag steigen.
Für die erste Woche gehts bei mir, aber irgendwie komm ich das nich weiter...
Bräuchte aber eine VBA-Lösung, da der normale Datensatz noch wesentlich größer ist.
Vielen Dank,
Gruß Florian
https://www.herber.de/bbs/user/23180.xls

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lineare Interpolation VBA
25.05.2005 10:08:02
Oliver
Versuch's mal damit:

Function Zins(T1 As Integer, Z1 As Single, T2 As Integer, Z2 As Single)
' T1: Stichtag1
' Z1: Zinsatz am Stichtag1
' T2: Stichtag2
' Z2: Zinsatz am Stichtag2
' Funktion berechnet linear interpolierte Zinssätze und gibt diese
' in einem Array zurück. T2 muss größer oder gleich T1 sein, sonst
' funktioniert's nicht (dazu entweder Funktion anpassen oder beim
' Funktionsaufruf aufpassen oder Fehlerbehandlung)
Dim d As Integer
Dim Zinssatz() As Single
ReDim Zinssatz(T2)
For d = T1 To T2
Zinssatz(d) = Z1 + (Z2 - Z1) / (T2 - T1) * (d - T1)
Next d
Zins = Zinssatz
End Function


Sub BeispielAufruf()
' hier wird der interpolierte Zinssatz zwischen
' 2,5 % am Tag4 (=Stichtag1) und 3 % am Tag9 (=Stichtag2) berechnet
Dim z
Dim i As Integer
z = Zins(4, 2.5, 9, 3)
' Zinssatz am Stichtag1
Zins_1 = z(4)
' Zinssatz einem Tag nach Stichtag1
Zins_2 = z(5)  ' usw.
End Sub

Anzeige
AW: Lineare Interpolation VBA
25.05.2005 15:05:08
Florian
Hi Oliver,
Danke Dir, aber läuft bei mir nicht.
Hatts mir eher gleich als normale Prozedur vorgestellt, die speziell in dem Sheet läuft.
Der Datensatz geht noch wesentlich länger, von daher müsst ich die Funktion wieder manuell eingeben.
Vielleicht hätt ja noch jemand nen Vorschlag,... Also die Zinsen an den Stichtagen (d.h. EURIBOR-Tag und Fälligkeitstag fallen zusammen sind vorgegeben. Für die erste Woche krieg ichs hin, er soll nun nur selbstständig weiterhüpfen, muss irgendwie mit ner zusätzlichen for-next gehen, aber ich kriegs nicht ganz hin...
Danke,
Gruß Florian
Anzeige

23 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige