Skip to main content

Technische interne Datenformatbeschreibung

Rechtliche Beschränkungen

Die in SHAREholder genutzten Daten-und Stammdateien sind ohne rechtliche Beschränkungen frei auszulesen oder auch extern modifizierbar. Allerdings kann von mir für Änderungen oder Anfragen zu den Formaten nur ein eingeschränkter Support vorgenommen werden, d.h. Anfragen per EMail zu diesem Thema können aus zeitgründen nicht in einer zeitlichen Frist garantiert werden. Die Formatbeschreibungen stellen den aktuellen Stand zum 08/2020 dar und werden von mir bei Änderung dokumentiert.

Sie sollten bei Implementierung das interne Version-Flag dringend auswerten, so dass Sie passend reagieren können.

Typenbeschreibung 

  • Integer -2147483648..2147483647 32 Bit, mit Vorzeichen
  • Cardinal 0..4294967295 32 Bit, ohne Vorzeichen
  • Shortint -128..127 8 Bit, mit Vorzeichen
  • Smallint -32768..32767 16 Bit, mit Vorzeichen
  • Longint -2147483648..2147483647 32 Bit, mit Vorzeichen
  • Int64 -2^63..2^63-1 64 Bit, mit Vorzeichen
  • Byte 0..255 8 Bit, ohne Vorzeichen
  • Word 0..65535 16 Bit, ohne Vorzeichen
  • Longword 0..4294967295 32 Bit, ohne Vorzeichen
  • Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 Stellen, 6 Byte
  • Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 Stellen ,4 Byte
  • Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 Stellen, 8 Byte
  • Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 Stellen, 10 Byte
  • Comp -2^63+1 .. 2^63 -1 19-20 Stellen, 8 Byte
  • Currency -922337203685477.5808.. 922337203685477.5807 19-20 Stellen, 8 Byte
  • TDateTime wie Single
  • FlatString Diesen Typ gibt es eigentlich nicht als nativen Typ in Delphi. Dieser ist ein aus Platzgründen eingefürhrter Typ der eine normale Zeichenkette beschreibt, die zunächst mit einem Word-Stream in seiner Länge gekennzeichnet wird. Ist die Len>0 wird anschließend die komplette Zeichenkette geschrieben, andernfalls passiert hier zunächst nichts weiter ...

Kursdatendateien

Grundsätzlich werden die historischen Kursdaten pro Wert als.SF2 abgelegt. Das Dateiformat ist ein Flat-File of Type TfStruktur, d.h. die Datei wird mit einer konstanten Länge pro Datensatz geschrieben. Es ist so intern ein Filebasierter Array-Zugriff möglich und realisiert. Für größere Aktualisierungsoperationen wird dennoch im Normalfall ein interner Cache aufgebaut und wieder zurückgeschrieben. Tageskursdaten werden nicht in dieser Datei abgelegt, sondern zusammen mit den Aktienstammdaten in einer seperaten Datei. Dies hat den Hintergrund, dass Tageskursdaten immer verdichtet werden auf ein historischen Tageskurs am nächsten Tag.

  • type TfTableFile = File of TfStruktur
  • type TfStruktur = packed Record
    • Datum TDateTime
    • Open Single
    • High Single
    • Low Single
    • Close Single
    • Volumen Int64
  • type THistoryItem
    • Datum TDateTime
    • Open Single
    • High Single
    • Low Single
    • Close Single
    • Volumen Int64
  • type TIntradayItem
    • Datum TDateTime
    • Close Single
    • Volume Int64

Aktienstammdatendatei (auf Basis v9)

Die Aktienstammdaten werden unter Daten\Stammdaten.Aktien.stm.R8 als unkomprimierte Datei im folgenden Format gespeichert. Grundsätzlich werden die Daten als untypisierter Stream gespeichert, womit die Datei immer sequientiell ausgelesen werden muss.

Aktienstammdaten





type TAktien





Version

Integer



Eindeutige Versionsnummer für die Datei

CreateNr

Integer



Fortlaufende Sequenz-Nummer für neu erzeugte Einträge

CountItems

Integer



Anzahl der nachfolgenden Elemente

Items

for each (type TAktie)





WKN

FlatString




Tablename

FlatString


Eindeutiger Verweis auf die Historientabelle


Name

FlatString




Videotextname

FlatString




ISIN

FlatString




reserviert

FlatString




Markt

Int64


Bit-Kombination der Markteinstellungen


Aktienstueckzahl

Single


in Mio.


Branche

FlatString




Umsatz

Single


in Mio.


CashFlow

Single




Buchwert

Single




Attr

Integer


Bit-Kombination zur internen Kennzeichnung. Keine externe Verwendung sinnvoll.


type TKurse



Tageskursdaten


Tag

type THistoryItem




Vortag

type THistoryItem




Intraday

type TIntraday





Revision

Integer

Eindeutige Versionsnummer



Count

Integer

Anzahl folgender Datensätze für TIntradayItem



Items

for each (type TIntradayItem)

Siehe nachfolgende Tabelle für Struktur


History-Submit-Date

TDateTime


aus Performancegründen zwischengespeicherter Wert


type TUnternehmenesErgebnisse



Unternehmensergebnisse


Version

Integer


Eindeutige Versionsnummer für die Datei


CreateNr

Integer


Fortlaufende Sequenz-Nummer für neu erzeugte Einträge


CountItems

Integer


Anzahl der nachfolgenden Elemente


Items

for each (type TUnternehmensergebnis)





Jahrgang

Integer




Ergebnis

Single




Dividende

Single



type TVariablen





Version

Integer


Eindeutige Versionsnummer


CreateNr

Integer


Fortlaufende Sequenz-Nummer für neu erzeugte Einträge


CountItems

Integer


Anzahl der nachfolgenden Elemente


Items

for each (type TVariable)





ID

Integer




Value

FlatString



type TUnternehmensProfile





Version

Integer


Eindeutige Versionsnummer


CreateNr

Integer


Fortlaufende Sequenz-Nummer für neu erzeugte Einträge


CountItems

Integer


Anzahl der nachfolgenden Elemente


Items

for each (type TProfile)





ID

Integer




ReftoFile

FlatString

Referenz zu einer zu ladenden Profildatei


type TSplitts



Splitts


Version

Integer


Eindeutige Versionsnummer


CreateNr

Integer


Fortlaufende Sequenz-Nummer für neu erzeugte Einträge


CountItems

Integer


Anzahl der nachfolgenden Elemente


Items

for each (type TSplit)





Faktor

Single




Datum

TDatetime



LastHistoryDate

Integer


Trunc(History.Last), dies wird aus Performancegründen für die Verdichtung geschrieben (DS kann ignoriert werden, wenn Sysdate==LastHistoryDate)


Shortname

String


Kurzname des Titels


BasiswertISIN

String


ISIN des Basiswertes, insb. für OS/Zertifikate interessant


Bezugsverhaeltnis1zu

Single


Bezugsverhältnis für OS/Zertifikate


OSTyp

Integer


Optionsscheintyp; 1=Long, -1=Short


OSLaufzeit

DateTime


Laufzeit des Scheines


OSBasispreis

Single


Basispreis des Basiswertes für OS


OSKnockout

Single


KnockOut-Schwelle für OS


INetUpdateGroup

Integer


Referenz auf die zu nutzende Aktualisierungsgruppe des Titels


Watchlist

Int64


Watchlistenzuordnung