Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kovarianz für ein Aktienportfolio in Excel rechnen

Kovarianz für ein Aktienportfolio in Excel rechnen
22.04.2008 17:14:36
DirkR
Hallo Ex(cel)perten,
momentan habe ich ein grösseres Problem bei mir auf dem Tisch liegen und ich frage mich, ob das evtl. einer von Euch schon mal darstellt hat und mir bei der Lösung behilflich sein könnte, evtl. gibt es sogar irgendwo schon eine Vorlage.
Für ein Aktienportfolio (siehe Anhang) möchte ich gerne über die Varianz das Risiko berechnen, für die einzelnen Positionen ist das kein Problem, aber jetzt würde ich das gerne für das Gesamtportfolio rechnen. Hierfür muss ich die Kovarianzen der einzelnen Titel untereinander berücksichtigen. Die Kovarianzmatrix ist auch schon in der Datei enthalten.
Hat einer von Euch das schon mal umgesetzt auf Basis dieses Daten die Varianz, bzw. das Risiko des Portfolios zu berechnen?
https://www.herber.de/bbs/user/51769.xls
Viele Dank im voraus für Eure Hilfe.
Gruss
Dirk
Userbild

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

Betreff
Datum
Anwender
Anzeige
AW: Kovarianz für ein Aktienportfolio in Excel rec
22.04.2008 20:59:00
matthias
Here you are:

Sub KorrelMatrix_Beispiel()
Dim nAssets%
Dim nData%
Dim inZelle As Range
Set inZelle = Range("a2")
nAssets = inZelle.End(xlToRight).Column - inZelle.Column
nData = inZelle.End(xlDown).Row - inZelle.Row
Call Korrel_KoVar_Matrix(inZelle, Range("aw5"), nAssets, nData, False)
End Sub



Sub Korrel_KoVar_Matrix(Quellzelle As Range, Zielzelle As Range, nAssets%, nWerte%,  _
KovarianzFlag As Boolean)
Dim i As Integer, j As Integer, k As Integer
Dim RisikoWert As Double
Dim Spalte1() As Double
Dim Spalte2() As Double
ReDim Spalte1#(nWerte%)
ReDim Spalte2#(nWerte%)
For i% = 1 To nAssets%
Zielzelle.Offset(0, i%) = Quellzelle.Offset(0, i%)
Zielzelle.Offset(i%, 0) = Quellzelle.Offset(0, i%)
For j% = 1 To nAssets%
' Einlesen der Renditen in Arrays
For k% = 1 To nWerte%
Spalte1#(k%) = Quellzelle.Offset(k%, i%)
Spalte2#(k%) = Quellzelle.Offset(k%, j%)
Next k%
' Berechnen der Kovarianzen und Ablegen in Tabelle
If KovarianzFlag = True Then
RisikoWert# = Application.WorksheetFunction.Covar(Spalte1#(), Spalte2#())
RisikoWert# = RisikoWert# * 12       ' Annualisieren
Else
RisikoWert# = Application.WorksheetFunction.Correl(Spalte1#(), Spalte2#())
End If
Zielzelle.Offset(i%, j%).Value = RisikoWert#
Next j%
Next i%
If KovarianzFlag = True Then
Zielzelle = "Kovarianz"
Else
Zielzelle = "Korrelation"
End If
End Sub


>

Anzeige
AW: Kovarianz für ein Aktienportfolio in Excel rec
23.04.2008 11:41:00
DirkR
Super, vielen Dank schon mal dafür!
Ich bin jetzt leider noch nicht so 100%ig fit in VBA, könntest du mir evtl. noch sagen, welchen Teil ich von den Makros anpassen muss damit es bei mir läuft?
Vielen vielen Dank!
Dirk

AW: Kovarianz für ein Aktienportfolio in Excel rec
23.04.2008 12:01:00
matthias
ja gerne:
die Daten sollten wie folgt angegeben werden:
Bsp. B1 bis E1 - Datenreihenbeschriftung; B2 bis E.... die Renditen
Im Makro inZelle = Range("a1") ändern
in Call Korrel_KoVar_Matrix(inZelle, Range("aw5"), nAssets, nData, False) ggf. Range("aw5") ändern - Ausgabebereich ; das False an der letzten Stelle erzeugt eine Korrellationsmatrix bei True eine Kovarianzmatrix
Viel Erfolg.

Anzeige
AW: Kovarianz für ein Aktienportfolio in Excel rec
23.04.2008 12:13:00
DirkR
ok danke. ich versuch mal mein glück.

AW: Kovarianz für ein Aktienportfolio in Excel rec
23.04.2008 13:04:00
matthias
ach so, in der in der Spalte a1 bis a... sollte etwas stehen, da das Makro daran die Inputs zählt....

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige