|
|
fmincon: Portfolio Optimierung |
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.01.2011, 00:36
Titel:
|
 |
hi harald,
hab mir jetzt matlab besorgt und habe für das optimierungsproblem ohne NB ausser summe w = 1 auch brauchbare ergebnisse. allerdings bekomme ich folgende meldung:
Warning: Your Hessian is not symmetric. Resetting H=(H+H')/2.
> In quadprog at 205
Optimization terminated: relative (projected) residual
of PCG iteration <= OPTIONS.TolPCG.
und nun würde ich sehr gerne noch eine weitere bedingung einführen.
also lautet mein problem jetzt
min w'* C*w
u.d.NB summe w= 1
r'*w = K
C,r,K sind gegeben.
hab es probiert mit
w = quadprog(C, zeros(2,1), r',K, ones(1, 2), 1);
für einige werte von r und K macht das ganze sinn, wenn ich die werte ändere wieder nicht. liegt das daran, das A*x <=b gilt. gilt und nicht A*x = b.
lg maryab
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 11.01.2011, 19:48
Titel:
|
 |
Hallo,
um die Warnung erklären zu können, müsste ich den genauen Code sehen.
Eine Idee habe ich: ist deine Matrix C symmetrisch? Wenn nicht, erklärt das die Fehlermeldung.
Der Algorithmus unterscheidet (natürlich) zwischen linearen Gleichungen und Ungleichungen (wäre ja schlecht wenn nicht). Du musst also alle Gleichungen in einer Matrixgleichung unterbringen.
Konkret dürfte das so sein:
Dabei ist n die Länge des gesuchten w, und r muss ein Spaltenvektor sein. Wenn es ein Zeilenvektor ist, das ' weglassen.
Letztlich also z.B.
Wobei es allerdings wenig sinnvoll sein dürfte, bei 2 Gewichten 2 Nebenbedingungen zu haben. Dann bleibt ja nichts mehr zum Minimieren. Aber ich denke mal, du hast mehr Gewichte und es nur mal so probiert. (was eine gute Idee ist)
Grüße,
Harald
|
|
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.01.2011, 18:45
Titel:
|
 |
hi,
quadprog klappt soweit ganz gut, aber hätte noch mal eine frage.
ich der functionbeschreibung lautet der term 1/2 wCw + fw .
meine funktion dagegen wCw. da ich f gleich null setzte fällt dieser teil weg, aber wie verhältsich das mit dem 1/2 vor der ganzen sache. kann mir das mal bitte einer erklären.
und jetzt hätte ich noch eine weitere NB die eingeführt werden soll.
w*r = K
r und K sind gegeben. ( r ist ein Vektor und K eine Zahl).
welche der NB in der matlabhilfe entspricht dieser funktion
danke im vorraus und lg
|
|
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.01.2011, 18:56
Titel:
|
 |
hey harald,
hab deine antwort erst jetzt gesehen, du würdest den ausdruck Aeq * x = beq nehmen um diesen ausdruck abzubilden. habe damit aber eigentlich schon die bedingung w= 1 abgebildet. wenn ich also r'*w = K durch Aeq * x = beq
hab ich ein problem die summe meiner w auf einszu bekommen.
lg maryab
|
|
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.01.2011, 02:50
Titel:
|
 |
hi harald,
habe jetzt alle meine Bedingungen untergebracht und könnte es auf meine 30 wertpapiere übertragen.
möchte mich daher an dieser stelle sehr für deine hilfe bedanken ( du warst meine rettung ).
bleibt lediglich die frage nach dem 1/2 vor dem quadprog- term. wenn du darauf auch noch eine antwort hast bzw. eine lösung kennst nenne ich meinen erstgeborenen nach dir =)
lg maryab
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.01.2011, 12:31
Titel:
|
 |
Hallo,
ich würde da keine voreiligen Versprechungen machen
Das 1/2 ist eine reine Bequemlichkeit, da die Ableitung von x' W x sonst ja 2 W x wäre und diese 2 "nervt".
Wenn du also tatsächlich x' W x minimieren möchtest, dann musst du als erstes Argument von quadprog 2*W eingeben.
Viele Grüße,
Harald
|
|
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.01.2011, 01:16
Titel:
|
 |
hi,
wenn ich also einfach meine Kovarianzmatrix mit 2 multipliziere, dann kann ich diese sache umgehen?
dachte eigentlich, dass das unwesentlich ist, da ich ja nach der optimalen gewichtung suche. wenn ich meine matrix also mit 2 multipliziere, dann werden alle elemente ja zu gleichen teilen erhöht und die optimale zusammensetzung ändert sich nicht.
oder habe ich etwas falsch verstanden?
lg maryab
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.01.2011, 11:55
Titel:
|
 |
Hallo,
in deinem Fall ist es tatsächlich egal.
Wenn aber noch weitere lineare Terme dazu kommen würden (f nicht nur Nullen), dann wärs natürlich wichtig.
Grüße,
Harald
|
|
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.01.2011, 18:09
Titel:
|
 |
|
 |
|
hi,
weiss nicht ob sich dein wissen nur auf matlab begrenzt, aber hätte jetzt eine weitere Frage.
meine aufgabe ist es ein mean variance portfolio zu ermitteln und anschliessend die sharp ratio
Bsp.:
Schritt 1:
ich habe 36 beobachtungen von 01/1927 - 12/1929 für 30 US Aktien und habe die Kovarianmatrix, sowie die Mittelwerte berechnet. habe dann die optimale Gewichtung jeder Aktie ermittelt. ( für die mean varianz optimierung brache ich einen vektor für die erwarteten renditen. mein schätzer dafür sind die mittelwerte. hoffe das war richtig?)
Schritt 2:
nun investiere ich in t+1, also 01/1930 nach meiner ermittelten Investitionstrategie und erhalte eine Portfoliorendite. (meine Portfoliovarianz entspricht meinem vorher bereits ermittelten wert, quasie der Zielgröße die vorher minimiert werden sollte. hoffe das passt bis hierher ebenfalls)
Schritt 3:
ich suche mit den risikolosen zins für 01/1930, z.B US Staatsanleihe.
Schritt 4:
ich berechne die sharp ratio
SR = (portfoliorendite - risikloser zins) / Portfoliovarianz
bin mir allerdings noch unsicher bei der wahl der richtigen werte an der richtigen stelle.
hoffe mein problem ist verständlich, wenn nicht einfach fragen, was noch unklar ist.
vielen dank in vorraus
lg maryab
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.01.2011, 18:43
Titel:
|
 |
Hallo,
ich sehe da keinen Fehler (außer dass es wohl ein Minimum Variance Portfolio sein soll). Allerdings bin ich auch kein Experte auf dem Gebiet.
Verwunderlich wäre für mich höchstens, dass man nur das Risiko minimiert und nicht zugleich versucht, den Return zu maximieren. Dazu könnte man das Sharpe Ratio maximieren, oder statt Risiko den Ausdruck (Risiko - Faktor*Return) minimieren.
|
|
|
maryab |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.01.2011, 20:01
Titel:
|
 |
hi,
soll schon ein mean variance portfolio sein, daher die NB r * w = K.
K ist in dem fall die rendite die das portfolio bei minimaler varianz erwirtschaften soll. wenn ich also K = 0.1 ( spricht 10 % ) wähle, erhalte ich ein Kombination, die diesem wert erzielt und die varianz minimiert.
du konntest also keinen fehler bei meiner vorgehensweise erkennen? wie schon gesagt, bin mir nicht ganz sicher bei der wahl der richtigen große am entsprechender stelle.
danke und lg bayram
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|