Kapitel 4. Optimalität und Gleichgewicht

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Ein Großteil der Wirtschaftstheorie basiert auf der Prämisse, dass ein Akteur, der zwei Alternativen hat, sich für eine davon entscheiden kann und wird, wenn er dazu in der Lage ist.

Darrell Duffie (1988)

Eine Portfolioanalyse beginnt mit Informationen über einzelne Wertpapiere. Sie endet mit Schlussfolgerungen zu den Portfolios als Ganzes. Das Ziel der Analyse ist es, Portfolios zu finden, die den Zielen des Anlegers am besten entsprechen.

Harry Markowitz (1959)

In diesem Kapitel geht es um die Modellierung von Agenten und ihren Optimierungsproblemen. Es stellt einige der grundlegenden Bausteine der mikroökonomischen Theorie (siehe Varian (1992)) und der Finanzwirtschaft (siehe Eichberger und Harper (1997)) vor. Im Mittelpunkt dieses Kapitels steht das Paradigma der erwarteten Nutzenmaximierung, das in der Finanzwirtschaft die vorherrschende Methode zur Modellierung der Präferenzen eines Agenten ist. Auf der Grundlage dieses Paradigmas werden zwei zentrale Themen diskutiert.

Zunächst erörtern wir, wie ein Akteur angesichts seiner Präferenzen und seines Anfangsvermögens ein optimales Anlageportfolio wählt. Diese Art von Problem wird in der Regel als optimale Portfolioauswahl bezeichnet. Der hier vorgestellte Ansatz beruht nicht auf einer Vereinfachung wie der Mean-Variance-Portfolio-Ansatz (MVP) und das Capital Asset Pricing Model (CAPM), die das Problem der Auswahl von Anlageportfolios auf die ersten und zweiten Momente der Renditeverteilungen von Finanzanlagen sowie deren Kovarianz reduzieren.

Zweitens: Während die Preise für Finanzanlagen in den beiden vorangegangenen Kapiteln a priori gegeben waren, werden sie in diesem Kapitel aus grundlegenden Prinzipien abgeleitet, indem die Preisbildung für Finanzanlagen zusätzlich zu den Gleichgewichtsargumenten auf der Grundlage des Optimierungsproblems eines sogenannten repräsentativen Agenten analysiert wird. Grob gesagt kann man sich einen repräsentativen Agenten als die Gesamtheit von (unendlich) vielen Agenten vorstellen, dieunabhängig voneinander auf den (Finanz-)Märkten handeln. Die Bedingungen für die Existenz eines solchen repräsentativen Agenten sind bekannt (siehe Kapitel 6 in Milne (1995)) - sie werden in diesem Kapitel jedoch nicht erörtert, da die Finanztheorie im Allgemeinen einfach dieExistenz postuliert.

Das aktuelle Kapitel behandelt hauptsächlich die folgenden Themen aus den Bereichen Finanzen, Mathematik und Python-Programmierung. Was Python betrifft, werden nicht viele neue Elemente eingeführt. Die grundlegenden mathematischen und Python-Werkzeuge für diskrete Finanzmodelle wurden bereits in den beiden vorangegangenen Kapiteln vorgestellt und entwickelt:

Finanzen Mathematik Python

Vorlieben und Nutzen

Nützlichkeitsfunktion

NumPy

Maximierung des Nutzens

Zielfunktion, Budgetbeschränkung, Satz von Lagrange

scipy.optimize.minimize

Indifferenzkurven, Budgetlinie

Funktion

NumPy, matplotlib

Logarithmischer Nutzen

Natürlicher Logarithmus

NumPy, matplotlib

Zeitadditiver Nutzen

Nützlichkeitsfunktion

NumPy,scipy.optimize.minimize

(zeitadditiver) erwarteter Nutzen

Wahrscheinlichkeitsmaß, Theorem von Lagrange

NumPy,scipy.optimize.minimize

Optimales Investitionsportfolio

Theorem von Lagrange, Bedingungen erster Ordnung

NumPy,scipy.optimize.minimize

Preisgleichgewicht, repräsentativer Agent

Theorem von Lagrange, Bedingungen erster Ordnung

NumPy,scipy.optimize.minimize, SymPy

Martingal-Maßnahmen auf unvollständigen Märkten

Menge der Wahrscheinlichkeitsmaße

SymPy, sy.Symbol, sy.solve

Marktabschluss durch Eventualforderungen

Theorem von Lagrange, Bedingungen erster Ordnung

NumPy,scipy.optimize.minimize

Maximierung des Nutzens

Formal wird ein Akteur durch eine Nutzenfunktion modelliert, die eine Reihe von Wahlmöglichkeiten ordnet, mit denen der Akteur konfrontiert wird, und die eine Darstellung seiner Präferenzen ist (siehe Kapitel 7 in Varian (1992)). Betrachte die statische Wirtschaft ohne Unsicherheit aus Kapitel 2. Außerdem nehmen wir an, dass ein Akteur mit einem gewissen Anfangsvermögen ausgestattet ist,w >0 Er kann entscheiden, wie viel von diesem Vermögen er heute ausgeben möchte, t = 0 ausgeben will und wie viel er - über Bankeinlagen - für den zukünftigen Konsum sparen will. Stell dir vor, du stehst vor der Frage, wie viel du für deinen Ruhestand sparen sollst.

Der Agent erhält heute einen Nutzen aus dem Geld, c 0 und in einem Jahr, c 1 gemäß der Nutzenfunktion:

U : ≥0 2 ≥0 , ( c 0 , c 1 ) u ( c 0 , c 1 )

Nehmen wir als Beispiel an u ( c 0 , c 1 ) = c 0 - c 1 -und drückt damit aus, dass Geld heute und in einem Jahr Substitute sind, wenn auch keine perfekten (wenn eines von beiden Null ist, ist auch der Nutzen Null). Wie sieht der optimale Konsumsparplan für den Agenten aus? Ihr eingeschränktes Optimierungsproblem lautet formell:

max c 0 ,c 1 c 0 - c 1 s.t. c 0 + c 1 = w

Nach dem Satz von Lagrange (siehe Kapitel 5 in Sundaram (1996)) kann das eingeschränkte Optimierungsproblem in ein uneingeschränktes Problem der Form umgewandelt werden:

max c 0 ,c 1 ,λ f ( c 0 , c 1 , λ ) = c 0 - c 1 - λ - ( c 0 + c 1 - w )

Die notwendigen Bedingungen erster Ordnung für die Optimalität sind:

f c 0 = c 1 - λ = 0 f c 1 = c 0 - λ = 0 f λ = c 0 + c 1 - w = 0

Daraus kann man leicht ableiten c 0 = c 1 = w 2 als den optimalen Verbrauchs-Sparplan.

Dieses Optimierungsproblem kann in Python modelliert und numerisch gelöst werden, wofür w = 10 gelten soll:

In [1]: def u(c):
            return -c[0] * c[1]  1

In [2]: w = 10  2

In [3]: from scipy.optimize import minimize

In [4]: cons = ({'type': 'eq', 'fun': lambda c: c[0] + c[1] - w})  3

In [5]: opt = minimize(u, (1, 1), constraints=cons)  4

In [6]: opt
Out[6]:      fun: -24.999999999999996
             jac: array([-5., -5.])
         message: 'Optimization terminated successfully'
            nfev: 6
             nit: 2
            njev: 2
          status: 0
         success: True
               x: array([5., 5.])

In [7]: opt['x']  5
Out[7]: array([5., 5.])

In [8]: -opt['fun']   6
Out[8]: 24.999999999999996
1

Die Nutzenfunktion mit einem negativen Vorzeichen, um eine Maximierung durch Minimierung zu erreichen.

2

Das anfängliche Vermögen des Agenten, das zwischen heute und der Zukunft verteilt werden soll.

3

Die Budgetrestriktion als Gleichheitsrestriktion für die Funktion minimize.

4

Die Optimierung mit Anfangsschätzung und Budgetbeschränkung.

5

Der optimale Verbrauchssparplan.

6

Der maximale Nutzen, der durch den optimalen Plan erzielt wird.

Indifferenzkurven

Die optimale Lösung aus dem vorigen Abschnitt kann mit Hilfe von Indifferenzkurven visualisiert werden. Eine Indifferenzkurve wird von allen solchen Kombinationen gebildet c = ( c 0 , c 1 ) die den gleichen Nutzen bringen u ¯ . Die Gleichung, die eine solche Kurve beschreibt, lautet ( c 0 , c 1 ) Raum ist:

u ¯ = c 0 - c 1 c 1 = u ¯ c 0

Die Gleichung, die die Linie beschreibt, die die Budgetbeschränkung darstellt, lautet:

w = c 0 + c 1 c 1 = w - c 0

Das Optimierungsproblem wird in Abbildung 4-1 veranschaulicht, wobei der optimale Plan durch den Punkt gegeben ist - dort liegt die Indifferenzkurve für u ¯ = 25 tangiert die Linie, die die Budgetbeschränkung darstellt.

In Python bedeutet dies den folgenden Code:

In [9]: def iu(u, c0):
            return u / c0  1

In [10]: def c1(c0):
             return w - c0  2

In [11]: import numpy as np
         np.set_printoptions(precision=5)

In [12]: from pylab import mpl, plt
         plt.style.use('seaborn')
         mpl.rcParams['savefig.dpi'] = 300
         mpl.rcParams['font.family'] = 'serif'

In [13]: c0 = np.linspace(1, w)  3

In [14]: plt.figure(figsize=(10, 6))
         plt.plot(c0, c1(c0), label='budget constraint', lw=3.0)
         plt.plot(c0, iu(15, c0), '--', label='$u=15$')
         plt.plot(c0, iu(25, c0), label='$u=25$')
         plt.plot(c0, iu(35, c0), '-.', label='$u=35$')
         plt.plot(opt['x'][0], opt['x'][1], 'ro', label='$c=(5, 5)$')
         plt.legend(loc=0);
1

Funktion für die Indifferenzkurve.

2

Funktion der Haushaltslinie.

3

Der Bereich, über den dargestellt werden soll, ist beides.

ftwp 0401
Abbildung 4-1. Das Problem der Nutzenmaximierung

Angemessene Nutzwertfunktionen

In der Finanzwelt wird der Nutzen, den ein Akteur aus dem Geld zieht, das ihm zu einem bestimmten Zeitpunkt zur Verfügung steht - zum Beispiel als Ersatz für einen anderen realen Vermögenswert, der mit dem Geld gekauft werden könnte - üblicherweise als Funktion ausgedrücktu: ≥0 die drei Bedingungen erfüllen muss:

  1. u ( x ) doppelt differenzierbar ist

  2. du dx > 0

  3. d 2 u dx 2 0

Die erste Bedingung ist eine technische Voraussetzung für die beiden anderen. Die zweite Bedingung formuliert die Idee, dass mehr Geld - unter sonst gleichen Bedingungen - besser ist als weniger Geld. Es wird angenommen, dass die Marktteilnehmer unersättlich sind. Die dritte Bedingung besagt, dass der Grenznutzen einer zusätzlichen Geldeinheit kleiner (oder im Maximum gleich) ist als der Grenznutzen der vorherigen marginalen Geldeinheit. Damit wird angenommen, dass die Funktion steigend und (quasi-)konkav ist.

Logarithmische Nützlichkeit

In diesem Abschnitt wird eine Funktion vorgestellt, die sich gut für Finanzanalysen eignet, die von einem nutzenmaximierenden Akteur ausgehen. Eine solche Funktion, die die drei Bedingungen des vorherigen Abschnitts erfüllt und in der Finanzwelt regelmäßig verwendet wird, um den Nutzen zu modellieren, den ein Akteur aus Geld (oder Konsum) zieht, ist der natürliche Logarithmus u ( x ) = ln x . Dafür erhält man:

  1. du dx = 1 x > 0 für x >0

  2. d 2 u dx 2 = - 1 x 2 < 0 für x >0

Python ermöglicht es uns, die drei relevanten Funktionen zu visualisieren. NumPy wird in Kombination mit vektorisierten Berechnungen verwendet. Abbildung 4-2 zeigt das Diagramm, das durch den folgenden Code erzeugt wird:

In [15]: x = np.linspace(0.5, 10, 50)  1

In [16]: x[:5]  2
Out[16]: array([0.5    , 0.69388, 0.88776, 1.08163, 1.27551])

In [17]: u = np.log(x)  3

In [18]: u1 = 1 / x  4

In [19]: u2 = -1 / x ** 2  5

In [20]: plt.figure(figsize=(10, 6))  6
         plt.plot(x, u, label='$u$')  7
         plt.plot(x, u1, '--', label='$du/dx$')  8
         plt.plot(x, u2, '-.', label='$d^2u/dx^2$')  9
         plt.legend(loc=0);  10
1

Erzeugt ein ndarray Objekt mit Fließkommazahlen zwischen 0,5 und 10 und einem homogenen Abstand, um 50 Werte zu erhalten.

2

Zeigt eine Auswahl der resultierenden Zahlen an.

3

Berechnet die Werte für die Nutzenfunktion.

4

Und sowohl für sein erstes Derivat als auch für...

5

...für seine zweite Ableitung.

6

Erzeugt eine neue Leinwand für das Plotten und liefert Größenparameter.

7

Stellt die Nutzenfunktion dar.

8

Stellt die erste Ableitung dar.

9

Stellt die zweite Ableitung dar.

10

Setzt eine Legende an der optimalen Stelle (loc=0).

ftwp 0402
Abbildung 4-2. Die Funktion des natürlichen Logarithmus und seine erste und zweite Ableitung

Zeitadditiver Nutzen

Mit dem natürlichen Logarithmus als Funktion zur Modellierung des Nutzens eines Agenten aus Geld, den Präferenzen eines Agenten über Konsumsparpläne c = ( c 0 , c 1 ) kann als eine zeitadditive Funktion der folgenden Form beschrieben werden:

U : ≥0 2 , ( c 0 , c 1 ) ln c 0 + κ - ln c 1

κ ≥0 wird angenommen, dass sie Werte annimmt 0 < κ 1 und stellt die Zeitpräferenz des Agenten dar. Sie verkörpert die Idee, dass Geld und Konsum heute einen höheren Wert haben als in einem Jahr. Zumindest schwach werden 100 USD heute den 100 USD in einem Jahr vorgezogen - unabhängig davon, welche Funktion den Nutzen genau beschreibt (unter der Annahme, dass die Präferenzen im Zeitverlauf konsistent sind). Man kann sich das wie einen nicht-monetären Diskontierungsfaktor vorstellen. Es lässt sich leicht nachweisen, dass diese Funktion die drei zuvor beschriebenen Bedingungen erfüllt - sie ist zweifachdifferenzierbar, steigend und konkav - basierend auf den partiellen Ableitungen in Bezug auf c 0 und c 1 .

Wenn der Agent ein Anfangsvermögen von w hat, lautet sein eingeschränktes Optimierungsproblem:

max c 0 ,c 1 ln c 0 + κ - ln c 1 s.t. c 0 + c 1 = w

oder

max c 0 ,c 1 ,λ f ( c 0 , c 1 , λ ) = ln c 0 + κ - ln c 1 - λ - ( c 0 + c 1 - w )

Die notwendigen Bedingungen erster Ordnung für die Optimalität sind:

f c 0 = 1 c 0 - λ = 0 f c 1 = κ - 1 c 1 - λ = 0 f λ = c 0 + c 1 - w = 0

Daraus ergibt sich Folgendes:

1 c 0 = κ - 1 c 1 c 1 = κ - c 0

Der optimale Verbrauchssparplan spiegelt nun die Zeitpräferenz wider, dass der Verbrauch in einem Jahr c 1 festgelegt wird auf κ - c 0 . Es gilt auch

c 0 + κ - c 0 = w c 0 = w 1+κ

und

w 1+κ + c 1 = w c 1 = κ-w 1+κ

Die Budgetbeschränkung ist verbindlich:

w 1+κ + κ-w 1+κ = w+κ-w 1+κ = w

Der folgende Code löst das Optimierungsproblem numerisch für w = 10 . Der optimale Plan spiegelt die Zeitpräferenz wider:

In [21]: import math

In [22]: from scipy.optimize import minimize

In [23]: kappa = 10 / 11

In [24]: def U(c):
             return -(math.log(c[0]) +  kappa * math.log(c[1]))  1

In [25]: w = 10

In [26]: cons = ({'type': 'eq', 'fun': lambda c: c[0] + c[1] - w})  2

In [27]: opt = minimize(U, (1, 1), constraints=cons)

In [28]: opt
Out[28]:      fun: -3.0747286083026886
              jac: array([-0.19091, -0.19091])
          message: 'Optimization terminated successfully'
             nfev: 18
              nit: 6
             njev: 6
           status: 0
          success: True
                x: array([5.23811, 4.76189])

In [29]: opt['x']  3
Out[29]: array([5.23811, 4.76189])

In [30]: -opt['fun']  4
Out[30]: 3.0747286083026886
1

Die Nutzenfunktion mit einem negativen Vorzeichen, um eine Maximierung durch Minimierung zu erreichen.

2

Die Budgetrestriktion als Gleichheitsrestriktion für die Funktion minimize.

3

Der optimale Verbrauchssparplan, der die Zeitpräferenz widerspiegelt, in dem c 0 höher ist als c 1 -um genau 10%.

4

Der maximale Nutzen, der durch den optimalen Plan.1

Erwarteter Nutzwert

betrachten wir nun die statische Zwei-Zustände-Wirtschaft mit Unsicherheit. Nehmen wir an, dass ein Akteur, der mit einem gewissen Anfangsvermögen ausgestattet ist,w >0 , gewinnt seinen Nutzen nur durch das in einem Jahr verfügbare Geld - nun aber unterschieden in den beiden Zuständen, die dann möglich sind. Dies soll ein reines Investitionsproblem darstellen, bei dem das gesamte verfügbare Anfangsvermögen optimal in die gehandelten Finanzanlagen investiert werden soll.

Angenommen, es werden zwei finanzielle Vermögenswerte gehandelt, eine risikolose Anleihe mit dem Preisprozess

B = B 0 , (B 1 ,B 1 ) T

und eine riskante Aktie mit Preisverlauf

S = S 0 , (S 1 u ,S 1 d ) T

Finanzielle Vermögenswerte sind ein Mittel, um das ursprüngliche Vermögen von heute auf einen späteren Zeitpunkt zu übertragen. Das Hauptentscheidungsproblem des Agenten besteht darin, zu entscheiden, was er in einem der beiden zukünftigen Zustände konsumieren soll.

Ein Modell für das Investitionsproblem, mit dem der Agent unter Unsicherheit konfrontiert ist, ergibt sich aus dem erwarteten Nutzen des Agenten, der zu maximieren ist, wenn w . Die erwartete Nutzenfunktion ist gegeben durch:

U : ≥0 2 , c 1 𝐄 P ( u ( c 1 ) )

Mit dem Preisvektor 0 = (B 0 ,S 0 ) T kann der Agent seinen anfänglichen Reichtum folgendermaßen verteilen

0 - ϕ = w B 0 - b + S 0 - s = w

wobeiϕ=(b,s) T ≥0 2 stellt das Portfolio dar, das aus der risikolosen Anleihe und der risikobehafteten Aktie besteht, so wie es der Agent zusammenstellt. Diese Budgetbeschränkung wird immer bindend sein, da der Agent unersättlich ist. Leerverkäufe sind nicht erlaubt.

Die Marktauszahlungsmatrix ist wie folgt:

= B 1 S 1 u B 1 S 1 d

Wie viel Geld hat der Vermittler in einem Jahr in beiden Staaten zur Verfügung? Das hängt von dem Portfolio ab, das der Vermittler zusammenstellt:

c 1 = - ϕ = B 1 B 1 - b + S 1 u S 1 d - s

Dies führt zu

c 1 = b - B 1 + s - S 1 u b - B 1 + s - S 1 d

oder

c 1 u = b - B 1 + s - S 1 u c 1 d = b - B 1 + s - S 1 d

Das vollständige Entscheidungsproblem - im Hinblick auf die optimale Portfoliowahl - desAgenten kann dann als das folgende eingeschränkte Optimierungsproblem dargestellt werden:

max c 1 𝐄 P ( u ( c 1 ) ) (i) w = 0 - ϕ (ii) c 1 = - ϕ

oder nach Ersetzen von c 1

max ϕ 𝐄 P ( u ( - ϕ ) ) w = 0 - ϕ

Nach dem Satz von Lagrange kann man dieses Problem in ein uneingeschränktes Optimierungsproblem der Form umwandeln.

max b,s,λ f ( b , s , λ ) = 𝐄 P u ( b - B 1 + s - S 1 ) - λ - ( b - B 0 + s - S 0 - w )

wobei der Agent wählt b und s um den erwarteten Nutzen unter Berücksichtigung derBudgetbeschränkung zu maximieren.

Erwartungsnutzentheorie

Jahrzehnte nach ihrer Formulierung und Einführung ist die Erwartungsnutzentheorie (EUT) immer noch das vorherrschende Entscheidungsparadigma im Finanzwesen. Eine ihrer wichtigsten Annahmen - dass die Akteure alle möglichen zukünftigen Zustände und deren Wahrscheinlichkeiten kennen - wird in der Realität kaum je erfüllt. Dennoch ist die EUT für viele intellektuell ansprechend und führt zu "schönen" Ergebnissen, die oft leicht zu verstehen und zu interpretieren sind. Mehr zu den Problemen mit diesem zentralen Paradigma in der Finanzwelt findest du in Hilpisch (2020, Kapitel 3 und 4).

Optimales Anlageportfolio

Wie sieht eine optimale Lösung für den erwarteten Nutzen maximierenden Agenten aus? Im Allgemeinen kann die Antwort auf der Grundlage der Bedingungen erster Ordnung gegeben werden, die hier für eine optimale Lösung notwendig und ausreichend sind:

f b = 0 f s = 0 f λ = 0

oder

f b = p - B 1 - u ' b - B 1 + s - S 1 u + ( 1 - p ) - B 1 - u ' b - B 1 + s - S 1 d - λ - B 0 = 0

und

f s = p - S 1 u - u ' b - B 1 + s - S 1 u + ( 1 - p ) - S 1 d - u ' b - B 1 + s - S 1 d - λ - S 0 = 0

mit der üblichen Schreibweise u ' ( x ) du dx sowie

b - B 0 + s - S 0 = w

Unter der Annahme eines logarithmischen Nutzens und für die Preisprozesse der beiden gehandelten finanziellen Vermögenswerte B = ( 10 , 11 ) und S = 10 , (20,5) T , beziehungsweise. Mit w = 10 gilt b + s = 1 so dass die Portfoliopositionen Prozentwerte darstellen.

In Python ist die Funktion minimize aus dem Unterpaket scipy.optimize ebenfalls geeignet, um das Investitionsproblem des Agenten zu lösen:

In [31]: B = (10, (11, 11))  1

In [32]: S = (10, (20, 5))  2

In [33]: M0 = np.array((B[0], S[0]))  3

In [34]: M = np.array((B[1], S[1])).T  4

In [35]: p = 0.5  5

In [36]: P = np.array((p, 1-p))  5

In [37]: def U(phi):
             c1 = np.dot(M, phi)  6
             return -np.dot(P, np.log(c1))  6

In [38]: -U((1, 0))  7
Out[38]: 2.3978952727983707

In [39]: -U((0, 1))  7
Out[39]: 2.3025850929940455

In [40]: -U((0.5, 0.5))  7
Out[40]: 2.410140782802518

In [41]: w = 10

In [42]: cons = ({'type': 'eq',
                  'fun': lambda phi: np.dot(M0, phi) - w})  8

In [43]: opt = minimize(U, (1, 1), constraints=cons)  9

In [44]: opt
Out[44]:      fun: -2.4183062699261972
              jac: array([-1.     , -0.99999])
          message: 'Optimization terminated successfully'
             nfev: 15
              nit: 5
             njev: 5
           status: 0
          success: True
                x: array([0.69442, 0.30558])

In [45]: opt['x']  10
Out[45]: array([0.69442, 0.30558])

In [46]: -opt['fun']  11
Out[46]: 2.4183062699261972

In [47]: -U(opt['x'])  11
Out[47]: 2.4183062699261972

In [48]: np.dot(M, opt['x'])  12
Out[48]: array([13.75022,  9.16652])
1

Der Kursverlauf der Anleihen und...

2

...den Aktienkursverlauf.

3

Der Preisvektor der beiden gehandelten finanziellen Vermögenswerte.

4

Die Marktauszahlungsmatrix der beiden gehandelten finanziellen Vermögenswerte.

5

Das physikalische Wahrscheinlichkeitsmaß für die Wirtschaft.

6

Die erwartete Nutzenfunktion mit logarithmischem Nutzen.

7

Einige Beispielwerte für die Gesamtportfoliogewichtung von 1-Diversifikation zahlt sich aus.

8

Die Budgetbeschränkung basiert auf dem Punktprodukt der Preis- undPortfolio-Vektoren.

9

Das Problem der erwarteten Nutzenmaximierung als Minimierung.

10

Die optimale Aufteilung zwischen Anleihe und Aktie.

11

Der optimale erwartete Nutzwert.

12

Die staatlich bedingte Auszahlung aus dem optimalen Portfolio.

Zeitadditiver erwarteter Nutzen

Es ist möglich, das Entscheidungsproblem des Agenten so zu formulieren, dass auch der Nutzen des Geldes mit einbezogen wird:

U : R 0 × 0 , ( c 0 , c 1 ) u ( c 0 ) + κ - 𝐄 P ( u ( c 1 ) )
U : R ≥0 × ≥0 , ( c 0 , c 1 ) u ( c 0 ) + κ - 𝐄 P ( u ( c 1 ) )

Mit Anfangsvermögen w lautet das Optimierungsproblem in uneingeschränkter Form:

max c 0 ,b,s,λ f ( c 0 , b , s , λ ) = u ( c 0 ) + κ - 𝐄 P u ( b - B 1 + s - S 1 ) - λ - ( c 0 + b - B 0 + s - S 0 - w )

Mit den Annahmen von vorhin wird die optimale Lösung mit Python nach folgendem Code abgeleitet:

In [49]: M0 = np.array((1, B[0], S[0]))  1

In [50]: kappa = 10 / 11  2

In [51]: def U(phi):
             c0 = phi[0]  3
             c1 = np.dot(M, phi[1:])  3
             return -(np.log(c0) + kappa * np.dot(P, np.log(c1)))  3

In [52]: opt = minimize(U, (1, 1, 1), constraints=cons)

In [53]: opt
Out[53]:      fun: -3.1799295980286093
              jac: array([-0.19088, -1.90932, -1.90974])
          message: 'Optimization terminated successfully'
             nfev: 32
              nit: 8
             njev: 8
           status: 0
          success: True
                x: array([5.23899, 0.33087, 0.14523])

In [54]: -opt['fun']
Out[54]: 3.1799295980286093

In [55]: opt['x'][0]  4
Out[55]: 5.23898714830318

In [56]: np.dot(M, opt['x'][1:])  5
Out[56]: array([6.54422, 4.36571])
1

Der Preisvektor enthält den Preis von 1 für den heutigen Konsum.

2

Der Faktor Zeitpräferenz.

3

Die erwartete Nutzenfunktion unter Berücksichtigung des heutigen Verbrauchs und der Zeitpräferenz.

4

Das verbraucht der Agent heute von w .

5

Dies ist die staatlich bedingte Auszahlung aus der Anleihe und der Aktie Position.

Preisgestaltung in vollständigen Märkten

In diesem Abschnitt wird die Analyse auf eine Preisbildung umgestellt, die auf Optimierungsprinzipien beruht. Nehmen wir an, dass die beiden Arrow-Debreu-Wertpapiere in einer Wirtschaft mit zwei zukünftigen Zuständen gehandelt werden und dass das Nettoangebot für beide eins ist. Die beiden Auszahlungsvektoren bilden eine Standardbasis für 2 und die Marktauszahlungsmatrix ist:

= 1 0 0 1

Nehmen wir nun an, dass es in der Wirtschaft einen repräsentativen Agenten gibt, der als einziger mit den beiden Wertpapieren handelt. In einem Gleichgewicht muss der repräsentative Akteur das Nettoangebot beider Wertpapiere halten, weil es sonst niemanden gibt. Der Mechanismus, der das Gleichgewicht sicherstellt, sind die heutigen Preise der beiden Wertpapiere, d. h. der Preisvektor:

0 = (γ u ,γ d ) T ≥0 2

Die Idee der Gleichgewichtspreisbildung ist, dass dieser Preisvektor so angepasst werden muss, dass der repräsentative Agent das Nettoangebot aller verfügbaren finanziellen Vermögenswerte hält. Denn sonst gäbe es kein Gleichgewicht.

Mit dem Investitionsportfolio ϕ = ϕ u ,ϕ d T Das Problem des repräsentativen Agenten, der den erwarteten Nutzen maximiert, ist

max ϕ 𝐄 P ( u ( - ϕ ) ) s.t. 0 - ϕ = w

oder

max ϕ,λ 𝐄 P ( u ( - ϕ ) ) - λ - ( 0 - ϕ - w )

Aufgrund der speziellen Marktauszahlungsmatrix bedeutet dies, dass

max ϕ u ,ϕ d p - u ϕ u + ( 1 - p ) - u ϕ d s.t. γ u - ϕ u + γ d - ϕ d = w

und

max ϕ u ,ϕ d ,λ f ( ϕ u , ϕ d , λ ) = p - u ϕ u + ( 1 - p ) - u ϕ d - λ - γ u - ϕ u + γ d - ϕ d - w

Die drei Bedingungen erster Ordnung für das unbeschränkte Problem sind:

f ϕ u = p - u ' ( ϕ u ) - λ - γ u = 0 f ϕ d = ( 1 - p ) - u ' ( ϕ d ) - λ - γ d = 0 f λ = γ u - ϕ u + γ d - ϕ d - w = 0

Welche Folgen für die Preise 0 ergeben sich aus diesen Optimalitätsbedingungen? Die erste bezieht sich auf den relativen Preis der beiden Arrow-Debreu-Wertpapiere:

γ u γ d = p-u ' (ϕ u ) (1-p)-u ' (ϕ d )

Der relative Preis wird vollständig durch die Wahrscheinlichkeiten für das Eintreten der beiden Zustände und die Grenznutzen, die sich aus dem Konsum in den beiden Zuständen ergeben, bestimmt. Berücksichtigt man, dass im Gleichgewicht ϕ u = ϕ d = 1 gelten muss, wird der relative Preis nur durch das Wahrscheinlichkeitsmaß bestimmt:

γ u γ d = p (1-p)

Mit dieser zusätzlichen Bedingung erhält man auch:

γ u + γ d = w

Während der relative Preis in diesem Fall durch das Wahrscheinlichkeitsmaß bestimmt wird, werden die absoluten Preise durch das verfügbare Anfangsvermögen bestimmt. Das ist insofern intuitiv ansprechend, als dass die Preise umso höher sein sollten, je mehr Anfangsvermögen vorhanden ist, da das Nettoangebot für zwei Wertpapiere feststeht.

Normalisierung des Anfangsvermögens auf w = 1 fixiert die Preise zum Beispiel über

γ u = 1 - γ d

um schließlich zu den Gleichgewichtspreisen von

γ u = p γ d = 1 - p

oder der Gleichgewichtspreisvektor 0 * = (p,1-p) T .

Arbitrage-Preise

Was über Arbitragepreise von Eventualforderungen angesichts des Gleichgewichtspreisvektors 0 * ? Auf vollständigen Märkten, auf denen jede Eventualforderung erfüllbar ist, ist der Preis einer solchen erfüllbaren EventualforderungC 1 𝔸= ≥0 2 ist dann gegeben durch:

C 0 = 0 * - C 1 = γ u - C 1 u + γ d - C 1 d

Das liegt daran, dass das Replikationsportfolio einfach die zustandsabhängige Auszahlung selbst ist ϕ = C 1 im Spezialfall von zwei Arrow-Debreu-Wertpapieren. Die Preise von Arrow-Debreu-Wertpapieren werden daher auch Staatspreise genannt, weil sie den Preis für eine Währungseinheit (Konsum) in einem bestimmten Staat darstellen.

Martingale Preisgestaltung

Wie sieht das eindeutige Martingalmaß für die aktuelle Wirtschaft aus? Die Bedingung für das Martingalmaß Q ist, dass es alle diskontierten Preisprozesse der gehandelten finanziellen Vermögenswerte zu einem Martingal macht. In Matrixform lauten die Bedingungen:

0 * = 1 1+i - 𝐄 Q ( )

Genauer gesagt, man bekommt:

p - ( 1 + i ) = q ( 1 - p ) - ( 1 + i ) = 1 - q

Von diesen, i = 0 folgt und auch q = p . Das physikalische Wahrscheinlichkeitsmaß macht alle Wahrscheinlichkeiten bereits zu einem Martingal. Umgekehrt werden die Preise für die beiden Arrow-Debreu-Wertpapiere im Gleichgewicht so festgelegt, dass die diskontierten Preisprozesse Martingale sind.

Jede erreichbare Eventualforderung C 1 𝔸 kann in dieser speziellen Form der Repräsentantenökonomie einfach durch Ermittlung des Erwartungswerts unter dem physikalischen Wahrscheinlichkeitsmaß bepreist werden. Formal ausgedrückt bedeutet dies:

C 0 = 𝐄 P ( C 1 )

Risikoloser Zinssatz

Warum ist der gleichgewichtige risikolose Zinssatz Null? Die Antwort ist ganz einfach: Weil es keinen risikolosen finanziellen Vermögenswert gibt, der gehandelt wird und einen anderen Zinssatz festlegt. Betrachte einen risikolosen finanziellen Vermögenswert, der in jedem Zustand 1 zahlt B 1 = (1,1) T . Der Arbitragepreis für diesen finanziellen Vermögenswert ist

B 0 = 0 * - B 1 = p + ( 1 - p ) = 1

was einen risikolosen Zinssatz von i = 0 . Jeder andere Preis 0 < B 0 < 1 was einen positiven risikolosen Zinssatz impliziert, würde auch Arbitragemöglichkeiten mit sich bringen.

Ein numerisches Beispiel (I)

Die bisherige Analyse der Gleichgewichtspreise beruht auf einer Reihe von vereinfachenden Annahmen, die elegante Lösungen und einfache Beziehungen ermöglichen. Betrachten wir nun einen Fall mit den etwas realistischeren numerischen Annahmen, wie sie bereits mehrfach verwendet wurden.

Nimm insbesondere die Maximierung des erwarteten Nutzens auf Basis des logarithmischen Nutzens für den repräsentativen Agenten an. Nimm weitere Preisprozesse für die risikolose Anleihe von

B = B 0 , (11,11) T

und für den riskanten Bestand an

S = S 0 , (20,5) T

Die Marktauszahlungsmatrix lautet demnach:

= 11 20 11 5

Das physikalische Wahrscheinlichkeitsmaß ist gegeben durch P = p,(1-p) T mit p = 1 3 . Das Nettoangebot der risikolosen Anleihe ist b = 1 , und es ist s = 1 für den riskanten Bestand. Das Anfangsvermögen, das dem Agenten zur Verfügung steht, ist w = 15 .

Das Problem des repräsentativen Vertreters ist

max ϕ,λ f ( ϕ , λ ) = 𝐄 P u ( - ϕ ) - λ - 0 - ϕ - w

oder

max b,s,λ f ( b , s , λ ) = 𝐄 P u ( b - B 1 + s - S 1 ) - λ - b - B 0 + s - S 0 - w

Die drei Bedingungen erster Ordnung sind:

f b = 𝐄 P B 1 - u ' ( b - B 1 + s - S 1 ) - λ - B 0 = 0 f s = 𝐄 P S 1 - u ' ( b - B 1 + s - S 1 ) - λ - S 0 = 0 f λ = b - B 0 + s - S 0 - w = 0

Der relative Preis für der beiden Finanzanlagen gemäß den Optimalitätsbedingungen - und unter Berücksichtigung des Nettoangebots von einem für beide Finanzanlagen sowie des logarithmischen Nutzens - ist:

S 0 B 0 = 𝐄 P S 1 -u ' (b-B 1 +s-S 1 ) 𝐄 P B 1 -u ' (b-B 1 +s-S 1 ) = 𝐄 P S 1 B 1 +S 1 𝐄 P B 1 B 1 +S 1 ζ

Das Hinzufügen der Budgetbeschränkung fixiert nicht nur den relativen Preis ζ sondern auch das absolute Preisniveau :

B 0 + ζ - B 0 = w B 0 = w 1+ζ

In Python lassen sich diese Überlegungen in einfache vektorisierte Operationen mit NumPy umsetzen:

In [57]: p = 1 / 3  1

In [58]: P = np.array((p, (1-p)))  1

In [59]: B1 = np.array((11, 11))

In [60]: S1 = np.array((20, 5))

In [61]: zeta = np.dot(S1 / (B1 + S1), P) / np.dot(B1 / (B1 + S1), P)  2

In [62]: zeta  2
Out[62]: 0.7342657342657343

In [63]: w = 15  3

In [64]: B0 = w / (1 + zeta)  4

In [65]: B0  4
Out[65]: 8.649193548387098

In [66]: S0 = zeta * B0  5

In [67]: S0  5
Out[67]: 6.350806451612904

In [68]: B0 + S0  6
Out[68]: 15.000000000000002

In [69]: i = B1.mean() / B0 - 1  7

In [70]: i  7
Out[70]: 0.2717948717948717

In [71]: mu = np.dot(S1, P) / S0 - 1  8

In [72]: mu  8
Out[72]: 0.5746031746031743
1

Das Wahrscheinlichkeitsmaß.

2

Das Preisverhältnis zeta gegebenen Optimalitätsbedingungen.

3

Der anfängliche Reichtum.

4

Das Gleichgewichtspreisniveau der risikolosen Anleihe bei gegebenem Preisverhältnis zeta und Anfangsvermögen w.

5

Das daraus resultierende Gleichgewichtspreisniveau der risikobehafteten Aktie.

6

Die Budgetbeschränkung ist verbindlich.

7

Der Gleichgewichtszins angesichts des Preisniveaus für die risikolose Anleihe.

8

Die erwartete Gleichgewichtsrendite der risikobehafteten Aktie.

Eine gleichgewichtige Preisbildung führt in diesem Fall nicht dazu, dass die diskontierten Preisprozesse unter dem physikalischen Wahrscheinlichkeitsmaß martingal sind. Das Martingalmaß lässt sich jedoch leicht ableiten. Die Analyse verwendet das SymPy Paket für symbolische Berechnungen mit Python:

In [73]: import sympy as sy  1

In [74]: q = sy.Symbol('q')  2

In [75]: eq = (q * 20 + (1 - q) * 5) / (1 + i) - S0  3

In [76]: eq  4
Out[76]: 11.7943548387097*q - 2.41935483870968

In [77]: q = sy.solve(eq)[0]  5

In [78]: q  6
Out[78]: 0.205128205128205

In [79]: Q = np.array((q, 1 - q))  6

In [80]: np.dot(B1, Q) / (1 + i)  7
Out[80]: 8.64919354838710

In [81]: np.dot(S1, Q) / (1 + i)  7
Out[81]: 6.35080645161290
1

Importiert das Paket SymPy für symbolische Berechnungen.

2

Definiere das Symbol q.

3

Formulierung der Gleichung für q unter Berücksichtigung der Martingal-Bedingung.

4

Die Gleichung vereinfacht.

5

Dadurch wird die Gleichung numerisch gelöst.

6

Das resultierende Martingalmaß.

7

Beide diskontierten Preisprozesse sind Martingale unter Q.

Preisgestaltung in unvollständigen Märkten

Wie funktioniert die Preisbildung durch repräsentative Agenten auf unvollständigen Märkten? Die Antwort lautet glücklicherweise: genau so wie auf vollständigen Märkten.

Nehmen wir an, dass eine risikolose Anleihe mit einem Preisprozess in drei Zuständen zu zwei Zeitpunkten

B = B 0 , (11,11,11) T

und eine riskante Aktie mit Preisverlauf

S = S 0 , (20,10,5) T

gehandelt werden. Das physikalische Wahrscheinlichkeitsmaß ist P = (p,p,p) T , mit p = 1 3 . Alles andere gilt wie im vorherigen Abschnitt.

Formal ändert sich das Optimierungsproblem des repräsentativen Agenten nicht:

max b,s,λ f ( b , s , λ ) = 𝐄 P u ( b - B 1 + s - S 1 ) - λ - b - B 0 + s - S 0 - w

Auch die Formel für den relativen Preis ändert sich nicht:

S 0 B 0 = 𝐄 P S 1 B 1 +S 1 𝐄 P B 1 B 1 +S 1 ζ

In Python müssen nur die zukünftigen Preisvektoren der finanziellen Vermögenswerte und der Vektor, der das Wahrscheinlichkeitsmaß darstellt, angepasst werden:

In [82]: p = 1 / 3  1

In [83]: P = np.array((p, p, p))  1

In [84]: B1 = np.array((11, 11, 11))

In [85]: S1 = np.array((20, 10, 5))

In [86]: zeta = np.dot(S1 / (B1 + S1), P) / np.dot(B1 / (B1 + S1), P)  2

In [87]: zeta  2
Out[87]: 0.9155274934101636

In [88]: w = 15  3

In [89]: B0 = w / (1 + zeta)  4

In [90]: B0  4
Out[90]: 7.8307411674347165

In [91]: S0 = zeta * B0  5

In [92]: S0  5
Out[92]: 7.169258832565284

In [93]: B0 + S0  6
Out[93]: 15.0

In [94]: i = B1.mean() / B0 - 1  7

In [95]: i  7
Out[95]: 0.40472016183411985

In [96]: mu = np.dot(S1, P) / S0 - 1  8

In [97]: mu  8
Out[97]: 0.6273183796451287
1

Das Wahrscheinlichkeitsmaß.

2

Der relative Preis zeta gegebenen Optimalitätsbedingungen.

3

Der anfängliche Reichtum.

4

Das Gleichgewichtspreisniveau der risikolosen Anleihe bei gegebenem Preisverhältnis zeta und Anfangsvermögen w.

5

Das daraus resultierende Gleichgewichtspreisniveau der risikobehafteten Aktie.

6

Die Budgetbeschränkung ist verbindlich.

7

Der Gleichgewichtszins angesichts des Preisniveaus für die risikolose Anleihe.

8

Die erwartete Gleichgewichtsrendite der risikobehafteten Aktie.

Repräsentative Agententarife

Die Preisbildung für Wertpapiere auf der Grundlage des Optimierungskalküls eines repräsentativen Agenten ist ein Ansatz, der sowohl für vollständige als auch für unvollständige Märkte gilt. Anstatt die Märkte anzupassen - zum Beispiel durch die Vervollständigung des Marktes durch zusätzliche Wertpapiere - werden zusätzliche Annahmen in Bezug auf den repräsentativen Agenten getroffen. So wird zum Beispiel das Anfangsvermögen des Agenten benötigt, um zu bestimmten absoluten Preisen für die Wertpapiere zu kommen, anstatt nur zu relativen Preisen.

Martingal-Maßnahmen

Obwohl representative agent pricing auf unvollständigen Märkten genauso funktioniert wie auf vollständigen Märkten, löst es leider nicht direkt das Problem der Bepreisung von Eventualforderungen, die nicht erreichbar sind. Es gibt immer noch unendlich viele Martingalmaße, die mit dem Markt vereinbar sind.

Der folgende Python-Code zeigt, dass es unendlich viele Martingalmaße gibt, die mit den im vorherigen Abschnitt abgeleiteten Gleichgewichtspreisprozessen übereinstimmen:

In [98]: qu = sy.Symbol('qu')  1
         qm = sy.Symbol('qm')  1

In [99]: eq = (qu * 20 + qm * 10 + (1 - qu - qm) * 5) / (1 + i) - S0  2

In [100]: eq  3
Out[100]: 3.55942780337942*qm + 10.6782834101383*qu - 3.60983102918587

In [101]: Q = sy.solve(eq, set=True)  4

In [102]: Q  5
Out[102]: ([qm], {(1.01416048550236 - 3.00000000000001*qu,)})
1

Definieren der Symbole qu und qm.

2

Formulierung der Gleichung für qu und qm unter Berücksichtigung der Martingal-Bedingung.

3

Die Gleichung vereinfacht.

4

Dies löst die Gleichung numerisch und liefert als Ergebnis eine Reihe von Lösungen; dabei werden die Bedingungen nicht berücksichtigt 0 q u , q d 1 .

5

Die Beziehung zwischen qu und qm als Lösung - was auf unendlich viele Lösungen hindeutet.

Martingal-Maß in unvollständigen Märkten

Die Martingal-Bewertung ist auf vollständigen Märkten ein bequemer und eleganter Ansatz zur Bewertung von Eventualforderungen. Auf unvollständigen Märkten gibt es im Allgemeinen unendlich viele Martingalmaße, die mit dem Markt vereinbar sind. In der Praxis wird dieses Problem häufig dadurch gelöst, dass man sich auf öffentlich beobachtete Marktpreise für liquide gehandelte Eventualforderungen, wie z. B. einfache europäische Put- oder Call-Optionen, stützt. Diese Preise werden verwendet, um die Modellparameter oder das Martingalmaß direkt zu kalibrieren, damit es mit dem Markt übereinstimmt. Weitere Hintergrundinformationen und Details zur Modellkalibrierung findest du in Hilpisch (2015).

Gleichgewicht der Preisgestaltung

Was über die Preisbildung von Eventualforderungen? Wenn sie durch Replikationsportfolios, die aus gehandelten finanziellen Vermögenswerten bestehen , erreichbar sind, kann ihr Preis mit dem üblichen Arbitrage-Argument festgelegt werden. Was ist, wenn eine Eventualforderung nicht realisierbar ist? In der einfachen, unvollständigen Marktsituation, die derzeit untersucht wird, kann dies nur bedeuten, dass der Auszahlungsvektor linear unabhängig von den beiden zukünftigen Preisvektoren der gehandelten finanziellen Vermögenswerte ist. Dies wiederum bedeutet, dass die Einführung einer Eventualforderung mit einem solchen Auszahlungsvektor marktvervollständigendist - denndrei linear unabhängige Vektoren bilden in jedem Fall eine Basis von 3 .

Betrachte die Marktauszahlungsmatrix der ersten beiden Arrow-Debreu-Wertpapiere, die jeweils mit einem Nettoangebot von eins verfügbar sind:

= 1 0 0 1 0 0

Dieser Markt ist offensichtlich unvollständig, denn die beiden Wertpapiere umfassen nicht 3 . Die Einführung einer Eventualforderung mit einem Nettoangebot von eins, die eine Währungseinheit in der d Zustand eine Währungseinheit auszahlt - d. h. eine Eventualforderung, die genau das auszahlt, was die dritte Arrow-Debreu-Sicherheit auszahlen würde - vervollständigt den Markt, wie die resultierende Auszahlungsmatrix zeigt:

= 1 0 0 0 1 0 0 0 1

Die drei Auszahlungsvektoren bilden nun eine Standardbasis der 3 .

Formal ist das Optimierungsproblem des repräsentativen Agenten dasselbe wie zuvor:

max ϕ 𝐄 P ( u ( - ϕ ) ) s.t. 0 - ϕ = w

Hier, 0 = γ u ,γ m ,γ d T als der staatliche Preisvektor und ϕ = (1,1,1) T als das Marktportfolio.

In expliziter Form lautet das uneingeschränkte Optimierungsproblem nach dem Satz von Lagrange:

max ϕ u ,ϕ m ,ϕ d ,λ f ( ϕ u , ϕ m , ϕ d , λ ) = p u - u ϕ u + p m - u ϕ m + p d - u ϕ d - λ - γ u - ϕ u + γ m - ϕ m + γ d - ϕ d - w

Die vier Bedingungen erster Ordnung für das unbeschränkte Problem sind:

f ϕ u = p u - u ' ( ϕ u ) - λ - γ u = 0 f ϕ m = p m - u ' ( ϕ m ) - λ - γ m = 0 f ϕ d = p d - u ' ( ϕ d ) - λ - γ d = 0 f λ = γ u - ϕ u + γ m - ϕ m + γ d - ϕ d - w = 0

Für die relativen Preise, bekommt man:

γ u γ m = p u -u ' (ϕ u ) p m -u ' (ϕ m ) γ u γ d = p u -u ' (ϕ u ) p d -u ' (ϕ d )

Dadurch wird auch der dritte relative Preis festgelegt. Bei logarithmischem Nutzen und einem Anfangsvermögen von w = 1 kommt man in diesem speziellen Fall schließlich zu:

γ u = p u γ m = p m γ d = p d

Der Gleichgewichtspreisvektor ist 0 * = (p u ,p m ,p d ) T , was dem Vektor entspricht, der das Wahrscheinlichkeitsmaß repräsentiert. Dies bedeutet wiederum, dass alle diskontierten Preisprozesse unter dem physikalischen Wahrscheinlichkeitsmaß martingal sind.

Ein numerisches Beispiel (II)

Um auf das Zahlenbeispiel von vorhin zurückzukommen: Nimm an, dass der repräsentative Agent seinen erwarteten Nutzen auf Basis des logarithmischen Nutzens maximiert. Nehmen wir weitere Preisprozesse für die risikolose Anleihe von

B = B 0 , (11,11,11) T

und für den riskanten Bestand an

S = S 0 , (20,10,5) T

Die Marktauszahlungsmatrix lautet:

= 11 20 11 10 11 5

Das physikalische Wahrscheinlichkeitsmaß ist gegeben durch P = p,p,p T , mit p = 1 3 . Das Nettoangebot der risikolosen Anleihe ist b = 1 , und es ist s = 1 für den riskanten Bestand. Das Anfangsvermögen, das dem Agenten zur Verfügung steht, ist w = 15 .

Es wird eine Eventualforderung mit Auszahlung eingeführt C 1 = (5,0,0) T und ein Nettoangebot von c = 1 .

Das Problem des repräsentativen Vertreters lautet also:

max ϕ,λ f ( ϕ , λ ) = 𝐄 P u ( - ϕ ) - λ - 0 - ϕ - w

oder

max b,s,c,λ f ( b , s , λ ) = 𝐄 P u ( b - B 1 + s - S 1 + c - C 1 ) - λ - b - B 0 + s - S 0 + c - C 0 - w

Die vier Bedingungen erster Ordnung sind:

f b = 𝐄 P B 1 - u ' ( b - B 1 + s - S 1 + c - C 1 ) - λ - B 0 = 0 f s = 𝐄 P S 1 - u ' ( b - B 1 + s - S 1 + c - C 1 ) - λ - S 0 = 0 f c = 𝐄 P C 1 - u ' ( b - B 1 + s - S 1 + c - C 1 ) - λ - C 0 = 0 f λ = b - B 0 + s - S 0 + c - C 0 - w = 0

Die relativen Preise für die drei finanziellen Vermögenswerte werden durch festgelegt:

S 0 B 0 = 𝐄 P S 1 B 1 +S 1 +C 1 𝐄 P B 1 B 1 +S 1 +C 1 ζ 1 C 0 B 0 = 𝐄 P C 1 B 1 +S 1 +C 1 𝐄 P B 1 B 1 +S 1 +C 1 ζ 2

Die Hinzufügung der Budgetbeschränkung auf fixiert nicht nur die relativen Preise ζ 1 und ζ 2 sondern auch die absoluten Preisniveaus:

B 0 + ζ 1 - B 0 + ζ 2 - B 0 = w B 0 = w 1+ζ 1 +ζ 2

Die Anpassungen am Python-Code sind nur geringfügig im Vergleich zum vollständigen Marktfall:

In [103]: p = 1 / 3  1

In [104]: P = np.array((p, p, p))  1

In [105]: B1 = np.array((11, 11, 11))  2

In [106]: S1 = np.array((20, 10, 5))  2

In [107]: C1 = np.array((5, 0, 0))  2

In [108]: zeta_1 = (np.dot(S1 / (B1 + S1 + C1), P) /
                    np.dot(B1 / (B1 + S1 + C1), P))  3

In [109]: zeta_1  3
Out[109]: 0.8862001308044474

In [110]: zeta_2 = (np.dot(C1 / (B1 + S1 + C1), P) /
                    np.dot(B1 / (B1 + S1 + C1), P))  4

In [111]: zeta_2  4
Out[111]: 0.09156311314584695

In [112]: w = 15  5

In [113]: B0 = w / (1 + zeta_1 + zeta_2)  6

In [114]: B0  6
Out[114]: 7.584325396825396

In [115]: S0 = zeta_1 * B0  7

In [116]: S0  7
Out[116]: 6.721230158730158

In [117]: C0 = zeta_2 * B0  8

In [118]: C0  8
Out[118]: 0.6944444444444443

In [119]: B0 + S0 + C0  9
Out[119]: 14.999999999999998

In [120]: i = B1.mean() / B0 - 1  10

In [121]: i  10
Out[121]: 0.45035971223021587

In [122]: muS = np.dot(S1, P) / S0 - 1  11

In [123]: muS  11
Out[123]: 0.7357933579335794

In [124]: muC = np.dot(C1, P) / C0 - 1  12

In [125]: muC  12
Out[125]: 1.4000000000000004
1

Das Wahrscheinlichkeitsmaß.

2

Die Auszahlungsvektoren.

3

Der erste relative Preis.

4

Der zweite relative Preis.

5

Der anfängliche Reichtum...

6

...und der daraus resultierende Preis für die risikolose Anleihe.

7

Der Gleichgewichtspreis für die riskante Aktie.

8

Der Gleichgewichtspreis für die Eventualforderung.

9

Die Budgetbeschränkung ist verbindlich.

10

Der risikolose Zinssatz.

11

Die erwartete Gleichgewichtsrendite für die riskante Aktie.

12

Die erwartete Gleichgewichtsrendite für die Eventualforderung.

Dass die Einführung der Eventualforderung - als drittes gehandeltes Finanzaktivum - marktvervollständigend ist, zeigt sich daran, dass es nun ein eindeutiges Martingalmaß gibt:

In [126]: M = np.array((B1, S1, C1)).T  1

In [127]: M  1
Out[127]: array([[11, 20,  5],
                 [11, 10,  0],
                 [11,  5,  0]])

In [128]: M0 = np.array((B0, S0, C0))  2

In [129]: Q = np.linalg.solve(M.T / (1 + i), M0)  3

In [130]: Q  4
Out[130]: array([0.20144, 0.34532, 0.45324])

In [131]: sum(Q)  4
Out[131]: 1.0

In [132]: np.allclose(np.dot(M.T, Q), M0 * (1 + i))  5
Out[132]: True
1

Die neue Marktauszahlungsmatrix einschließlich der Eventualforderung.

2

Der Vektor mit den Preisen der drei finanziellen Vermögenswerte/Eventualforderungen.

3

So erhält man den Vektor Q, der das Martingalmaß darstellt Q darstellt (beachte die Verwendung des Transponierungsoperators .T).

4

Der Lösungsvektor, dessen Komponenten sich zu 1 addieren.

5

Eine letzte Überprüfung, ob alle diskontierten Preisprozesse tatsächlich Martingale sind.

Schlussfolgerungen

Dieses Kapitel befasst sich mit der Modellierung von Agenten und ihren Optimierungsproblemen, hauptsächlich auf der Grundlage des Ansatzes der erwarteten Nutzenmaximierung. Es werden zwei zentrale Themen erörtert: die optimale Portfolioauswahl und die Gleichgewichtspreise von Finanzanlagen und Eventualforderungen auf vollständigen und unvollständigen Märkten. Während im ersten Fall die Preise gegeben sind und die Mengen im Anlageportfolio gewählt werden, sind im zweiten Fall die im Anlageportfolio zu haltenden Mengen festgelegt und die Preise werden so angepasst, dass dies für den repräsentativen Agenten optimal ist. Python erweist sich einmal mehr als ein leistungsfähiges Ökosystem mit hilfreichen Paketen zur Modellierung und Lösung der damit verbundenen Optimierungsprobleme.

Obwohl die Wirtschaftsmodelle in diesem und den beiden vorangegangenen Kapiteln zugegebenermaßen vereinfacht sind, lassen sich die vorgestellten Techniken und Methoden auch auf allgemeine statische Wirtschaftsmodelle übertragen, d. h. auf solche mit vielen - sogar abzählbar unendlichen - unterschiedlichen zukünftigen Zuständen (statt nur zwei oder drei). Mit etwas zusätzlichem Formalismus lassen sie sich sogar auf dynamische Volkswirtschaften mit vielen - potenziell abzählbar unendlich vielen - relevanten Zeitpunkten (statt nur zwei) übertragen.

Weitere Ressourcen

Bücher, die in diesem Kapitel zitiert werden:

1 Der Nutzen ist nur ordinal zu verstehen, d.h. im Sinne der Einordnung verschiedener Pläne in eine bestimmte Reihenfolge. Ein Vergleich dieses numerischen Wertes mit dem optimalen Wert von vorher macht keinen Sinn, weil die Nutzenfunktionen unterschiedlich sind.

Get Finanztheorie mit Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.