| Thema: |
|
||
| Autor: | Alopex | ||
| Datum: | 21.10.24 18:49 | ||
| Antwort auf: | Plan für ein KI-Portfolio von Alopex | ||
Nabend, wie versprochen hier mal erste, vorläufige Zwischenergebnisse. Ich würde noch nicht all mein Geld investieren, da könnten noch ein paar Fehler drin sein. Ich poste das trotzdem schon mal, weil ích die nächsten 1-2 Wochen vermutlich keine Zeit zur Fortführung habe. [https://i.imgur.com/gnl1lWs.png] Kurzfassung: Die Idee war ja, einen ETF einfach dadurch zu optimieren (im ersten Schritt), indem man die Underperformer weglässt. Viele von euch haben ja darauf hingewiesen, dass das quasi nicht geht, weil man (mit so einer simplem Idee) nie den Markt schlägt. Die Kurven deuten zumindest an, dass da doch ein bisschen Potential drin stecken könnte. Die ersten drei Linien, bei denen aus dem S&P500 0, 5 und 10 Aktien weggelassen werden, liegen quasi aufeinander, und sind auch weitgehend identisch mit dem echten SP500. Die anderen drei Linien zeigen, was passiert, wenn man 50, 100 oder 250 Aktien weglässt. Die Rendite steigt, und die Volatilität auch. Mehr Risiko = potentiell mehr Ertrag. Wenn das mal keine Erkenntnis ist. :-) Mittelfristig (über mehrere Jahre) lohnt sich das aber. Langfassung: Boah, wie bei eigentlich jedem Data Science-Projekt, das ich bisher gemacht habe, ist der algorithmische Teil nicht so besonders schwer. Viel schwerer ist es, an brauchbare Daten zu kommen. Um einen Index nachzubauen - um ihn dann manipulieren zu können - braucht man nicht nur die Kursentwicklung des Index, sondern man braucht die Kursentwicklung aller Aktien im Index PLUS deren Gewicht, zu errechnen wahlweise aus Marktkapitalisierung oder der Anzahl der verfügbaren Aktien. Profis in Finanzunternehmen haben da vermutlich leicht Zugriff drauf, aber als Retail-Investor hat man es da schwer. Die yfinance-API, mit der wohl alle anfangen, gibt das nicht her; weder gibt es historische Marktkapitalisierungsdaten, noch historische outstanding shares in entsprechender Granularität (täglich, wöchentlich, etc.). Eigentlich wollte ich den MSCI World nachbilden, weil auf den wohl die meisten einen ETF im Portfolio haben. Aber es ist nahezu ein Ding der Unmöglichkeit, ohne entsprechende Lizenzen überhaupt nur die enthaltenen Aktien rauszukriegen, von den anderen erwähnten Daten ganz zu schweigen. Wenn man das dann mal hat, muss man noch rausfinden, welche Aktie wann im Index war, es gibt ja dauernd Zu- und Abgänge. Wie auch immer, am Ende habe ich den SP500 genommen, weil die Daten am leichtesten zu bekommen waren; und selbst die musste ich bei EOD Historical Data kaufen. Und sie sind noch nicht mal vollständig. Shocking. Dementsprechend sind es zum einen nur 10 Jahre geworden statt 20, zum anderen musste ich auch ein bissel improvisieren und rummanschen: Fehlende Daten erzeugen aus averaging, forward-fill, usw. Der Basisindex mit dem ich gearbeitet habe, ist also nicht 100% identisch zum SP500, aber mit geringen Abweichungen schon. Kann durchaus sein, dass da auch ein paar Fehler drin sind, aber so grob über den Daumen müsste es passen. Die Daten sind jetzt monatliche Daten, öfter möchte man sicher nicht rebalancen. Es wird für jeden Monat (und jede Aktie) der Zuwachs in Prozent berechnet. Basis ist der adjusted daily close price im Monatsmittel - hier werden also Aktiensplits berücksichtigt und Dividenden wieder reinvestiert. Je nach Drop-Wert (wieviele Aktien sollen weggelassen werden) werden dann die Aktien mit dem geringsten Zuwachs pro Monat rausgekickt, und die Performance auf Basis des Rests berechnet. Das könnte auch einer der Gründe für die Performance der Portfolios mit hohem Drop-Wert sein. Weil die Aktienzahl sinkt, steigt der prozentuale Anteil derjenigen Aktien, die eh schon stark vertreten sind und im Moment gut performen Apple, Microsoft, Google, usw. Ansonsten gilt: Neuer Monat, neues Spiel. Insgesamt hatte der SP500 übrigens nicht 500, sondern 775 Aktien, von denen aber viele rausgeflogen sind. Viele werden auch nicht mehr gehandelt. Man braucht also auch noch Daten für delisted stocks, ächz. Wer genau hinschaut, sieht, dass in früheren Phasen öfter mal die Nullinie erreicht wird; ich hatte noch keine Muße, das zu checken, aber das können nur Fehler in den Daten sein; vmtl. liegt da die Marktkapitalisierung bei Null. Eigentlich habe ich das weggerechnet, aber offensichtlich sind da noch Artefakte. Es gibt auch ein paar andere Ungenauigkeiten, z.B. bzgl. Outstanding shares vs. free-floating shares, aber letztlich ist das gar nicht so entscheidend. Die Grundidee, aus einem beliebigen Portfolio (von einer gewissen Mindestgröße) die underperformer zu droppen funktioniert (oder auch nicht) unabhängig davon, wie genau sich der Index zusammensetzt. Soviel mal für den Moment, vielleicht hat der eine oder andere ja Spass daran. Grüße, Alx |
|||
| < antworten > | |||