TdoT-Programmier-Wettbewerb: Aktienkursanalyse

Aufgabenstellung für Samstag, den 7.6.97

Ein großer Internet-Anbieter will den Besuchern seiner WWW-Seiten eine Analyse der Börsenentwicklung der letzten fünf Jahre präsentieren. Dazu sollen unter anderem die Kurse der wichtigsten Aktien in diesem Zeitraum untersucht werden. Für jede Aktie soll nachträglich ein bester Einkaufstag festgestellt werden.

Dabei wird angenommen, daß ein Kapitalanleger jede Aktie höchstens einmal gekauft hätte, und zwar in einer beliebigen Stückzahl, und daß er zum Ende des betrachteten Zeitraums alle Stücke wieder verkauft hat. Der beste Einkaufstag für eine Aktie wäre dann derjenige gewesen, der zu einem eingesetzten Betrag den höchsten Gewinn geliefert hätte (Steuern, Gebühren und alternative Anlagemöglichkeiten sollen außer Betracht bleiben).

Der Internet-Anbieter hat von einem Börsendienst Informationen über die Notierungen jeder Aktie für alle Börsentage der letzten fünf Jahre gekauft. Für jede Aktie gibt es eine Datei, die eine Folge von Zeilen mit jeweils einer Zahl enthält. Die erste Zahl ist der Kurs der Aktie am ersten Börsentag und jede folgende Zahl gibt die absolute Kursveränderung gegenüber dem Vortag an, in der Reihenfolge der Börsentage. Der Kurs, der sich für einen gewissen Tag ergibt, gilt für alle Käufe und Verkäufe dieses Tages.

Unterstützt die Erstellung der WWW-Seiten durch Schreiben eines Programms, das für eine Aktie aus der gegebenen Zahlenfolge nachträglich einen besten Einkaufstag, einen besten Verkaufstag und den dabei höchsten erzielbaren Gewinn (in Prozent vom eingesetzten Betrag) ermittelt. Da das Programm sehr lange Zahlenfolgen bearbeiten muß, ist es außerordentlich wichtig, daß die Laufzeit bei zunehmender Zahlenfolgenlänge nicht stärker als nötig wächst.

Beispiel: Ihr Programm angewendet auf die Eingabedatei testaktie.kurse

127.5
-0.5
2
-1
1
3.5
-13
7
-2
-6
-9
-21
-17
-5
0.5
4
-7
-12
2.5
-3
2
    

sollte die folgende Ausgabe liefern:

Ein bester Einkaufstag wäre der 14. Börsentag gewesen, ein dazugehöriger
Verkaufstag der 16. Börsentag. Der so realisierbare Gewinn wäre 6.7669% vom
eingesetzten Betrag gewesen.
    

Zum Testen stehen Euch noch die Kursverläufte des DAX (dax.kurse) seit 1959 und des Dow Jones (dow.kurse) seit 1901 zur Verfügung (Diese Kurse stammen aus dem Internet!).


E-Mail an: programmierwettbewerb@informatik.uni-muenchen.de
Organisation: Thomas Brüggemann, Tim Geisler, Sven Panne
Last modified: Fri Jun 6 11:47:56 CEST 1997