Shareholder R/2 Börsensoftware Blog from July, 2010

Shareholder besteht nun seit 10 Jahren und wurde von mir immer wieder neu überdacht und umgeschrieben. Ich denke der kommende Schritt mit der Version 2.10.3 wird elementar sein. Hier wird die Börsensoftware auf ein neues Datenmodell gehoben, was hinsichtlich Flexibilität und Skalierbarkeit neue Möglichkeiten eröffnet. Es wird vor allem sukzessive alle bisherigen Limitierungen aufheben können:

  • Anzahl Watchlisten auf 64 begrenzt
  • Anzahl Marktsegmentzuordnungen auf 64 begrenzt
  • pro Titel ist nur eine Kursdatenbasis erlaubt mit einer Währungszuordnung. Der Abruf und die Speicherung von $ und €-Kursdaten war bisher nicht möglich
  • Anzahl der Aktientitel beeinflusst linear die Lade/Speicherzeit des Systems und vor allem auch die Speicherlast der Börsensoftware
  • Änderungen an den Stammdaten waren nur einzeln und über programmierte Anwendungsoberflächen möglich. Mit dem neuen System werden inkl. Massenänderungen Anpassungen durch eine Beschreibungssprache (SQL) möglich. Dies ist hochinteressant um z.B. Normierungen/Umbenennungen oder gleichzeitige Anpassungen an mehreren Titeln durchführen zu können.
  • Unternehmensprofile sollen praktisch nutzbar werden. Diese werden zentralisiert in eine Stammdaten-Profil-Datenbasis. Die bisherigen Einzeldateien entfallen.

Nach mehreren Proof-Of-Concepts mit unterschiedlichen technischen Ansätzen, habe ich zudem eine Möglichkeit gefunden, die bisherige sehr gute Performance nicht der Flexibilität zum Opfer zu geben. Im Gegenteil:

Betrachtung

2.10.x

2.10.3

Bisheriger Speicherplatz Kursdaten

220MB

210MB / 72MB (durch Nutzung von interner Komprimierung)

Vollständige Iteration über alle Titel und alle Kursdaten, d.h. über 6,2 Millionen Datensätze
(z.B. für Filtersysteme relevant, die ja oft auf alle Titel suchen)

9,8s
wobei der Wert auf einem Nicht-SSD-Festplatten-System sogar deutlich höher ausfallen wird.

2,9s ohne Nutzung von Kompression, 5,6s bei Nutzung von Kompression.
Der Anleger wird entscheiden können, was er bei der Migration dem Vorzug gibt.

Installationsumfang

Keine Sonderinstallationen oder
Datenbanksysteminstallationen

Keine Sonderinstallationen oder Datenbanksysteminstallationen

Wesentlich entscheidener wird aber sein, dass das bisherige extrem unflexible Modell der Stammdatenverwaltung insb. bei Aktualisierungen umgestellt wird mit folgenden Kernelementen:

  • Depotdateien werden zukünftig alle relevanten und verwendeten Stammdaten enthalten als Kopie der eigenen Stammdatenbasis. Mit der Sicherung der einzigen Depotdatei wird zwar etwas mehr Speicherplatz verwendet (Beispieldatei bei mir ca. 2MB), durch die Redundanz wird aber beim Öffnen die vorhandene Stammdatenbasis z.B. hinsichtlich Watchlisten, Depots, Aktualisierungen automatisch angeglichen, wobei die Depotdaten die vorhandenen Daten "Nur ergänzen" und auf Wunsch auch "Aktualisieren" können. Mit Updates der zentralen Stammdaten werden damit lokale Stände nicht mehr verworfen, sondern nur noch ergänzt. Mit der Weitergabe einer Depotdatei werden damit alle relevanten Stammdaten ebenfalls weitergegeben.
    • Filtersysteme, Indikatoreneinstellungen, NN-Einstellungen können ebenfalls Bestandteil der Depotdatei werden, wenn diese als "Individuell" interessant markiert sind, so dass mit Wechsel des Depots auch ein Wechsel des "Systems" erfolgen kann. Auf Wunsch können Depotdateien auf Basis einer anderen Depotdatei "gestartet" werden, wenn die normale Stammdatenbasis nicht ausreichend erscheint.
    • Änderungen erfolgen immer synchron auf der Depotdatei und auf der zentralen Stammdatendatei. Ziel daher: Transpart der Depotdatei -> Transport der persönlichen Einstellungen und Stammdatendatei enthält immer die maximalen Einstellungsmöglichkeiten aller individuellen Depots z.B. bei den definierten Filtersystemen.
  • Kursdaten werden nicht mehr als Einzeldateien mit mehreren 1.000Dateien abgelegt, sondern in einer Kursdatendatei, die intern auf Wunsch komprimiert werden kann. Es wird hierzu Updatedateien geben können, die die Hauptbasis automatisch ergänzen oder aktualisieren.
  • Sicherungen der Stammdaten wird vollständig reduziert auf eine Kursdatendatei, Depotdatei, Stammdatendatei(en) und Nutzereinstellungen.

Ziel ist es zudem, stärker als bisher, Zwischenberechnungen auch tatsächlich zwischenzuspeichern über eine Sitzung hinweg. Bei großen Depotdateien sollen so die Hintergrundberechnungen reduziert werden.

Die Gestensteuerung ist aus aktueller Sicht wegen mangelnden Einsatzfeldern noch nicht ausgestaltet, auch wenn trivial - Actions implementiert werden (Links-Rechts-Wischen im Chart wechselt zwischen den Charts). Die Möglichkeiten sind bei vorhandener Hardware aber perskeptivisch hoch interessant, auch wenn ein Rechner bis auf weiteres nicht wie ein iPhone zu bedienen sein wird.

Die Anpassungen werden nicht alle mit der 2.10.3 Version gemeinsam kommen, sondern die Version 2.10.3 wird den Grundstein legen, um die besprochenen Punkte schrittweise einzuführen.