Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kostenlose Historische EOD Daten
#11
Notiz 

RE: Kostenlose Historische EOD Daten

Wer hat eigentlich "unadjusted" Kursdaten (in Daily oder Monthly ist egal)?

Yahoo hat sie, stimmen aber leider nicht immer, die sind manchmal auch adjustiert. Quandl (die Kostenlosen) und Google sind glaub ich immer justiert. iextrading scheint auch nur justierte zu haben.

tiingo und alphavantage.co bieten sie an, hab ich aber noch nicht getestet. Hat jemand Erfahrungen mit historischen, also ein paar Jahre zurückliegenden Daten?

__________________
Kinder wollen nicht wie Fässer gefüllt, sondern wie Fackeln entzündet werden.
#12
Notiz 

RE: Kostenlose Historische EOD Daten

https://www.quotemedia.com/

API (Beispiel)
http://app.quotemedia.com/quotetools/get...ymbol=AAPL

Lässt sich leicht in Excel einbinden:
Beispiel:
Das Tickersymbol steht in A1, die Ausgabe erfolgt ab A3. Die Daten werden als csv übertragen und in Excel eingefügt.
in der Variable en wird das aktuelle Datum eingefügt (Enddatum).
In der Variable st mit wird vom aktuellen Jahr zwei Jahre zurück gegangen (Startdatum).
Nur die ersten 5 Werte werden durch TextFileColumnDataTypes formatiert.

Die Procedure lässt sich über eine do while-Schleife aufrufen, wobei in A1 immer das aktuelle Tickersymbol eingetragen wird.
Übertragen werden folgende Daten:
Date, open, high, low, close, volume, changed, changed percentaged, adj close, trade value, trade volume
Code:
Sub Kurse_Hist()
Dim ticker As String
Dim st, en As Date

Dim Pfad As String
Dim tmp As String

en = Date
st = DateSerial(Year(en) - 2, Month(en), Day(en)) '<- Hier bitte für das Startjahr rumfummeln
Pfad = "http://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=" + Trim(Str(Day(st))) + "&startMonth=" + Trim(Str(Month(st))) + "&startYear=" + Trim(Str(Year(st))) + "&endDay=" + Trim(Str(Day(en))) + "&endMonth=" + Trim(Str(Month(en))) + "&endYear=" + Trim(Str(Year(en))) + "&isRanged=true&symbol="

ticker = Range("A1")


   With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;" & Pfad & ticker, Destination:=Range("$A$3"))
       .Name = ""
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .RefreshStyle = xlOverwriteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .TextFilePromptOnRefresh = False
       .TextFilePlatform = 850
       .TextFileStartRow = 1
       .TextFileParseType = xlDelimited
       .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
       .TextFileTabDelimiter = True
       .TextFileSemicolonDelimiter = False
       .TextFileCommaDelimiter = True
       .TextFileSpaceDelimiter = False
       .TextFileColumnDataTypes = Array(xlMDYFormat, xlGeneralFormat, xlGeneralFormat, xlGeneralFormat, xlGeneralFormat)
       .TextFileDecimalSeparator = "."
       .TextFileThousandsSeparator = ","
       .TextFileTrailingMinusNumbers = True
       .Refresh BackgroundQuery:=False
   End With

End Sub
#13
Notiz 

RE: Kostenlose Historische EOD Daten

(24.11.2018, 23:28)Beth schrieb: https://www.quotemedia.com/

API (Beispiel)
http://app.quotemedia.com/quotetools/get...ymbol=AAPL

Lässt sich leicht in Excel einbinden:
Beispiel:
Das Tickersymbol steht in A1, die Ausgabe erfolgt ab A3. Die Daten werden als csv übertragen und in Excel eingefügt.
in der Variable en wird das aktuelle Datum eingefügt (Enddatum).
In der Variable st mit wird vom aktuellen Jahr zwei Jahre zurück gegangen (Startdatum).
Nur die ersten 5 Werte werden durch TextFileColumnDataTypes formatiert.

Die Procedure lässt sich über eine do while-Schleife aufrufen, wobei in A1 immer das aktuelle Tickersymbol eingetragen wird.
Übertragen werden folgende Daten:
Date, open, high, low, close, volume, changed, changed percentaged, adj close, trade value, trade volume
Code:
Sub Kurse_Hist()
Dim ticker As String
Dim st, en As Date

Dim Pfad As String
Dim tmp As String

en = Date
st = DateSerial(Year(en) - 2, Month(en), Day(en)) '<- Hier bitte für das Startjahr rumfummeln
Pfad = "http://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=" + Trim(Str(Day(st))) + "&startMonth=" + Trim(Str(Month(st))) + "&startYear=" + Trim(Str(Year(st))) + "&endDay=" + Trim(Str(Day(en))) + "&endMonth=" + Trim(Str(Month(en))) + "&endYear=" + Trim(Str(Year(en))) + "&isRanged=true&symbol="

ticker = Range("A1")


   With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;" & Pfad & ticker, Destination:=Range("$A$3"))
       .Name = ""
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .RefreshStyle = xlOverwriteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .TextFilePromptOnRefresh = False
       .TextFilePlatform = 850
       .TextFileStartRow = 1
       .TextFileParseType = xlDelimited
       .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
       .TextFileTabDelimiter = True
       .TextFileSemicolonDelimiter = False
       .TextFileCommaDelimiter = True
       .TextFileSpaceDelimiter = False
       .TextFileColumnDataTypes = Array(xlMDYFormat, xlGeneralFormat, xlGeneralFormat, xlGeneralFormat, xlGeneralFormat)
       .TextFileDecimalSeparator = "."
       .TextFileThousandsSeparator = ","
       .TextFileTrailingMinusNumbers = True
       .Refresh BackgroundQuery:=False
   End With

End Sub

Wow, und das von allen gelisteten Stocks. Tup
Das kommt mir schon fast zu gut vor, wenn die Daten zuverlässig sind (bei Apple scheint das alles zu stimmen). Das kann doch nicht kostenlos sein, gibt's da nicht irgendwelche Beschränkungen? Preise bzw. was da Geld kostet konnte ich gar nicht finden.

__________________
Kinder wollen nicht wie Fässer gefüllt, sondern wie Fackeln entzündet werden.
#14
Notiz 

RE: Kostenlose Historische EOD Daten

(24.11.2018, 23:28)Beth schrieb: https://www.quotemedia.com/

API (Beispiel)
http://app.quotemedia.com/quotetools/get...ymbol=AAPL

Lässt sich leicht in Excel einbinden:
Beispiel:
Das Tickersymbol steht in A1, die Ausgabe erfolgt ab A3. Die Daten werden als csv übertragen und in Excel eingefügt.
in der Variable en wird das aktuelle Datum eingefügt (Enddatum).
In der Variable st mit wird vom aktuellen Jahr zwei Jahre zurück gegangen (Startdatum).
Nur die ersten 5 Werte werden durch TextFileColumnDataTypes formatiert.

Die Procedure lässt sich über eine do while-Schleife aufrufen, wobei in A1 immer das aktuelle Tickersymbol eingetragen wird.
Übertragen werden folgende Daten:
Date, open, high, low, close, volume, changed, changed percentaged, adj close, trade value, trade volume
Code:
Sub Kurse_Hist()
Dim ticker As String
Dim st, en As Date

Dim Pfad As String
Dim tmp As String

en = Date
st = DateSerial(Year(en) - 2, Month(en), Day(en)) '<- Hier bitte für das Startjahr rumfummeln
Pfad = "http://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=" + Trim(Str(Day(st))) + "&startMonth=" + Trim(Str(Month(st))) + "&startYear=" + Trim(Str(Year(st))) + "&endDay=" + Trim(Str(Day(en))) + "&endMonth=" + Trim(Str(Month(en))) + "&endYear=" + Trim(Str(Year(en))) + "&isRanged=true&symbol="

ticker = Range("A1")


   With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;" & Pfad & ticker, Destination:=Range("$A$3"))
       .Name = ""
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .RefreshStyle = xlOverwriteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .TextFilePromptOnRefresh = False
       .TextFilePlatform = 850
       .TextFileStartRow = 1
       .TextFileParseType = xlDelimited
       .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
       .TextFileTabDelimiter = True
       .TextFileSemicolonDelimiter = False
       .TextFileCommaDelimiter = True
       .TextFileSpaceDelimiter = False
       .TextFileColumnDataTypes = Array(xlMDYFormat, xlGeneralFormat, xlGeneralFormat, xlGeneralFormat, xlGeneralFormat)
       .TextFileDecimalSeparator = "."
       .TextFileThousandsSeparator = ","
       .TextFileTrailingMinusNumbers = True
       .Refresh BackgroundQuery:=False
   End With

End Sub

Kannst du vielleicht mehr über deine Erfahrungen mit diesem Anbieter Berichten ? Hab den Link mal mit zu der Sammlung auf der ersten Seite hinzugefügt.
#15
Notiz 

RE: Kostenlose Historische EOD Daten

(25.11.2018, 17:37)atze2000 schrieb: Kannst du vielleicht mehr über deine Erfahrungen mit diesem Anbieter Berichten ? Hab den Link mal mit zu der Sammlung auf der ersten Seite hinzugefügt.

Ich rufe damit immer alle Kurse ab (z.B. die hier vorgestellten REIT-Kurse). Hatte früher Yahoo und Google, bis dir ihre APIs abgeschaltet bzw. den Zugriff erschwert haben. Bin dann über diese Seite auf Quotemedia gestoßen:

https://www.quantshare.com/sa-620-10-new...s-for-free

Der Code ist so gestaltet, dass fast alle gelisteten Seiten funktionieren, Hauptsache, das Ergebnis ist csv. Quotemedia hat mit am besten zugesagt, da einige nicht weit genug zurückreichen.
#16
Notiz 

RE: Kostenlose Historische EOD Daten

Für Python gibt es eine Lib die einem das Cookie Handhabung abnimmt.

https://github.com/bradlucas/get-yahoo-quotes-python
#17
Notiz 

RE: Kostenlose Historische EOD Daten

Hier ein Beispiel-Code für quotemedia mittels direkter URL in Javascript (genauer Nodejs). Die CSV-Ausgabe direkt in eine Datei gepipet, deht natürlich auch in einen String bzw. Array zur direkten Weiterverarbeitung. Achtung, das Plugin https in der ersten Zeile kann nur https Adressen verarbeiten, ungeschützte Adressen werfen einen Ausnahmefehler:
Code:
var   http    = require ('https');
var   fs      = require ('fs');
var   fdest   = "quotemedia.csv";
var   url     = "https://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=1&startMonth=1&startYear=2013&endDay=31&endMonth=12&endYear=2099&isRanged=true&symbol=AAPL";



dbg ("starte  " + url + "  ...");


var file  = fs.createWriteStream  (fdest);
http.get (url, function (response) {
        response.pipe (file);
});
file.on('finish', function() {
    file.close();
    dbg (file.path  + " bytesWritten:" + file.bytesWritten);
});

function dbg (txt) { console.log (txt); }

__________________
Kinder wollen nicht wie Fässer gefüllt, sondern wie Fackeln entzündet werden.
#18

RE: Kostenlose Historische EOD Daten

Sehr nett! Tup

Bei statischen Weblinks (also ohne viel JavaScript-Gedöns dabei) nehme ich meist wget (oder in bestimmten Fällen curl).

In diesem Fall:
wget "https://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=1&startMonth=1&startYear=2013&endDay=31&endMonth=12&endYear=2099&isRanged=true&symbol=AAPL" -O AAPL.csv

Ich gehe davon aus, dass Quotemedia da irgendwann mal eine Bezahlschranke einbaut. Die API ist m.W. nicht offiziell freigegeben.


Vielleicht sollten wir mal eine kleine Programmier-Ecke mit Tipps und Tricks zur Kursversorgung, Webscraping und Tradingsystemen aufbauen?
#19
Notiz 

RE: Kostenlose Historische EOD Daten

(26.11.2018, 14:59)Solventix schrieb: Ich gehe davon aus, dass Quotemedia da irgendwann mal eine Bezahlschranke einbaut. Die API ist m.W. nicht offiziell freigegeben.


Vielleicht sollten wir mal eine kleine Programmier-Ecke mit Tipps und Tricks zur Kursversorgung, Webscraping und Tradingsystemen aufbauen?

Das kann schon gut sein. Deren Bilanzdaten sehen ja auch nicht gerade gut aus. 

Das mit der kleinen Programmier-Ecke, von mir aus gern. Ich befürchte nur ich kann da selbst nicht so viel dazu beitragen. Ich tummel mich im Allgemeinen immer noch in den Tiefen der SEC-Berichte, da bin ich aber der einzige glaube ich. Insofern hab ich leider selten nützliche Tipps für andere.

__________________
Kinder wollen nicht wie Fässer gefüllt, sondern wie Fackeln entzündet werden.
#20
Notiz 

RE: Kostenlose Historische EOD Daten

(26.11.2018, 14:59)Solventix schrieb: Vielleicht sollten wir mal eine kleine Programmier-Ecke mit Tipps und Tricks zur Kursversorgung, Webscraping und Tradingsystemen aufbauen?

Ich lass mir mal was einfallen, mir würde so eine Ecke auch gefallen.


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Notiz Open Source Tools und Daten Lancelot 46 18.798 30.06.2024, 11:53
Letzter Beitrag: Lancelot
Notiz suche historische Leitzinsen der Bundesbank seit 1965 frank 2 2.832 22.09.2020, 19:55
Letzter Beitrag: muchmoney
Notiz EOD Daten Feeds atze2000 7 9.276 08.02.2019, 12:59
Letzter Beitrag: Noni-Binder
Notiz Historische Indexzusammensetzung atze2000 4 5.719 31.01.2019, 10:31
Letzter Beitrag: pjf
Notiz Free Future Daten atze2000 0 2.270 11.01.2019, 13:27
Letzter Beitrag: atze2000
Notiz Cot Daten atze2000 2 3.752 10.01.2019, 19:46
Letzter Beitrag: atze2000

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste