Das Black-Litterman-Modell ist die optimale Portfolioauswahlmethode für Investitionen. Aufgrund seiner Benutzerfreundlichkeit ist es in der Finanzpraxis weit verbreitet, da es im Vergleich zur Optimierung mit dem traditionellen Ansatz der durchschnittlichen Diversifikation intuitive und leicht verständliche Ergebnisse liefert. In diesem Artikel möchte ich anhand von Zahlen eine grobe Erklärung geben, was das Black Ritterman-Modell tut. Bitte überprüfen Sie die Referenzen auf Details wie das Ableiten von Formeln.
Markovitz 'durchschnittlicher Diversifizierungsansatz berechnet das optimale Portfolio, indem er die erwartete Rendite und das erwartete Risiko (Kovarianzmatrix) jedes Vermögenswerts schätzt und den Kompromiss zwischen Maximierung der Rendite und Risikominimierung durch Optimierung der Berechnungen löst. Machen. Obwohl dieser Ansatz leicht zu verstehen ist, weist er für die praktische Anwendung die folgenden Nachteile auf. —— Die Risiken sind relativ stabil und leicht abzuschätzen, aber die Renditen sind schwer vorherzusagen
In der Praxis wird dies daher durch Auferlegen verschiedener Einschränkungen (Positionsgröße, Fluktuationsrate usw.) bei der Optimierungsberechnung behoben. Um dieses Problem zu vermeiden, wurde das Black Ritterman-Modell entwickelt und weit verbreitet.
Das Black Ritterman-Modell ist leicht zu verstehen, wenn Sie in den folgenden drei Schritten darüber nachdenken.
Die Black Ritterman-Optimierung schätzt die erwarteten Renditen, die schwer abzuschätzen sind, nicht direkt. Stattdessen wählt der gesamte Markt das Portfolio durch Optimierung aus, dh das Marktwertgewicht (= Marktportfolio) auf dem aktuellen Markt ist das Ergebnis einer Optimierung, die die geschätzte Rendite und das vom Markt übernommene Risiko angibt. Angenommen, es wurde erhalten. Basierend auf dieser Idee kann die vom Markt erwartete erwartete Rendite (als ausgeglichene Rendite oder implizite Rendite bezeichnet) aus dem Marktwertgewicht (Marktportfolio) und dem geschätzten Risiko berechnet werden. Diese Methode wird als umgekehrte Optimierung bezeichnet, da sie die Optimierungsberechnung im mittleren Dispersionsansatz umkehrt.
Passen Sie den erwarteten Renditewert an, indem Sie die Ansicht (Ausblick) des Anlegers mit der ausgeglichenen erwarteten Rendite kombinieren, die durch die umgekehrte Optimierung in 1 unter Verwendung der Bayes'schen Statistik erzielt wurde. Die Anlegeransicht wird in Form von Vorhersagen wie "Ein Vermögenswert übertrifft B-Vermögenswert um 3%" und "C-Vermögenswertrendite 5%" in das Modell aufgenommen. Sie können eine beliebige Anzahl von Prognosen eingeben und das Vertrauen der Anleger in jede Prognose als Parameter eingeben. Sehr zuversichtliche Vorhersagen wirken sich stärker auf die Rendite aus, und weniger zuversichtliche Vorhersagen wirken sich weniger auf die Rendite aus.
Schließlich berechnet der Optimierungsprozess das neue Portfolio basierend auf den aktualisierten erwarteten Renditen und Risiken.
Werfen wir einen Blick auf die Formeln, die im Black Ritterman-Modell angezeigt werden, sowie auf den in Python implementierten Code. Hier [He & Litterman (1999) -Papier](https://www.google.co.jp/url?sa=t&rct=j&q=1esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwiNza-vodvLAhVI02MkHfUkuUkuUkuUkUu % 3A% 2F% 2Ffaculty.fuqua.duke.edu% 2F ~ charvey% 2FTeaching% 2FIntesaBci_2001% 2FGS_The_intuition_behind.pdf & usg = AFQjCNFAMN5avO_btVZg9P3jbGlEU5VMjw)
Das He & Litterman-Papier zeigt beispielhaft ein Portfolio von Aktienindizes in sieben Ländern (Australien, Kanada, Frankreich, Deutschland, Japan, Großbritannien und den Vereinigten Staaten). Das Marktwertgewicht $ w $, die Korrelationsmatrix und die Volatilität werden als Input angegeben.
Bereiten Sie diese Daten in Python vor.
Die Kovarianzmatrix $ \ Sigma $ (Sigma
) wird aus der Korrelationsmatrix ( Korrelation
) und der Volatilität (std
) berechnet.
python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#Gewicht
w = np.array([[0.016, 0.022, 0.052, 0.055, 0.116, 0.124, 0.615]]).T
#Korrelationsmatrix
correlation = np.array([
[1, 0.488, 0.478, 0.515, 0.439, 0.512, 0.491],
[0.488, 1, 0.664, 0.655, 0.310, 0.608, 0.779],
[0.478, 0.664, 1, 0.861, 0.355, 0.783, 0.668],
[0.515, 0.655, 0.861, 1, 0.354, 0.777, 0.653],
[0.439, 0.310, 0.355, 0.354, 1, 0.405, 0.306],
[0.512, 0.608, 0.783, 0.777, 0.405, 1, 0.652],
[0.491, 0.779, 0.668, 0.653, 0.306, 0.652, 1]])
#Standardabweichung
std = np.array([[0.16, 0.203, 0.248, 0.271, 0.21, 0.2, 0.187]])
#Berechnen Sie die Kovarianzmatrix aus der Korrelationsmatrix und der Standardabweichung
Sigma = correlation * np.dot(std.T, std)
#Der Parameter Delta-Wert ist He&Litterman(1999)Folgen
delta = 2.5
#Der Parameter tau value ist He&Litterman(1999)Folgen
tau = 0.05
Darüber hinaus lauten die Symbole in den folgenden Formeln wie folgt. $ \ Pi $ Ausgewogene erwartete Rendite (nx1 Vektor) $ \ Pi '$ Erwartete Rendite für Anlegeransicht aktualisiert (Vektor nx1) $ w $ Anfangsgewicht (Vektor nx1) $ w '$ posteriores Gewicht (Vektor nx1) $ \ Sigma $ Kovarianzmatrix zurückgeben $ P $, $ Q $ Matrix mit Ansichten der Anleger $ \ Omega $ Matrix zeigt Vertrauen in die Sicht eines Anlegers Parameter $ \ Delta $ (repräsentiert die Vermeidung von Anlegerrisiken) Parameter $ \ tau $ (repräsentiert das Konfidenzintervall für die Kovarianzmatrix)
Der erste Schritt ist die umgekehrte Optimierung. Mit anderen Worten, es ist eine Berechnung, die die Optimierung umkehrt. Wie oben erläutert, werden bei der normalen Optimierung "Rendite" und "Risiko" eingegeben, und der Kompromiss, der die Rendite maximiert und das Risiko minimiert, wird optimiert und berechnet, um das "Portfolio (Gewicht)" zu erhalten. Bei der umgekehrten Optimierung werden dagegen "Portfolio (Gewicht)" und "Risiko" eingegeben und "Rendite" berechnet.
Die Nutzenfunktion in der Optimierungsberechnung wird durch die folgende Formel ausgedrückt, und $ w $, das dieses $ U $ maximiert, ist das optimale Portfolio. $ \ Delta $ in der Formel ist ein Parameter, der den Grad der Risikovermeidung angibt.
U = w^T\Pi - \frac{\delta}{2} w^T \Sigma w
Dieses $ U $ wird durch $ w $ unterschieden, und $ w $, wo es 0 wird, ist das optimale Portfolio.
\frac{dU}{dw} = \Pi - \delta\Sigma w = 0
Löse dies für $ \ Pi $
\Pi = \delta\Sigma w
Mit dieser Formel können Sie die ausgeglichene erwartete Rendite $ \ Pi $ ermitteln. Gehen Sie in Python wie folgt vor:
python
#Finden Sie eine ausgewogene Rendite(reverse optimization)
r_eq = delta * np.dot(Sigma, w)
Geben Sie als Nächstes die Ansicht des Anlegers (Prognose oder Prognose) an und mischen Sie diese mit der zuvor berechneten ausgeglichenen Rendite, um eine neue erwartete Rendite zu erhalten. Im Black Ritterman-Modell wird die Ansicht des Anlegers durch zwei Matrizen $ P $ und $ Q $ dargestellt. Im Beispiel des He & Litterman-Papiers
P = \left( \begin{array}{cccccc} 0 & 0 & -0.295 & 1 & 0 & -0.705 & 0 \\\
0 & 1 & 0 & 0 & 0 & 0 & -1 \end{array} \right) \\\
Q = \left( \begin{array}{c} 0.05 \\\ 0.03 \end{array} \right)
Es sieht aus wie das. Dies entspricht zwei Ansichten: "Deutschland übertrifft andere Europa (Frankreich, Großbritannien) um 5%" und "Kanada übertrifft die USA um 3%". Geben Sie außerdem das Konfidenzniveau für diese beiden Ansichten mit einer Matrix namens $ \ Omega $ an. Im Beispiel des Papiers sind die Werte wie folgt.
\Omega = \left( \begin{array}{cc} 0.001065 & 0 \\\ 0 & 0.000852 \end{array} \right)
Bereiten Sie diese Matrizen auch in Python vor.
python
P = np.array([
[0,0,-0.295,1,0,-0.705,0],
[0,1,0,0,0,0,-1]]) # 2x7 matrix (2: number of views, 7: number of assets)
Q = np.array([[0.05],[0.03]]) # 2-vector
Omega = np.array([
[0.001065383332,0],
[0,0.0008517381]])
Schließlich mischen wir unter Verwendung der "Master-Gleichung" von Black-Litterman die Sichtweise des Anlegers mit der ausgewogenen Rendite, um eine neue Rendite zu finden. Die Formel lautet wie folgt (die Ableitung wird im Referenzpapier ausführlich erläutert).
\Pi' = \Pi + \tau \Sigma P^T \left( P \tau \Sigma P^T + \Omega \right)^{-1} \left( Q - P\Pi\right)
Es ist ein Ausdruck, der Matrixmultiplikation und inverse Matrix enthält, aber es sieht so aus, wenn es in Python geschrieben ist.
python
#Die Sichtweise eines Anlegers mit ausgewogenen Renditen verbinden
r_posterior = r_eq + np.dot( np.dot( tau*np.dot(Sigma,P.T), np.linalg.inv(tau*np.dot(np.dot(P,Sigma),P.T)+Omega)), (Q-np.dot(P,r_eq)))
Gleichzeitig mit der Rückgabe $ \ Pi $ wird auch die Kovarianzmatrix $ \ Sigma $ wie folgt aktualisiert:
\Sigma' = \Sigma + \tau\Sigma - \tau\Sigma P^T \left( P \tau \Sigma P^T + \Omega \right)^{-1} P\tau\Sigma
In Python geschrieben sieht es so aus:
python
Sigma_posterior = Sigma + tau*Sigma - tau*np.dot( np.dot( np.dot(Sigma,P.T), np.linalg.inv(tau*np.dot(np.dot(P,Sigma),P.T)+Omega)), tau*np.dot(P,Sigma))
Schließlich wird die Optimierungsberechnung basierend auf der aktualisierten Rendite $ \ Pi '$ und der Kovarianzmatrix $ \ Sigma' $ durchgeführt, um das neue optimale Gewicht $ w '$ zu erhalten. Hier wird das neue Gewicht $ w '$ durch die folgende Gleichung berechnet, die das Optimierungsproblem analytisch löst.
w' = \Pi' (\delta\Sigma')^{-1}
Wenn Sie in Code schreiben
python
#Führen Sie eine Vorwärtsoptimierung durch, um das optimale Gewicht zu finden
w_posterior = np.dot(np.linalg.inv(delta*Sigma_posterior), r_posterior)
Es wird sein.
Zeichnen wir das alte Gewicht $ w $ und das neue Gewicht $ w '$ in der Grafik. Ich benutze die Plot-Funktion von Pandas.
python
df = pd.DataFrame([w.reshape(7),w_posterior.reshape(7)],
columns=['AUL','CAN','FRA','GER','JAP','UKG','USA'],
index=['Equilibrium Weights','Constrained Optimal Weights'])
df.T.plot(kind='bar', color='br')
Das Ergebnis sieht so aus. Blau steht für das ursprüngliche Marktwertgewicht und Rot für das neu berechnete Portfoliogewicht, das die Ansicht des Anlegers berücksichtigt. Das Ergebnis war, dass die Gewichte Kanadas und Deutschlands zunahmen und die Gewichte Frankreichs, des Vereinigten Königreichs und der Vereinigten Staaten aufgrund der Aussichten der Anleger abnahmen.
Bei der Implementierung des Modells ist das Einstellen von Parametern wie $ \ delta, \ tau, \ Omega $ wichtig. Verschiedene Einstellungsmethoden wurden diskutiert und es ist ein Papier für sich geworden, aber ich habe es diesmal weggelassen. Es ist ein schwarzes Literman-Modell mit einem Sound, der schwierig zu sein scheint, aber war es nicht überraschend einfach? Wie im Artikel erläutert, handelt es sich um eine benutzerfreundliche Methode, da selten unerwartete Ergebnisse wie bei der herkömmlichen durchschnittlich verteilten Optimierungsmethode erzielt werden. Wenn die Anzahl der Assets gering ist, kann sie auch mit Excel berechnet werden. Die japanische Literatur ist begrenzt, daher hoffe ich, dass sie Ihnen beim Verständnis hilft.
Recommended Posts