Technische interne Datenformatbeschreibung
Rechtliche Beschränkungen
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 (Beschriebenauf fürBasis Versionsnummer: 9)
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 |