Hallo Klaus,
Ich habe auf die schnelle eine Lösung gebastelt, die im Augenblick aber drei Schwachstellen hat.
- Die Definition der Daten ist zu weich. Für ein Programm muß eine genaue Definition her. Beispiel Dividende pro Aktie bei der Allianz: In den 4 JAhren von 2000 bis 2004 war dies konstant 1,50. Durch eine Kapitalmaßnahme hat sich die Dividendensumme aber von 334 Mio in 2001 auf 674 Mio in 2004 verdoppelt. Die Dividendenrendite sollte immer in Relation zum aktuellen Tageskurs stehen. Dieser Tageskurs wird jedoch bei einer Kapitalmaßnahme ggf für die Zeit davor korrigiert. Ergo: es braucht eine saubere Definition.
- Zeitachse: Ich gehe davon aus, daß die Bilanz/GuV Daten jeweils ab dem 31.Dezember des abgelaufenen Jahres verfügbar sind und sich damit in den Kursen wiederspiegeln. Dies ist nur eine sehr grobe Näherung. Die ganzen Kurs beeinflussenden Ausblicke, Analystenkommentare etc bleiben unberücksichtigt.
- Das Datenformat ist so nicht brauchbar. In der Anlage habe ich ein mit Excel erzeugtes TabStop getrenntes File eingefügt - mit einem passenden Format. Was fehlt ist ein Makro, daß pro WKN solch eine Datei erstellt.Allianz500234.txt
Nach den Schwachstellen kommt die Lösung. Ich habe Sie mit dem Prerelease 5.0 gebaut. Hierbei aber keinerlei Neuerung verwendet. Damit müßte es auch mit Version 4.0 funktionieren.
- Liegen die Daten in obigem Format vor, dann kann man sie direkt in Investox einlesen. Hierzu legt man am Besten einen eigenen Titelkatalog "Fundamentaldaten" an. Pro Aktie wird ein neuer Titel vom Typ Tabelle erzeugt. Wichtig ist die Namenskonvention: zB FUN-840400 für die Allianz. "FUN" ist eine beliebige Konstante, dann der Bindestrich und die in Investox verwendete WKN für die Kursdaten der Aktie. In diesem Beispiel bezieht sich Volume() auf die Spalte B und damit die Anzahl der Aktien; Close() ist die Spalte C mit dem Gewinn in Mio.
- Im zweiten Schritt wird ein Berechnungstitel angelegt. Dieser Berechnungstitel bezieht sich auf alle Titel, für die Fundamentaldaten/Titel existieren. Dieser Berechnungstitel wird nur dazu gebraucht, um mit dem Schlüsselwort #Berechnungstitel# auf die Fundamentaldaten zugreifen zu können. Als Kürzel ist deshalb die im Schritt 1) gewählte Konstante FUN zu verwenden. Die eigentlichen Berechungstitel aus diesem Schritt werden nicht in das Titelverzeichnis aufgenommen.
- Jetzt fehlen noch die eigentlichen Kennziffern (KPI / Key Performance Indicator). Ein Berechungstitel KPI enthält die Berechungsregeln. Ein eigener Titelkatalog pro Aktie einen Eintrag mit den Kennziffern. Für das KGV im Feld CLose() des Berechnungstitels steht zB folgende Formel: Close()/Close(#_BT Fundamental#)*Volume(#_BT Fundamental#)/1000000
Der Close des eigentlichen Titels wird geteilt durch den Gewinn in Mio, multiplizert mit der Anzahl Aktien geteilt durch eine Mio. Gewinn und Anzahl Aktien stehen dabei in den Daten des Fundamentaltitels. "Fundamental" ist der Name des Berechnungstitels aus Schritt 2 und verweist auf den FUN Prefix zur WKN.
Fertig. Das Ergebnis kann im Chart angezeigt werden.
Unten im Chart der Kurs, ganz oben der Gewinn in Mio aus dem Tabellentitel (Formel: (Close(#_BT Fundamental#)). Im Jahr 2002 hat die Allianz Verluste geschrieben. Ab dem Jahresende ist dies der angezeigte Wert.
Der mittlere Chart zeigt das KGV wie in dem Berechnungstitel KPI ermittelt. Man sieht schön, daß sich bei jeder Änderung des Gewinns auch ein größerer Sprung im KGV ergibt. Zudem gibt es normalerweise kein negatives KGV. Hier müßte man die Formel im Berechungstitel entsprechend anpassen. Die Formel im Chart ist: Close(#_BT Kennzahlen#).
Für meinen Teil sehe ich die Machbarkeitsstudie damit als abgeschlossen. Die Rohdaten sind einfach zu grob. Bei der Suche nach Datenquellen bin ich übrigens auf Globalyze.De gestoßen, die auf ihrere Seite auch ein Backtesting auf der Basis von Kennzahlen anbieten.
Gruß Manfred
PS: auf der Seite Zerus.net habe ich nur Aussagen zu Kursdaten und keine zu Fundamentaldaten gefunden.