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

MMult-Funktion, sagt Typen unverträglich

MMult-Funktion, sagt Typen unverträglich
26.11.2004 13:47:51
Claudi
Hallöchen,
mein Problem ist, das ich einen Vektor mit einer Matrix multiplizieren möchte und wenn ich die MMult-Funktion verwende bringt es mir immer eine Fehlermeldung. Wiess nicht mehr was ich machen soll.
Hier lese ich den Vektor ein...
ReDim VaR(0 To WKNs - 1)
For j = 0 To WKNs - 1 Step 1
VaR(j) = WS2.Cells(j + 2, 252)
Next j
VaR_T = Application.WorksheetFunction.Transpose(VaR)

'Also hier bei ab meckert er dann und sagt "Typen unverträglich"
ab = Application.WorksheetFunction.MMult(VaR_T, KorrMatrix)
'MsgBox a(1)


Wie wäre es am besten, die Variablen zu definieren? Und was kann man machen damit er die Funktion akzeptiert.
Gruß Claudi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MMult-Funktion, sagt Typen unverträglich
26.11.2004 14:41:01
martinP
Hallo,
dein Problem klingt interessant - mache selber VaR-Berechnungen - jedoch auf dem Worksheet und nicht im Code. Frage mich, wie du die Variable ab definiert hast. Müsste eigentlich ein Vektor sein -oder?
lg
Martin
AW: MMult-Funktion, sagt Typen unverträglich
26.11.2004 14:44:30
Claudi
Die Variable ab hab ich garnicht definiert, aber eignetlich müsste man sie als Double definieren, soweit ich weiss, aber die blöde Funktion schluckt das nicht!!!
RG Claudi
AW: MMult-Funktion, sagt Typen unverträglich
martinP
nun ja, die Variable müsste ein Vektor von Doubles sein - die Multiplikation von Vektor und Korrelations-Matrix ergibt ja einen weiteren Vektor.
Martin
AW: MMult-Funktion, sagt Typen unverträglich
glaub,
Hallo,
du hast folgendes Problem: Du multiplizierst die Korrelations-Matrix mit dem transponierten VaR-Vektor. Du musst jedoch 1. den VaR-Vektor mit der Korrelations-Matrix multiplizieren - das Ergebnis ist ein Vektor (ab)
ab = Application.WorksheetFunction.MMult(VaR, KorrMatrix)
2. den Ergebnis-Vektor mit dem transponierten VaR-Vektor multiplizieren:
ac = Application.WorksheetFunction.MMult(ab, VaR_T)
Das Ergebnis ist der VaR deines Portfolios!
lg
Martin
Anzeige
zum dritten:
martinP
Hi, hier mal folgender Tip:
bau einfach folgende zwei Funktionen in deinen VBA-Code ein:
Function VaRPortfolio(VaR, Korr)
a = Application.WorksheetFunction.MMult(VaR, Korr)
b = Application.WorksheetFunction.MMult(a, Transpose(VaR))
VaRPortfolio = b
End Function

Private Function Transpose(Y As Variant) As Variant
Transpose = Application.WorksheetFunction.Transpose(Y)
End Function

du brauchst dann nur mehr im Excel-Arbeitsblatt folgendermaßen den VaR des Portfolios rechnen (zB 2 Wertpapiere mit VaR-Daten in C4-D4 und Korrelations-Daten in F2-G3):
=varPortfolio(C4:D4;F2:G3)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige