Kursaktualisierung

Überblick über alle Möglichkeiten zur kostenlosen Kursaktualisierung über konfigurierbare Datenquellen. Ergänzt um Möglichkeiten für nicht freie professionelle Kursdaten-Dienste.

Grundlagen Kursaktualisierung

Ziel dieses Moduls

Kursdaten stellen bei der Aktienanalyse die wichtigste Grundlage dar, auf der finanzielle Entscheidungen gefällt werden die zu finanziellem Erfolg oder Misserfolg führen können. Daher ist es für jeden Anleger wichtig, genau zu wissen, welche Qualität die Datenbasis hat, die seinen Analysen zugrundeliegt und vor allem auch zu wissen, wo Schwächen liegen werden. Schwächen können systembedingt (zu wenig Daten) oder strukturell (schlechte Informationen) auftreten. 

Shareholder verfolgt das Ziel die Datenbasis frei vom Nutzer auswählen zu lassen und möglichst viele unabhängige Datenquellen einzubinden. Diese können dabei sowohl kostenfrei (primär) aber auch kostenpflichtig sein. Dies ermöglicht es Kosten zu reduzieren und eigenen Präferenzen zu folgen.

Im Standard können unten aufgeführte Datenquellen in ShareHolder gewählt werden. 
Weitere Datenbasen können durch eigene Programmierung oder auf Anfrage eingebunden werden. 

Datenquellen zur Kursaktualisierung

Freie Internetadressen 

Eigenschaften: Kostenfrei, End-of-Day-Daten, teilweise Realtime, Praktisch alle Assets/Aktien weltweit

ShareHolder hat als Kernanspruch im Internet verfügbare Datenquellen kostenfrei und flexibel nutzen zu können. Es können daher sowohl CSV, JSON als auch HTML-Seiten automatisiert ausgelesen werden von beliebigen Internetquellen. Konfigurationen zum Auslesen existieren dabei z.B. für Yahoo, Ariva, Finanzen etc.

API-Datenprovider/-Portale

Eigenschaften: Kostenfrei bis kostenpflichtig je nach Anspruch, End-of-Day-Daten, teilweise Realtime, Praktisch alle Assets/Aktien weltweit, Abdeckung je nach Abomodell

Die Datenbereitstellung wurde in den letzten Jahren professionalisiert und es entstanden eine Reihe von nutzbaren Daten-Portalen, die über eine API entsprechende Daten abrufbar zur Verfügung stellen z.B. Alphavantage, Finnhub, Polygon.IO, Quandl etc. Diese sind eingebunden und können auch frei erweitert werden.

Shareholder EOD-Datenbank

Eigenschaften: Kostenlos abgedeckt mit einer Registrierung der Software, 4xtäglich aktualisiert, d.h. primär End-of-Daten, ausgesuchte Kern-Märkte (siehe Link unten)

Für systeminterne Strategien werden bereits intern Daten aggregiert und zusammengestellt. Dieser Datenpool wird daher kostenfrei allen registrierten Nutzern 4x täglich (ohne Gewähr und Bereitstellungspflicht) zur Verfügung gestellt. 

Tai-Pan EOD

Eigenschaften: Abonnement über Lenz&Partnter, End-of-Day-Daten mit mind. 15min Verzögerung, Abdeckung je nach Abomodell

Lenz&Partner stellt neben dem eigenen Tai-Pan Produkt auch eine Möglichkeit zur Verfügung nur die Kursdatenbank zu nutzen. Diese ist daher in ShareHolder angebunden und kann per Klick abgerufen werden, um die EOD-Kursdaten abzurufen oder ganze Kataloge (Marktsegmente) zu synchronisieren.

 

Tai-Pan RT

Eigenschaften: Abonnement über Lenz&Partnter, End-of-Day-Daten in Realtime, Abdeckung je nach Abomodell

Lenz&Partner stellt neben Tai-Pan EOD auch Tai-Pan Realtime als eigenständiges Produkt zur Verfügung. Das Programm & die Daten sind speziell fürs Trading ausgerichtet. Diese können auch in ShareHolder per Klick abgerufen werden. Im Fokus stehen hier aber die EOD-Daten, da ShareHolder keine Intraday-Charts offiziell unterstützt.


XTB-Broker-Katalog und Kursaktualisierung

Eigenschaften: Kostenlos nach Registrierung bei https://www.xtb.com/de, EOD-Daten in Realtime, Abdeckung entsprechend XTB-Marktabdeckung (CFD, Indizes, Rohstoffe, Währungen, Aktien)

XTB ist ein professioneller CFD/Aktienbroker, die über eine API-Schnittstelle es auch erlaubt die Transaktionen als auch EOD-Kursdaten abzurufen. Eine entsprechende Synchronisation ist hierfür ebenfalls integriert.


Import aus CSV-Dateien

Eigenschaften: Kostenlos

Der manuelle CSV-Import für Einzeltitel oder ganze Marktsegmente ist eigentlich nur ein Spezialfall der Möglichkeit zum Auslesen von CSV/JSON/HTML-Inhalten von Internetportalen. Hierbei wird der Inhalt jedoch von lokalen Verzeichnissen oder Dateien ausgelesen.

 

Notfallplan Manuelle Eingabe

Es gibt für absolute Ausnahmefälle die Möglichkeiten Kursdaten manuell einzugeben oder zu korrigieren. Dies sollte aber die Ausnahme sein und hier eher die Datenquelle geändert werden.


Für Werte, die nur mit Schwierigkeiten oder überhaupt nicht aktualisiert werden können, gibt es ist die manuelle Kurseingabe vorgesehen. Durch Doppelklick auf den entsprechenden Titel an allen Stellen in SH24 (Depots, Watchlisten etc.) öffnet sich das Stammdatenblatt des Titels und kann editiert werden. Der Zeit-Stempel ab dem der neue Datensatz gilt wird bei einer Neueingabe und Speichern automatisch auf die aktuelle Uhrzeit und den Tag gesetzt den Sie eingeben. Wird nichts eingegeben wird das aktuelle Datum und die Uhrzeit der Eingabe automatisch beim Schließen des Menüs eingetragen .  

Datenqualität

Datenupdate

Die Datenquellen können durch manuelle Auswahl manuell oder über eine automatischen Start kontinuierlich während der Programmnutzung upgedated werden.
Manuell erfolgt es über die Buttons in der Office-Ribbon-Bar:

image-1655629283481.png image-1655629280104.png


Kursdatenbereinigung

Die Kursdatenbereinigung nimmt eine Verdichtung der Kursdatenmengen vor, d.h. bestehende Kursdaten werden nochmals sortiert und ungültige Einträge gelöscht. Der Vorgang sollte nur in Ausnahmefällen genutzt werden, da intern sichergestellt, ist das die Daten konsistent sind. Die Funktion ist historisch entstanden und gilt mittlerweile als deprecated bzw. gehört zum Notfallprogramm.

Qualifizierte Datenzusammenführung

Als Ausbauvariante/Idee:

Siehe  Für JQL- und Vorgangsschlüsselargumente für dieses Makro ist die Konfiguration mindestens einer Jira-Anwendungsverknüpfung erforderlich.


Probleme bei den Aktualisierungen

Internetkursaktualisierungen

Da immer wieder Probleme mit der Kursaktualisierung auftreten hier ein einfaches Vorgehensmodell, um den Fehler einzugrenzen:

Aktualisierungsfehler eines Titels

  1. Hauptmenü . Kurse . Internetfilter . "Protokoll" oder "Fehlerprotokoll" aktivieren
  2. Betroffenen Titel markieren (innerhalb Kursliste, Depot usw.) und eine Einzelaktualisierung mit Strg-F5 durchführen (oder Kontextmenü)
  3. Angezeigte Protokoll prüfen hinsichtlich gebildeter URL/Adresse
  4. Wurde die URL falsch gebildet, so sollten folgende Prüfungen durchgeführt werden:
    1. Wurde der Aktie das korrekte Marktsegment zugeordnet
    2. Hat das Marktsegment die korrekte Zuordnung zu einer Internetaktualisierungsadresse (Hauptmenü. Einstellungen. Märkte)
    3. Sind die Werte für Symbol/ISIN/WKN für den Titel korrekt (Hier sind teilweise Sondervariablen zu setzen (Titelstammdaten.Button Variablen))
    4. Wird der Titel überhaupt durch den Kursanbieter (Yahoo usw.) geführt / Ist ein Wechsel zu einer anderen Aktualisierungsadresse notwendig

Internetvariablen

Einer der häufigsten Fehler ist die falsche Zuordnung der Internet-Aktualisierungs-Variablen. Bei der Aktualisierung der Kursdaten für einen Titel können in der Aktualisierungsadresse nicht nur die WKN/ISIN/Symbollkennungen verwendet werden, sondern auch völlig freie Kennungen. Diese sind immer dann notwendig, wenn eine Kurslieferant für festgelegte Titel eigene Kennungen nutzt. Welche Kennung hier im Einzelfall zu nutzen ist, muss manuell über einen Abruf der entsprechenden Seite festgestellt werden. z.b. bei Yahoo bieten sich für Deutsche Titel: https://de.finance.yahoo.com/ und für weltweite Titel: https://finance.yahoo.com/ an.

Die Eintragung erfolgt anschließend direkt im Variablen-Formular der Aktienstammdaten eines Titels:

image-1655629271442.png



Tai-Pan® X

Aktualisierungsformen

Für Aktualisierungen über Tai-Pan® bzw. der Tai-Pan®-Database-Engine stehen unterschiedliche Zugriffswege zur Verfügung:

On-Demand

Die Funktion aktualisiert automatisch im Hintergrund die Kursdaten mit den Tai-Pan EOD Daten, wenn diese intern nicht mehr aktuell vorliegen. Das Prinzip verhindert vollständig unnötige Aktualisierungsläufe in SHAREholder, da die Daten nur dann abgerufen werden, wenn Sie benötigt werden. Das System funktioniert durchgehend für Chartabrufe, Depotdaten, Kurslisten usw.

Wird in der Toolleiste die Funktion "Setup Tai-Pan/ Aktualisierung" aufgerufen, werden intern alle OnDemand-Caches für ungültig erklärt und automatisch alle Daten erneut von Tai-Pan geholt bei Abruf. Das System funktioniert dabei vollständig transparent und arbeitet technisch auf unterster Ebene, so dass der OnDemand-Abruf und damit der Abruf der aktuellsten Daten von Tai-Pan zu 100% gewährleistet ist, egal welche Programmfunktion genutzt wird.

image-1655629325457.png

 

image-1655629329006.png

 

Verifizierte Versionen

Folgende Versionen konnten erfolgreich gestestet werden und sind damit für die Nutzung mit SHAREholder freigegeben:

Katalog-Aktualisierung

Alle in Tai-Pan vorhandene Kataloge können auch in SHAREholder übernommen und synchronisiert werden. Dabei können sowohl Stammdaten, als auch Kursdaten synchronisiert.

image-1655629333635.png

 

image-1655629337229.png

 

Dabei wird folgender Aktualisierungsumfang abgedeckt, hier sofort mit angezeigten Inhalten:

image-1655629341446.png

 

image-1655629348270.png

 

Generelle Regeln für die Aktualisierung

Automatische Datenübernahme

Eine automatische Titel und Datenübernahme (siehe Aktualisierungsumfang) ist integriert. Diese wird gestartet, wenn innerhalb von Titel-Suchmasken (Marktsuche, Transaktionsfenster - Titelsuche) kein Ergebnis geliefert werden kann. Es wird dann versucht diesen Titel in Tai-Pan zu finden. Die Titel werden hier mit allen gefundenen Attribute gelistet und können per Auswahl direkt übernommen werden. Alle nachfolgende Schritte erfolgen in SHAREholder dann wie gewohnt bei internen, zuvor bereits vorhandenen, Titeln.

 

Tai-Pan® Realtime (RT)

Einbindung und Möglichkeiten

Die Anbindung von Tai-Pan Realtime RT ist inkl. der aktuellen Version 7.1 für folgende Funktionen gegeben:


Fehlermeldungen und Behebung

Wenn bei der Aktualisierung über Tai-Pan RT Fehlermeldung erscheinen zur nicht korrekten Registry-Installation, dann sollten folgende Aktionen im Normalfall Hilfestellung geben:

  1. Im Login-Screen sollte mit der rechten Maustaste auf das Logo geklickt werden und dort auf „COM-Server“ neu registrieren.

    image-1655629379364.png

  2. Sollten dennoch weiterhin Probleme auftreten, starten Sie Taipan RT für die Registrierung mit Admin-Rechten (Im Startmenü mit r. Maustaste Starten als Administrator wählen) und wiederholen den Schritt #1

    image-1655629385023.png

     

Nutzung API-Datenprovider

Basis-Konfiguration

image-1655629421627.png

 

Pro API-Anbieter muss ein API-Key hinterlegt werden. Dieser kann dann in den Internetadressen als Variable z.B. {Alphavantage.ApiKey} abgerufen werden.
Zusätzlich können optionale Website-Adressen hinterlegt werden. Diese werden aktuell jedoch noch nicht weiter ausgewertet. 

In der Gesamt-Baumliste rechts werden folgende Icons genutzt:

Icon
Beschreibung

image-1655629427114.png

 

API-Key gesetzt und der Umschalter auf "Produktions-Key" gesetzt. In der Standardauslieferung werden nur Demo-Keys genutzt!

image-1655629432224.png

 

API-Key gesetzt und der Umschalter auf "Demo-Key" gesetzt. In der Standardauslieferung existieren nur Demo-Keys!


Persönliche Keys

Mit der Standardauslieferung werden nur Demo-Keys ausgeliefert. Um für die vorhandenen Einträge die eigenen Keys zu hinterlegen, ohne auf zukünftige Updates verzichten zu müssen, legen Sie einfach vor dem Überschreiben einen Eintrag auf "Individualisiert" fest über das Kontextmenü in der Auswahlliste. Danach können Sie Ihren eigenen Key hinterlegen. 

image-1655629437567.png

 

In der Liste wird der Eintrag nun mit einem grünen Punkt dargestellt d.h. die Einstellung hat gegriffen. Wenn Sie wieder auf Standard zurücksetzen, wird wieder der Demo-Key angezeigt.

image-1655629441323.png

 

Besonderheiten pro Anbieter

Finnhub.IO

Thema
URL
Weitere Hinweise

API-Endpunkte finnhub.io/docs/api Aktuelle werden mindestens folgende Endpunkte genutzt:

Wie man an der Definition erkennen kann, werden die BOERSE-Kürzel mitgegeben. So kann man gezielt mit ".DE" auf XETRA-Titel zugreifen.

Die Zeitwerte werden dabei immer als {UNIX-TIMESTAMP-MS} d.h. UNIX-Timestamps in Millisekunden zurückgegeben und entsprechend interpretiert.


Preise finnhub.io/pricing-stock-api-market-data
  • OHLC bis zu 15 Jahren hier möglich ab 50$ / Monat bei 150 API calls/minute für internationale Märkte
  • OHLC bis zu 10 Jahren für US Stocks ab 49$ / Monat bei 150 API calls/minute (Basic)

Registierung finnhub.io/register

Marktsegmente finnhub.io/pricing-stock-api-market-data
finnhub.io/pricing-stock-api-international-market-data


Management-Console finnhub.io/dashboard 1x API-Key verwaltbar


Alphavantage

Thema
URL
Weitere Hinweise
API-Endpunkte www.alphavantage.co/documentation/

Folgende Hauptendpunkte werden genutzt d.h. der Teildatenabruf oder der Komplett-Datenabruf. Eine Time-Range-Abfrage ist leider nicht möglich.

Preise www.alphavantage.co/premium/
  • Preis-Staffelung nach API-Nutzung. Start mit 30 API/Minute für 30$. Für die Nutzung in ShareHolder sollten 120 API-Requests/Minute freigeschaltet werden für 49$/Monat
  • No daily limits.
  • Cancel anytime - no questions asked.
  • No hidden costs. No surprise overage charges.
Registrierung www.alphavantage.co/support/#support
Marktsegmente

Management-Console N/A Gibt es leider bisher nicht bzw. ist nicht öffentlich bekannt

Polygon.io

Thema
URL
Weitere Hinweise
API-Endpunkte www.polygon.io/docs/#getting-started

Folgende Hauptendpunkte werden verwendet:

Preise polygon.io/pricing
Registrierung www.polygon.io/signup
Marktsegmente

Management-Console www.polygon.io/dashboard

IEXCloud

Thema
URL
Weitere Hinweise
API-Endpunkte iexcloud.io/docs/api/

Folgende Endpunkte werden genutzt:

Der Datenabruf ist effektiv nur JSON-Format möglich. Leider sind die Chart-Ranges auch nur fixiert möglich d.h. es kann kein dynamisches Anfangsdatum festgelegt werden. Dies ist durch die Quick-Adressen für IEXCloud in ShareHolder dennoch unproblematisch. Für Quick wird immer 1 Monat abgerufen, sonst 1 Jahr.

image-1655629450625.png



Preise iexcloud.io/pricing/
  • Start bereits bei 9$/Monat bei jährlicher Zahlweise
  • Pay as You Go-Modell zusätzlich zum Basisplan möglich:

Your launch plan includes an allocation of 5,000,000 messages per month. You can use messages beyond this initial allocation at the discounted pay as you go rate of $1 per 1 million messages.

Registrierung iexcloud.io/cloud-login#/register
Marktsegmente iexcloud.io/core-data-catalog/ Sehr breite Markt-Abdeckung
Management-Console iexcloud.io/console
  • 2x PUBLIC APIs und 1x interner SECRET-Key nutzbar
  • Professionale Health-Checks und Status-Berichte

Intrinio

Noch nicht in Shareholder abgebildet ...

Thema
URL
Weitere Hinweise
API-Endpunkte docs.intrinio.com/documentation/api_v2/getting_started
Preise

Marktsegmente

Management-Console

Xignite

Noch nicht in Shareholder abgebildet ...

Thema
URL
Weitere Hinweise
API-Endpunkte www.xignite.com/products
Preise www.xignite.com/pricing
Registrierung www.xignite.com/xignite-trial
Marktsegmente

Management-Console

Quandl


URL
Weitere Hinweise
API-Endpunkte www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/documentation

Für historische Kursdaten

Bei Quandl.com gibt es ein sehr umfangreiches Angebot von Kursdaten, über Fundamentaldaten bis hin zu Real-Estate-Informationen. 

In Shareholder ist speziell das Premium-Angebot von EOD | End of Day US Stock Prices | Quandl unterstützt, um historische Kursdaten abzufragen.  Es können jedoch beliebige weitere Angebote eingebunden und genutzt werden. Es muss dann jeweils nur ein geeignetes Importprofil konfiguriert werden.

Haupt-Endpunkt aus einem Premium-Angebot "EOD-US-Stocks" von Quandl ist:

Es sind natürlich beliebige weitere Kataloge einbindbar!

Fundamentaldatenbank

Eine Nutzung auch der Fundamental über SF1 | Core US Fundamentals Data | Quandl ist im Default direkt in Shareholder integriert.
Das Profil steht allerdings nur über das AddOn "Fundamentaldaten" zur Verfügung (siehe Börsensoftware SHAREholder - AddOn Fundamental-Datenbanken)

Preise www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/pricing/plans Die Preise für die EOD-US-Stocks starten bei 39$ / Monat
Registrierung www.quandl.com/sign-up
Marktsegmente

Management-Console www.quandl.com/account/profile


 

CSV-Im- und Exporte

Import

Einmaliger Manueller Import Kursdaten/Stammdaten

image-1655629504632.png


Voraussetzung

Für den Import können frei definierte Importformate verwendet werden. Für den Import muss das Importformat jedoch zwingend dem Format der importierenden Daten entsprechen. Die jeweils verwendeten Elemente können dabei im Importformat nochmals im Detail geprüft werden.

Modus

Der Import von Kursdaten kann mit oder ohne einen Bezug zu einer vorher ausgewählten Aktie/Titel erfolgen:

Importformate

Teilweise können Titel nur über exotische Datenquellen aktualisiert werden, die die Kursdaten in unterschiedlichen Formaten anbieten. Die Daten können für jeden Titel als File oder für mehre Titel in einem File vorliegen. Das Programm unterstützt für das automatische Einlesen folgende Formate:

Vorgehen und Schritte

Ein einmaliger Import von Kursdaten (Aufruf: Hauptmenü.Kurs.Import) ist mit Hilfe eines Importformats (siehe Hauptmenü.Einstellungen.Importformat) ausführbar. Alle gefundenen und zugeordneten Werte werden anschließend im Protokoll gelistet.

  1. Speichern Sie die Datei(en) mit einem aussagekräftigen Namen 
  2. Öffnen des Menüs unter: Hauptmenü/Kurs/Import
  3. Wählen Sie das geeignete Importformat, welches Ihrer Datei-Struktur entspricht     

Einschränkungen und Auslesen lokaler Importdateien z.-B. von Drittprogrammen

Der Import von ganzen Verzeichnissen mit Einzelkursdateien pro Wert ist mit dem manuellen Import nicht möglich. Diese Variante ist in unterschiedlichsten Kombinationen allerdings über die Bereitstellung von passenden konfigurierten Internetadressen möglich. Diese können so definiert werden, dass diese ins Filesystem zeigen (Adresse sollte hier dann im Format file:///<LokalerPfad> hinterlegt sein.) Weitere im nachfolgenden Kapitel.

Automatische Import Kursdaten

image-1655629512253.png


Wird die automatische Anbindung eines Datenanbieters über CVS / Textdaten angestrebt oder müssen ganze Kursverzeichnisse eingelesen werden, so besteht die Möglichkeit des Zugriffs aus lokale/Netzdateien über entsprechend angepasste Internetadressen (Hauptmenü.Einstellungen.Internetadressen). Wichtig ist hier die Definition als "file:///". Anschließend erfolgt der normale Zugriff aufs Dateisystem mit der vollen Pfadangabe. Der Zugriff auf Netzwerklaufwerke ist möglich.

Soll ein Drittprogramm zur Kursdatenbereitstellung über ASCII Files genutzt werden, kann dies zusätzlich über zeitgesteuerte Aktualisierungen (normale Intervallaktualisierung fürs Internet) realisiert werden.

Wird nur ein einmaliger Import realisiert für ein Kursdatenverzeichnis z.B. mit \Daten\Import und 562299.TXT, 562300.TXT so wären folgende Schritte notwendig:

  1. Definition einer eigenen Internetadresse mit Verweis aufs lokale Verzeichnis file:///c:\Daten\Import\{WKN}.TXT. Die WKN wird hier als Platzhalter definiert, der vom Programm ausgefüllt wird (Alternativ ist natürlich auch {ISIN} möglich.
  2. Anpassung der Markteinstellung, um die neue Aktualisierungsadresse zu verwenden (je nach Bedarf und/oder Tagesaktualisierungsadresse oder die Adresse für die historischen Kursdaten)
  3. Aktualisierung der Kursdaten je nach Bedarf (Tagesdaten/ EOD-Update)

Export

image-1655629517210.png


Über den Menüpunkt Hautpmenü.Kurse.Export wird ein Exportmodul geöffnet. Der Export erfolgt als CSV Textdatei, die festlegbare Felder in festlegbarer Reihenfolge enthält. Der Export erfolgt in

Arbeitsschritte

  1. Per Quickauswahl (Quickselect) kann das Textformat aus bereits definierten Importformaten übernommen werden, d.h. Position und Inhalt wird übernommen.
  2. Beim Export sollte das Trennzeichen, Datumsformat und das Zeitformat definiert und in jedem Fall geprüft werden.
  3. Mit der Definition einer Startzeile und Endzeile pro Datei sind spezielle Formate abbildbar. In diesen können als freie Variablen {DATE} und {NOW} für die Uhrzeit Verwendung finden. Das "Freie Feld" kann mit beliebigem Inhalt oder fixen Zeichenketten gefüllt werden und steht innerhalb der Positionen als Auswahlfeld zur Verfügung.
  4. Auswahl der gewünschten Märkte für den Export (Einzelauswahl von Titeln ist nicht möglich)
  5. Start mit dem Button "Starten" in der unteren Toolleiste

Beispiel

Entsprechend des obrigen Screenshots

EXPORT VOM: 16.05.2009 18:57
Bauer`F;516810;04.07.2006;00:00;17,390;52890;16,600;17,390;16,600;
Bauer`F;516810;05.07.2006;00:00;17,150;17518;17,390;17,390;17,050;
Bauer`F;516810;06.07.2006;00:00;17,280;11937;17,220;17,280;16,900;
Bauer`F;516810;07.07.2006;00:00;16,990;4333;17,000;17,030;16,920;
Bauer`F;516810;10.07.2006;00:00;16,950;3414;17,000;17,000;16,850;
...
Alle anderen Titel vom MDAX Parkett.
Formatstrings für das Zahlenformat

Formatbezeichner werden in der folgenden Form angegeben:

["-"] [width] ["." prec] type

Eine optionale Angabe für die linksbündige Ausrichtung:
Eine optionale Breitenangabe: width
Eine optionale Genauigkeitsangabe: prec]
Das Zeichen für den Konvertierungstyp: type

In der folgenden Tabelle sind die verschiedenen Werte aufgeführt:

Bei allen Gleitkommaformaten wird das Zeichen für das Dezimal- bzw. das Tausendertrennzeichen aus den globalen Variablen DecimalSeparator und ThousandSeparator bzw. deren TFormatSettings-Entsprechungen ausgelesen.

Die Bezeichner für Index, Breite und Genauigkeit können direkt durch Angabe eines Strings mit dezimalen Ziffern (z.B. "%10d") oder indirekt mithilfe von Sternchen (z.B. "%*.*f") angegeben werden. Im letzteren Fall wird das Argument, das in der Argumentliste auf das Sternchen folgt (es muss sich dabei um einen Integerwert handeln), als tatsächlicher Wert verwendet. Ein Beispiel:

Der Breitenbezeichner legt die minimale Länge des Feldes für die Konvertierung fest. Ist der resultierende String kürzer als die minimale Feldlänge, wird er mit Leerzeichen aufgefüllt. Per Vorgabe werden die Leerzeichen vor dem Wert eingefügt, um eine rechtsbündige Ausrichtung zu erreichen. Enthält der Formatbezeichner jedoch einen Indikator für linksbündige Ausrichtung (vor dem Breitenbezeichner steht in diesem Fall ein Minuszeichen), werden die Leerzeichen nach dem Wert eingefügt und dieser linksbündig ausgerichtet.

Internet-Websites-Portale: Aktualisierungen

Grundverfahren

Bei der Internetaktualisierung werden frei konfigurierbare Zieladressen in Gruppen zusammengefasst für den gruppierten Abruf der Tagesdaten und historischen Kursdaten. Die Zieladressen sind dabei HTTP(S) Adressen von Zielportalen oder auch API-Datenprovidern. Beim Abruf werden dabei CSV/JSON und HTML-Formate genutzt. Um an die notwendigen Zieladressen pro Titel zu kommen, werden dabei ebenfalls konfigurierbare Internet-Variablen genutzt. Diese werden automatisch aufgelöst bzw. gesucht in angegebenen Suchadressen. 

Eine Nutzung von Proxy-Adressen ist dabei möglich, um insb. in Firmennetzwerk-Umfeldern zu funktionieren oder auch um VPN-Proxies nutzen zu können.

Nachfolgend werden die für dieses Grundprinzip notwendigen Einzelkonfigurationen im Detail erklärt:

Konfigurationsparameter

Aktualisierungsgruppen

image-1655629646844.png


Wenn innerhalb des Programms die Kursdaten aktualisiert werden, werden alle Aktualisierungsinformationen aus der Aktualisierungsgruppe ausgelesen. Diese Gruppen bilden eine eindeutige Zuordnung zu den für eine Aktualisierung notwendigen Abfragen ab wie z.B. Abfrageadresse (URL) für die Tagesdaten, Historischen Datenadresse und Formate.

Um die Bedeutung der Aktualisierungsgruppen kurz zu umreißen (hier die Einstellungsmaske zu den Gruppen), vorhergehend ein Sceenshot der Einstellungsmaske. Zu sehen sind rechts die aktuellen möglichen Gruppen und links für die Alphavantage-Stuttgart-Aktualisierungsgruppe die zugehörigen Einstellungen.

Erst die Aktualisierungsgruppen stellen die klare Verbindung zu den Abfrageadressen, Börse und Währung her. Da die Zuordnung von Titel/Aktie und Aktualisierungsgruppe immer 1:1 ist, muss immer nur eine passende Gruppe gefunden werden und kein Einzeltest auf Adressebene. Hierzu steht in den Titelstammdaten (siehe oben) neben der Auswahlbox ein entsprechende Testformular zur Verfügung.

Eine Aktualisierungsgruppe nutzt daher folgende Einzel-Einstellungen:

Konfigurationsparameter
Hinweise zur Nutzung
Währung Abgerufene Zieladressen haben im Normalfall eine Standardwährung, die über diese Einstellung festgelegt wird. Diese Währung wird nach dem Datenabruf auch als Zielwährung gespeichert.
Bevorzugte Börse Im Idealfall zeigt die bevorzugte Börse auf die korrespondierende Börse. Aktuell ist dies eine reine kosmetische Einstellung.
Börsenabkürzung

Abgerufene Zieladressen für Kursdaten können sich manchmal nur in der Börsen-Kürzung unterscheiden. Um hier nicht jeweils eigene Internetadressen definieren zu müssen, kann in einem eigenen Feld die Kurzbezeichnung festgelegt werden. Dieses Feld kann dann dynamisch in der Internetadresse als {BOERSE} eingebunden werden. Damit kann die die notwendige Ausmultiplikation über die Aktualisierungsgruppen erfolgen z.B. als

  • Alphavantage.Stocks[ric][Frankfurt] mit dem Börsenkürzel "FRK"
  • Alphavantage.Stocks[ric][München] mit dem Börsenkürzel "MUN"

image-1655629653903.png


Börse bzw. das spezifische Börsenkürzel für die Abfrageadresse, da Yahoo z.B. andere Börsen-Kürzel als Consors verwendet. Die Kürzel müssen auf der jeweiligen Plattform manuell ermittelt werden und sind weitgehend spezifisch in der Abbildung. Es wird damit eine sehr genaue Festlegung der Zieladressen erreicht.

Tages-Kursdaten

Auswahl der zu nutzenden Internetadresse für die Aktualisierung von Tagesdaten:

image-1655629658578.png


Historische Kursdaten Voll

Auswahl der zu nutzenden Internetadresse für die Aktualisierung von historischen Kursdaten. Im Normalfall wird versucht die "Quick"-Variante zu nutzen, wenn die Mindestanzahl an Tagen bereits vorliegt bzw. der Abstand zwischen Heute und dem letzten Kursstempel ist.

image-1655629663114.png


Historische Kursdaten Quick Auswahl der zu nutzenden Internetadresse für die Aktualisierung von historischen Kursdaten. Siehe auch "Historische Kursdaten-Voll"
Fundamentaldaten-Default

Zusammen mit der Konfiguration der Internetadressen wird auch die zugeordnete Adresse für die Aktualisierung von Fundamentaldaten in den Aktualisierungsgruppen eingestellt. Die Auswahl basiert auf die konfigurierbare Liste der Fundamentaldaten.

image-1655629667422.png


Internetadressen

Über die Internetadressen werden die Zieladressen und die für den Import zu nutzenden Importformate festgelegt.

image-1655629673048.png


Konfigurations-Feld
Hinweise
Antwort-Typ

Der Datentyp legt fest, wie die Rückgabe interpretiert werden muss unterschieden nach:

    1. CSV: Reines Textformat ohne HTML-Steueranweisungen.
    2. HTML: Textformat mit HTML-Steueranweisungen, die zunächst geparst werden müssen. Die Steueranweisungen sind dabei immer in < > eingeschlossen. Die für den Import notwendigen Tests können unter "Einstellungen.HTML-Parsing" durchgeführt werden.
    3. Profil: Zurückgegebene Daten werden direkt als Text komprimiert und in eine Profildatei gespeichert. Kursdaten können hier nicht gewonnen werden.
Request-Typ Abfragen im Web werden immer unterschieden nach GET und POST-Requests. 
Importformat

Wie kann das zurückgegebene Ergebnis der Zieladresse ausgewertet werden. Dabei wurde eine Auswahl des zu verwendenden Formats verwendet.

Zieladresse (URL)

Wie ermittle ich die Zieladresse (URL) für ein Titel, welches über diese Adresse aktualisiert werden kann. Adresse mit Nutzung von Freien und Festen Variablen

Um eine Zieladresse zu bilden, werden eine Reihe von statischen und dynamischen Variablen angeboten. Diese Statischen stellen einen Zugriff auf die Stammdaten einer Aktie und den aktuellen Einstellungen für die Kursaktualisierung dar. Die dynamischen basieren selbst auf frei konfigurierbare Internetvariablen.

Variablen werden immer in { } eingeschlossen, um diese von anderen Teilen der URL-Zeichenkette unterscheiden zu können. Freie Variablen sind Platzhalter für Werte, die selbst über statische Variablen oder dynamische Variablen aufgelöst werden müssen. 

Hier einmal als Beispiel:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol={RIC[isin]}{BOERSE}&apikey={Alphavantage.APIKEY}&datatype=csv&outputsize=compact

Dabei werden mehrere dynamische Variablen verwendet:

  • {RIC[isin]} - Frei konfigurierte Internetvariable die das Börsensymbol des Titels enthält
  • {BOERSE} - Aus der Aktualisierungsgruppe "übernommene" Abkürzung
  • {Alphavantage.APIKEY} - Aus der konfigurierbaren API-Key-Definition für Alphavantage gebildet


Internetvariablen

Internetvariablen werden für die Zielauflösung von URL-Adressen benötigt und werden pro Titel optional gespeichert, so dass eine automatische Auflösung/Abruf von Variablen nur einmalig erfolgen muss.
Es gibt hier mindestens folgende Anwendungsfälle:

  1. Sammelabfragen d.h. der gleichzeitige Abruf von mehreren Kursdaten die miteinander beim Abruf verkettet werden z.B. als "APL+DEP+AAZ"
  2. Sich verändernden Adressteilen (je Abruf) auf der Website z.B. Chart.ID bzw. auch Adressteilen die anbieterspezifisch sind und einmalig ermittelt werden müssen. Ein Beispiel ist die CompanyID der gespeicherten Profile auf dem Comdirect-Server. Diese IDs sind weitestgehend spezifisch für den Anbieter, bleiben aber konstant.

Nachträgliche Umbenennung von Internet-Variablen

Da Variablen Bestandteil anderer Variablen sein können als auch Bestandteil von verschiedenen Internetadressen ist die Umbenennung von Variablen nicht unproblematisch. Um den Vorgang aber nicht unnötig kompliziert zu halten, werden automatisch nach einer Umbenennung alle abhängigen Teile aktualisiert.
Dies verhindert Inkonsistenzen.

Nutzung von Sammelabfragen

image-1655629678906.png


Konfigurationsbeispiel für eine Sammelabfrage. 

Konfigurationseintrag
Hinweise
Daten aus Sammelanfragen liegen in Reihenfolge des Abrufs vor Diese Einstellung ist unbedingt zu prüfen für den Anbieter. Wird ein Datenabruf vorgenommen und z.B. APL, DEP und AAZ abgefragt, sollte die Rückmeldung mit Aktivierung dieser Checkbox in gleicher Reihenfolge vorliegen. Ist dies nicht der Fall muss das Importformat in der Position Suchkennung explizit eine saubere Zuordnung enthalten, da sonst eine zufällige Kursdatenzuordnung erfolgen würde.
Maixmale Anzaghl der gleichzeitigen Abrufe Erst durch diese Konfiguration wird der Eintrag überhaupt zu einer Sammelabfrage. Definiert wird eine solche Abfrage durch die Eingabe von "Maximale Anzahl von gleichzeitigen Abrufen" >1
Trennzeichen

Geachtet werden sollte auf das Trennzeichen zwischen den Werten für die Abfrage. Werden somit 3 Aktien ausgewählt und verwenden das selbe Aktualisierungstemplate ergibt sich für die Variable (Wir nehmen an alle Werte verwenden die XETRA-Börse):

APL,DEP,AAZ


Dynamische Variablen

image-1655629687076.png


Konfigurationseinstellung
Hinweise
Name  Wird rechts in der Listendarstellung festgelegt und über "Edit" verändert. Die Nutzung erfolgt dann in anderen Internetadressen als auch in anderen Internetvariablen mit geschweiften Klammern. Hier im Beispiel also: {arivaSecuID[isin]}
Quelldatenadresse
Prinzipiell könnten alle Variablen direkt im Stammdaten-Dialog des Titels (Doppelklick, Reiter Internetvariablen) manuell festgelegt werden. Um dies jedoch auf ein Minimum zu reduzieren, kann eine automatische Auflösung erfolgen.

Nachfolgend als Beispiel: 
Hierbei wird als ein Zielseite zunächst abgerufen und intern nach der Zeichenkette

https://www.ariva.de/search/search.m?searchname={ISIN}
Suchstring

Nachfolgend als Beispiel:

aic={suchstring}&

Der {Suchstring} wird dabei nicht gesucht, sondern kennzeichnet einfach nur den Teilbereich, der als Rückgabewert für die Variable gelten soll auf Basis der Quelldatenadresse.
Dabei wird der Teil vor und nach dem Suchstring in der Rückgabe der Quelldatenadressen (Normalfall HTML-Text) gesucht und so der Suchstring als Variable interpretiert.


Importformate

image-1655629692937.png


Die Formateinstellungen entscheiden maßgeblich über den Erfolg oder Misserfolg einer Kursaktualisierung. Festgelegt werden können für die Kursdatenaktualisierung zwei unterschiedliche Importformattypen: Für Aktienkursdaten und Für Aktienstammdaten z.B. KGV, DivR usw.

Weitere Details finden Sie speziell unter:

Aktualisierungen von HTML-Seiten

image-1655629698759.png


HTML Dateien können in CSV Dateien übersetzt werden insb. durch die Transformation von Tabellen. In HTML werden Tabellen mit

<table>
  <tr>
      <td>1.Zeile / 1.Spalte</td>
      <td>1.Zeile / 2.Spalte</td>
      <td>1.Zeile / 3.Spalte</td>
  </tr>
</table>
<table>
  <tr>
      <td>2.Zeile / 1.Spalte</td>
      <td>2.Zeile / 2.Spalte</td>
      <td>2.Zeile / 3.Spalte</td>
  </tr>
</table>

dargestellt.

Diese Struktur wird in:

___________:TABLE:_________
1.Zeile / 1.Spalte°1.Zeile / 2.Spalte°1.Zeile / 3.Spalte°
___________:TABLE:_________
2.Zeile / 1.Spalte°2.Zeile / 2.Spalte°2.Zeile / 3.Spalte°

transformiert. Diese kann dann normal durch die Importformatbeschreibungen ausgelesen werden.


Konfigurations-Feld
Hinweise
Suchschlüssel Da die Infotabellen nicht zwingend allein auf einer HTML Seite stehen müssen, kann ein Suchschlüssel für eine Tabelle angegeben werden, um anderen davor liegende Tabellen zu überspringen z.B. für Werbeblöcke. Nachfolgende werden ohnehin ignoriert. Mit Suchschlüssel können Sie gezielt ein Suchwert festlegen, der an irgend einer Stelle innerhalb der gesuchten Tabelle vorhanden ist. Im obrigen Beispiel würden Sie gezielt die 1.Tabelle mit "Kursdaten" filtern, die 2. entsprechend mit Copyright. Alle anderen Tabellen die den Suchbegriff nicht enthalten würde herausgefiltert werden.
<TR>=Zeilenvorschub Informationen werden normalerweise zeilenweise gespeichert. Dies macht eine Transformation von Tabellenzeilen in Informationseinheiten notwendig. Mit "TR=Zeilenvorschub" aktivieren Sie diese Funktionalität. 

Um effektiv zu arbeiten, sollte zunächst im Browser die gewünschte Seite angesurft werden, hier dann der Quelltext (Kontextmenü Quelltext anzeigen) in die Zwischenablage kopiert werden.

Dann öffnen Sie im Hauptmenü den Menüpunkt "Einstellungen / Test-HTML-Parsing" und übernehmen mit dem Button "HTML aus Zwischenablage einfügen" im Formular den HTML-Quelltext und parsen diesen automatisch. Das Parsingergebnis wird mit Zusatzinformationen im unteren Ergebnisfenster gezeigt. Über den Button "Importformat" kann bereits von hier aus direkt dieses festgelegt oder geändert werden.

Protokoll und Fehlersuche

siehe Protokolle und Fehlersuche

Internet-Websites-Portale: Konfigurationsmöglichkeiten

Internet-(Filter-)Einstellungen

Grundsätzlich wird der Umfang einer Kursaktualisierung festgelegt durch die Art des Aufrufs. Es wird primär immer die aktuell gezeigte Liste z.B. aus dem Depot, aus einer Detailliste oder auch aus einer Watchliste aktualisiert.
Wird jedoch über das Hauptmenü "Aktualisierung Internet" aufgerufen, werden die Selektionen aus dem Internet-Filter berücksichtigt.

image-1655629769787.png

Konfigurationseinstellungen (rechte Seite)

Einstellung
Hinweis und 
Tagesdaten In den Aktualisierungsgruppen gibt es immer auch die Option der Tagesdaten-Aktualisierung (Last-Quote). Im Filter können Sie hier setzen, ob Sie diese Daten explizit mit abrufen wollen, um sicherzustellen, dass Sie den letzten gültigen Tageskurs "abgerufen" haben.
Historische Daten
<Startdatum>

Zu nutzendes Startdatum für die Kursaktualisierung. Sie sollten dabei folgende Themen beachten:

  • Sie sollten nur so viele Daten sammeln, wie Sie auch tatsächlich nutzen können. Alles andere belastet nur Ihre Datenleitung, Ihre Platte und Ihre Geduld, da natürlich beim Abruf auch höhere Verzögerungen auftreten.
  • Es ist empfohlen das Startdatum nicht manuell zu setzen, sondern die Funktion "Automatische Datumswahl" zu setzen
Historische Daten
<Enddatum>
Zu nutzendes Enddatum für die Kursaktualisierung
Alle Daten ersetzen Es kann gelegentlich vorkommen z.B. bei Wechsel des Kursdatenanbieters, dass die Daten nochmals justiert werden sollten. Mittels dieser Funktion kann hier ein kompletter Reset erreicht werden. Sie sollten versuchen die Funktion nur temporär und sehr bewusst zu nutzen, da Sie sonst immer wieder von vorne beginnen die Kursdatenbasis einzulösen.
Automatische Datumswahl

Hiermit wird statt der 16.03.2005 (siehe Beispiel oben) als Startdatum für die Aktualisierungen automatisch das letzte verfügbaren Kursdatum minus 3 Tage genutzt. Auch wenn noch keine Kursdaten vorhanden sind, wird das Ausgangsdatum verwendet. Andernfalls wird jedoch eine einfache Kursaktualisierung gewählt, die nur versucht die fehlenden Tage + 3 Tage aufzufüllen. Neue oder unvollständige Kursdaten von Titeln werden so dynamisch aufgefüllt und gut gepflegte Titel erhalten nur die notwendigste Kursaktualisierung. 

Protokoll und Reines Fehlerprotokoll siehe Protokolle und Fehlersuche

Aktualisierungs-Profile

Aktualisierungsprofile stehen im Menü als eigenständige Schnell-Konfigurationen zur Verfügung und können gleichzeitig für automatisch ausgeführte Programm-Starts genutzt werden:

image-1655629775461.png


Aktion

Profil laden Sie haben die Möglichkeiten durch Selektion eines Aktualisierungsprofils über die Radiobutton zu laden. Dabei wird die vorherige gespeicherte Auswahl für Märkte, Watchlisten und die Einzelkonfigurationen geladen.
Neues Profil anlegen Nutzen Sie den Button "Hinzufügen" unten
Profil speichern Um zu speichern nehmen Sie die gewünschten Selektionen vor und wählen das Zielprofil aus und nutzen in der Toolbar (unten rechts) den Button "Speichern".



Internet-Websites-Portale: Protokolle und Fehlersuche

Start

Ein Aktualisierungs-Protokoll kann grundsätzlich über die Filter-Einstellungen aktiviert werden und der Start erfolgt über das Hauptmenü / Aktualisierungen / Filter - Einstellungen. Alternativ ist die Tastatur-Abkürzung: <Strg><F> nutzbar.
Der Konfigurationsdialog gilt für alle Aktualisierungen die im Menü nachfolgend aufgelistet werden (Internet, Taipan, XTB). Das Protokoll kann allerdings nur für die Internet-Einstellungen aktiviert werden.

image-1655629821304.png



Konfigurationsdialog

image-1655629826624.png


Konfigurations-Setup

Checkbox "Protokoll"

Dient der Aktivierung der Aufzeichnung aller Aktivitäten bei Internetaktualisierungen. Das Protokoll wird automatisch nach einer Aktualisierung geöffnet und liegt in einem HTML-Format vor, so dass der registrierte Default-Browser für HTML-Dateien genutzt wird. Das Protokoll zeigt dabei alle vorhandenen Requests und dessen Zuordnungen. Sie sollten das Protokoll immer nutzen, wenn sich nicht die gewünschte Qualität oder Umfang für Aktualisierungen einstellt. Das Protokoll liegt selbst im \Daten-Verzeichnis von ShareHolder und kann auch manuell geöffnet werden.

Checkbox "Reines Fehlerprotokoll" Das Protokoll wird in diesem Fall nur angezeigt, wenn während der Aktualisierung es zu Problemen kommt bzw. ein Titel als nicht aktualisiert gekennzeichnet werden musste. Dies passiert durch reine technische Fehler als auch durch Probleme im Abruf von vorkonfigurierten Internetadressen.

Beispiel-Protokoll


Sektion: Alphabet Inc. A`N (Nasdaq100,WKN=A14Y6F,ISIN=US02079K3059)

Zusatzanmerkungen:

  • Wie man am Beispiel sehen kann, wird zunächst das Aktualisierungsformat d.h. die Zieladresse mit den Variablen dargestellt. Die Anzeige dient der Kontrolle der korrekten schematischen Darstellung.
  • Nachfolgend wird das Format geschrieben, was immer als CSV, JSON oder HTML gesetzt werden kann
  • Nachfolgend kommt bereits die Ziel-URL, so wie diese nach Auflösung aller Variablen genutzt werden kann. Diese URL ist im Protokoll auch klickbar und kann direkt abgerufen werden. Macht man diese im obigen Beispiel, kann man mittels Browser-Plugins für JSON-Formatierungen die Gesamtstruktur ebenfalls sehr gut einsehen und prüfen:

    image-1655629832592.png



Sektion: Alphabet Inc. A`N (Nasdaq100,WKN=A14Y6F,ISIN=US02079K3059)


Auch hier gilt, dass der Aufruf der Ziel-URL über den Link über ein JSON-Formatierer im Browser hier einfacher und schneller lesbar wird. Teilweise werden so auch automatisch die UNIX_Timestamps übersetzt (siehe Screenshot)

image-1655629838482.png




Zusammenfassung (Laufzeit: 0min 2s)

Name WKN ISIN
[OK]Alphabet Inc. A`N A14Y6F

US02079K3059

Gesamt
1
Erfolgreich 1
Aktualisierungsfehler 0
Auflösungsfehler/Not Touched 0

Internet-Websites-Portale: Prüfung von Aktualisierungs-Gruppen

Da es manuell sehr schwer möglich ist, die beste Aktualisierungsgruppe auszuwählen, wird ein eigener Prüfdialog im Reiter "Kursaktualisierung" angeboten.
Die Funktion ist dabei so ausgerichtet, da ein persönliches Optimum gefunden werden kann nach folgenden Kriterien:

Vorgehen

Über den Stammdatendialog, der mit Doppelklick auf einen Titel geöffnet wird, kann über den Reiter "Kursaktualisierung" ein geeigneter Dialog geöffnet werden. Hier kann nach Selektion der Aktualisierungsgruppen oder für alle vorhandenen Aktualisierungsmöglichkeiten (-Gruppen) eine automatische Auswertung mit oder ohne Protokoll (siehe Checkbox) erfolgen. Die Selektion mehrerer Einträge erfolgt dabei wie üblich durch <Strg>+Auswahl der Einträge. 

image-1655629951969.png

 

Sollten sich hieraus Optimierungen für die beste Aktualisierungsgruppe ergeben, so kann diese auch sofort über die obere Auswahlbox umgestellt werden bzw. über Aufruf des Kontextmenüs. Pro Titel kann immer nur eine Kursaktualisierungsgruppe gültig sein. Eine Kursaktualisierungsgruppe kann aber verschiedene Internetadressen und Anbieter nutzen.

image-1655629957176.png

 

Folgende Felder werden dabei genutzt:

Feld
Beschreibung
Adresse und Farbcodes

Jeder Titel hat eine Hauptwährung, die im Stammdaten-Reiter konfiguriert wird:

image-1655629962457.png

 

Stimmen die Hauptwährung und die konfigurierte Währung der angezeigte Kursaktualisierungsgruppe (siehe auch Internetaktualisierungen) überein wird die Textfarbe auf Schwarz gelassen, andernfalls wird der Eintrag in grau dargestellt, kann aber weiterhin genutzt werden!

Datum Letztes verfügbares Kursdatum nach Aktualisierung
Währung Konfigurierte Rückgabe-Währung entsprechend der Kursaktualisierungsgruppe
Kurs Letzter verfügbarer Kurs nach Aktualisierung
Erstes Kursdatum Erster verfügbarer Kurs nach Aktualisierung insb. zur Prüfung, wann die Kurshistorie vom Anbieter anfängt. Hier gibt es deutliche Unterschiede
Anzahl EOD Anzahl der Datensätze. Diese unterscheiden sich gewöhnlich nicht nur zwischen den Anbietern, sondern auch pro Marktplatz deutlich
Zeit 1 Zeitdauer für den Abruf der Kursdatensätze. Insb. die CSV-Daten (Die Gruppen mit CSV im Namen) sind deutlich schneller. Der 1. Abruf löst intern automatisch notwendige Internetvariablen auf und dauert daher gewöhnlich länger als der 2. Aufruf
Zeit 2 Da im ersten Aufruf nicht verhindert werden kann, dass Internetvariablen aufgelöst werden müssen über seperate Internet-URL-Aufrufe wird ein zweiter Test durchgeführt. Dieser sollte für Vergleiche verwendet werden und ist zum 1. identisch, wenn keine Internetvariablen für diese Gruppe mehr aufgelöst werden müssen.


image-1655629967539.png

 

Suchen Sie dabei die optimale Kursdatenquelle heraus und nutzen dabei das Kontextmenü nach Selektion eines Eintrags. Sie können dann "Nutzen Sie diese Aktualisierungsgruppe" auswählen, ohne manuell die Auswahlbox oben für "Aktuelle Aktualisierungsgruppe" verändern zu müssen.

shareHOLDER EOD-Updates

 

 

Grundidee ist die periodischen Updates für Kursdaten für die Hauptmärkte deutlich zu vereinfachen durch eine zentral bereitgestellte Datenbasis, die per Klick heruntergeladen und eingespielt werden kann. Der Zugriff ist dabei nur für registrierte (aktive) Anwender möglich und die Datenbasis unterscheidet mehrere möglichen Datenzeiträume. Es können damit unterschiedlich große Kurslücken geschlossen werden. shareHOLDER entscheidet dabei selbst auf Basis von Stichproben, ob die kleine Datenbasis bereits ausreichend ist.

Die Funktionalität steht ALLEN registrierten Anwendern von shareHOLDER zur Verfügung. 

Datenbasis

Mittels in ca. 2-3h automatisch durchgeführten Abfragen von Kursdaten aus freien Angeboten werden auf einem zentralen Daten-Server die ermittelten Kursdaten abgelegt. Dabei werden unterschiedliche Zeiträume vorgehalten, so dass automatisch auf Basis der beim Kunden vorliegenden bereits vorhandenen Datenbasis entschieden werden kann, welche Differenz-Kursdatenbasis importiert werden sollte. Die Daten werden dabei ergänzend zur vorhandenen Kursdatenbasis eingelesen. Die Kursaktualisierung kann damit hervorragend zur Ergänzung zu eigenen Aktualisierungen genutzt werden.

Aktuell werden immer zwei verschiedenen Kursdatenbank zur Verfügung gestellt:

Die bereitgestellten Märkte umfassen die wesentlichen europäischen und amerikanischen Märkte Für die bereitgestellten Kursdaten kann KEINE Garantie übernommen werden, da diese weitgehend automatisiert bereitgestellt werden und keine manuelle Qualitätssicherung erfolgen kann.
Sowohl der Datenumfang, Vollständigkeit und die Qualität kann dabei leider garantiert werden, da ausschließlich freie Angebote automatisiert ausgelesen werden.

Konkret werden folgende Märkte aktualisiert und bereitgestellt. Ein Anspruch auf die Datenbank und die Bereitstellung aktuellster Daten besteht dabei nicht. Es ist ein freiwilliger Service, der Ihnen eigene Aktualisierungs-Zyklen ersparen soll.

Datenquelle(n) und Aktualisierungsfrequenzen

Für die Bereitstellung der Kursdatenbank werden periodische Aktualisierungen freier Internet-Quellen durchgeführt. Dabei benötigt die Aktualisierung der Märkte selbst ca. 30min (bei aktuell ca. 3000 Titeln), womit die bereitgestellten Kursdaten immer einen Versatz von max. 30min haben.
Aktuell sind folgende Aktualisierungs-Startzeitpunkte eingestellt:

01
02
03
04
05
06
07
08
09:30
10
11
12
13
14
15
16
17
18
19
20:30
21
22:30
23
24








X

X
X


X
X
X
X

Für amerikanische Titel stehen damit frühestmöglich um (16:00+30min) d.h. 16:30 die ersten Kursdaten zur Verfügung.
Alternativ stehen Ihnen natürlich immer die normalen eigenen Internetaktualisierungen zur Verfügung. 


Prozess

Die Aktualisierung erfolgt immer in folgenden Schritten, wenn ein gültiger shareHOLDER-Registrierungsschlüssel vorhanden ist (sowohl Standard-als auch Profiversion):

  1. Abgleich zur Kursdatenbank, welche Datenumfang für die bereits vorhandene Kursdatenbasis sinnvoll erscheint
  2. Download der geeigneten Kursdatenbank
  3. Migration der Kursdaten (additiv) 
  4. Refresh der Ansichten


Technische Hintergrund-Details

Der Datenbankabgleich erfolgt gegen eine zentrale Migrations-Quell-Info-Service: https://www.shareholder24.de/download/Kursdaten-Migrate-Inc.json (Sollte mit einem JSON-Parser gelesen werden). Die Aktualisierung erfolgt dabei auf Basis der gesetzten ISIN, d.h. sollte diese zwischen der Migrationsdatei und der lokalen Version abweichen, erfolgt keine entsprechende Aktualisierung. Es ist daher empfohlen möglichst nach an der offiziellen Stammdaten / Markt-Version zu bleiben. Dies kann durch regelmäßige Updates der Stammdaten.MOD und Aktienstammdaten.MOD erfolgen. Diese wird z.B. über das Hauptmenü / Hilfe / Auf neue Module prüfen vorgenommen.


Beim Import wird eine Log-Datei angelegt unter: \Daten\Database\Kursdaten-Migrate-Inc.log. Beide Dateien sollten jedoch nur zur Fehlersuche herangezogen werden. 

Hinweise bei Problemen in der Aktualisierung 

Sollte keine Aktualiisierung erfolgreich durchgeführt werden können, d.h. es werden keine aktuelle Kursdaten angezeigt, so sollten Sie die Namen der Märkte abgleichen. Bitte verwenden Sie exakt die Schreibweise der Märkte von oben. Der Namen muss entweder direkt oder als Shortname vergeben worden sein, da nur so der Abgleich erfolgt..

 

image-1655630006205.png

Kursaktualisierungs-Pflege und Management

Da die Kursaktualisierung auch durch jeden Nutzer selbst übernommen werden kann, existieren verschiedene Support und Hilfe-Ansichten, die einen schneller Überblick der aktuellen Konfigurationen liefern sollen und gleichzeitig spezielle Filterungen für fehlerhafte Zustände erlaubt.

Inhaltsverzeichnis:



Detail-Listen "Stammdaten-Pflege" - Filterung und Ansicht

In den Detail-Liste (Shortcut: <F8>) können Sie über die Ribbon-Bar in den Reiter "Titel-Stammdaten-Verwaltung" wechseln. Dort finden Sie einen Switch "Stammdaten-Pflege". Dieser erlaubt die Umschaltung der kompletten Detail-Listen-Ansicht mit einem zweiten Anzeige-Profil für die gezeigte Detail-Liste. Dies meint dabei die Auswahl der gezeigten Spalten, dessen Reihenfolge und Breiteneinstellungen.

image-1655630056459.png

 

Wenn das Profil nicht verändert worden ist, wird dabei automatisch eine Auswahl gezeigt, die sehr effektiv für die Pflege der Stammdaten ist:

Spalte
Kurzerklärung
Hinweis für die Stammdaten-Pflege
Internetvariablen.FIRST Primär genutzte Variable zur Auflösung des Titels z.B. die Ariva-Kennung, die RIC/Symbol etc. aufgrund des konfigurierten Aktualisierungsprofils Diese Spalte erscheint zunächst sehr unscheinbar ist aber enorm hilfreich, da die häufigste Ursache für fehlerhafte Kursaktualisierungen nicht die eingestellten Kursprofile sind, sondern ein fehlerhafte hinterlegte "Kennung". Da je nach Aktualisierungsgruppe/-profil die Kennung unterschiedlich sein kann, wird hierüber automatisch die korrekte und primäre Variable aufgelöst. Dabei wird immer der Variablenname und der Wert angezeigt z.B.
  • RIC[isin] = ADS für den Titel Adidas
Aktualisierungsgruppe Zeigt die aktuell ausgewählte Aktualisierungsgruppe für Internetaktualisierungen d.h. welche Zieladressen und Formate sind zur Aktualisierung der Kursdaten zu verwenden.

Es kann pro Titel immer nur eine Aktualisierungsgruppe geben. Diese kann jedoch selbst mehrere Ziel-Adressen enthalten. Konkret:

  • Aktualisierungsadresse für die Tagesdaten (entspricht der Intraday/Tagesdaten-Aktualisierung)
  • Aktualisierungsadresse für die historischen Kursdaten (Quick) (entspricht der Kursdaten-Aktualisierung mit den konfigurierten Maximalanzahl von fehlenden Tagen in der Kurshistorie. Andernfalls wird die alternative (Full)-Variante verwendet.
    • Aktualisierungsadresse für die historischen Kursdaten (Full). Diese wird immer verwendet, wenn keine Kursdaten vorhanden sind oder der letzte Kurs-Eintrag älter als die eingestellten Maximaltage sind. Im Default beträgt diese 100 Tage.
Währung Aktuell konfigurierte Standardwährung für den Titel. Ein Titel kann mehrere Währungen unterstützen. Aktuell wird jedoch nur der Default angezeigt. Eine Umschaltung der Anzeige für Charts und in den Kurslisten-Anzeige folgt.

Die eingestellte Währung pro Titel ist sehr zentral und sollte geprüft werden. Dies betrifft insb. folgende Aspekte:

  • Kauf/Verkauf von Titeln vergleicht die Portfolio-Währung mit der Titel-Währung und zeigt ein Eingabe-Dialog für die Umrechnung an, wenn diese nicht übereinstimmt. Ist beispielsweise € als Portfolio-Währung hinterlegt und der Titel in $ geführt, dann wird ein entsprechend EUR/USD-Umrechnungskurs einzugeben sein.
  • Bei der Kursaktualisierung können relativ ungeprüft beliebige Währungspaare aktualisiert werden. Um jedoch Umrechnungsfehler und möglichst realistische d.h. umsatzstarke Kursdatenquellen zu nutzen, sollte die Währung korrekt hinterlegt sein. Sie erhalten dann im Stammdaten-Dialog im Reiter "Kursaktualisierung" nur Kursaktualisierungsprofile angezeigt, die auf die Währung ausgerichtet sind. In unserem Beispiel damit Aktualisierungsgruppen mit einer konfigurierten Währung in $.
Tai-Pan-Symbol Zeigt die internen Referenzschlüssel der für die Aktualisierung in Tai-Pan genutzt wird. Im Normal-Fall kann hier im Zweifel die Kennung einfach in den Stammdaten (Doppelklick) zurückgesetzt (gelöscht) werden. Mit der nächsten Tai-Pan Aktualisierung wird automatisch eine Zuordnung vorgenommen. 
Tickersymbol Interne Repräsentation der RIC-Nummer/Ticker-Eintrags. Der Initialwert wird aus Tai-Pan aktualisiert. Die RIC-Nummer, die für fast alle Aktualisierungsgruppen verwendet wird, ist im Normalfall identisch zum Tickersymbol, ist technisch hiervon aber getrennt. Achten Sie daher bitte vor allem auf die Variablen-Einstellung in den Stammdaten im Reiter "Variablen".
Letztes Kursdatum Anzeige des Datums des letzten Kurs-Eintrags in der Kurshistorie Sie können mittels dieses Wertes in einer eigenen Spalten bequem danach sortieren oder filtern über den Spalten-Kopf. Die Aktualisierung des Wertes erfolgt automatisch mit jeder Kursaktualisierung unabhängig von der Datenquelle.
Letztes Fundamentaldaten-Update Anzeige des letzten Ausführungsdatum der Fundamentaldaten-Aktualisierung (Börse-Online, Tai-Pan oder Fundamental-Internet-Aktualisierung) Nutzen Sie diese Spalten um zu verifizieren, um Aktualisierungen der Fundamentaldaten überhaupt vorliegen können. Alle Fundamentaldaten-Quellen aktualisieren diesen Wert. Der Wert kann in den Stammdaten auch manuell geändert werden (Reiter Stammdaten).
Gesamtkursdaten-Umfang (Jahre) Darstellung der Zeitspanne zwischen erstem und letzten Kursdatum. Inhaltlich erfolgt keine Verifikation auf Vollständigkeit, sondern nur eine Darstellung der Zeitspanne zwischen erstem und letztem Kurseintrag.
Marktzuordnungen Kursdarstellung der Kurzbezeichnungen der zugeordneten Märkte des Titels Da die Markt-Zuordnung eines Titels nicht besonders für Markt-Spezifische Filterungen und Strategie-Betrachtungen sind, sollten die Zuordnungen leicht geprüft werden können. Es werden dabei alle zugeordneten Märkte mit der Kurzbezeichnung gezeigt und durch ein Pipe | Symbol voneinander getrennt. Auch diese Spalte ist sortierbar und filterbar.

Sofortfilter für Titel mit unsauberen Stammdaten

image-1655630063855.png

 

Um das Leben auch hier einfacher zu machen, können gezielte mit Klick auf den übergeordneten Button "Filtere Titel mit unsauberen Stammdaten" betroffene Titel in der aktuell angezeigten Detail-Liste (Markt oder Watchliste) gefiltert werde. Die Filterung wird dann in der gleichen Liste angezeigt. Um auch nicht nur die aktuelle Liste  z.B. die ausgewählte DAX-Markt-Liste zu filtern, steht ein separate Checkbox/Funktion zur Filterung aller Titel zur Verfügung.

Die nach der Filterung angezeigten Titeln können dann beliebig weiterbearbeitet werden z.B:

Sofortfilter für Titel mit unsauberen Kursdaten nach Kriterien

image-1655630069092.png

 

Die Filterung kann sowohl nach Tagen als auch nach Stundenfenstern erfolgen, um so unsaubere Titel effektiv zu finden. Die Filterung ergibt eine Ergebnisliste die leicht gezielt bearbeitet werden kann z.B.

Nutzung der Quandl.com Datenbank-Systeme

Die Nutzung der Quandl.com Datenbasis erfolgt analog zu anderen freien Kursangeboten mit dem Unterschied, dass Quandl ein sehr umfangreiches und mächtiges Angebot darstellt für freie aber auch kostenpflichtige Kursdatenbanken.
Registrieren Sie sich zunächst unter: 

https://www.quandl.com/sign-up-modal

Damit die nachfolgenden Kursaktualisierungen überhaupt funktioniernen, müssen Sie unbedingt nach dem SignUp die genutzte E-Mail-Adresse bestätigen! Sie erhalten sonst zunächst nichtssagende Fehlermeldungen "Response=HTTP/1.1 403 Forbidden" beim Datenabruf. Die Bestätigung erfolgt über die automatisch zugesandte Mail vom Anbieter, wo Sie gebeten werden mit Klick auf den "Confirmation-Link" die Korrektheit der Mail-Adresse zu bestätigen.

Sie erhalten nach Abschluss der Registrierung einen API-Key. Diesen müssen Sie einmalig in den Programm-Einstellungen hinterlegen:

image-1655630118594.png

 

Kursaktualisierungsgruppe

Bitte prüfen Sie ob Sie folgende Einstellungen bei Ihnen vorfinden unter Einstellungen / Aktualisierungsgruppe:

image-1655630123193.png

 


Danach kann pro Titel direkt mit Doppelklick auf den Titel die Kursaktualisierung getestet werden hier z.B. für Google!

Achtung: Datenabruf sehr oft kostenpflichtig

Achten Sie bitte immer auf das genutzte Angebot! Sie sollten hierbei auf der Website zunächst recherchieren, ob das Angebot tatsächlich kostenfrei ist:

Hier am Beispiel Apple, was funktioniert auch direkt auf der Website:

image-1655630129076.png

 

image-1655630133386.png

 

Hier das Beispiel für GOOGL nach Abruf mit SHAREholder im Protokoll. Es ist hier kein Abruf-Fehler, sondern nur ein Problem dass GOOGL nicht kostenlos abgerufen werden darf:

image-1655630139194.png



image-1655630145989.png



Nutzung verschiedener Datenbanken von QUANDL

Wie oben bereits zu erkennen ist, wird aktuell nur die "EOD"-Datenbank im Standard ausgeliefert und bereitgestellt. Sie können aber einfach das zugehörige Profil unter Einstellungen /Aktualisierungsgruppen duplizieren und den Code unter Börsenabkürzung verändern.
Sie können dann jede beliebige Datenbank von QUANDL nutzen.

image-1655630150652.png