historische Kursdaten von Yahoo beziehen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Albr
Beiträge: 6
Registriert: So, 14.06.2015 11:37

historische Kursdaten von Yahoo beziehen

Beitrag von Albr » So, 14.06.2015 11:59

Hallo an alle,

bin bzgl. OOo (auf MAC, OS Yosemite installiert) ein Newbie;)

vlt. kann mir jemand netterweise weiterhelfen... ich möchte automatisch historische Kursdaten (von Yahoo) aus Calc herunterladen und in einer Datei als CVS speichern, diese Daten (aus der generierten Datei) in Calc wieder einspielen und weiterverarbeiten...

ich habe gestern viel gelesen (in dt. und engl. sprachigen Foren), bin aber am Ende nicht wirklich weitergekommen; insbesondere was das Ziehen der Daten aus Yahoo und das Abspeichern der Datensätze in einer Datei anbelangt und das anschliessende Weiterverarbeiten (sprich importieren etc...)

Ziel ist es z.B. eine Korrelationsmatrix (versch. Aktien) oder andere statistische Auswertungen zu erstellen.

Mal vielen Dank !


_________________
Moderation:
Ich habe deine neue Frage vom alten Thema Wertpapierkurse in OO Calc importieren? abgetrennt und dafür dieses neue Thema im Bereich Makros und allgemeine Programmierung aufgemacht.
Beachte bitte die Allgemeinen Hinweise zur Forumsbenutzung, in jedem Forums-Bereich ganz oben in den permanenten Bekanntmachungen. Insbesondere lege bitte für eine neue Frage ein neues Thema an.
lorbass, Moderator

paljass
******
Beiträge: 640
Registriert: Do, 25.10.2012 07:25

Re: historische Kursdaten von Yahoo beziehen

Beitrag von paljass » So, 14.06.2015 15:46

EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.

Albr
Beiträge: 6
Registriert: So, 14.06.2015 11:37

Re: historische Kursdaten von Yahoo beziehen

Beitrag von Albr » So, 14.06.2015 16:14

schonmal danke !

einige der Links hatte ich gestern auch bereits gefunden und dadurch aktuelle Yahoo Daten ziehen können !

es gibt entsprechende Funktionen für OOo, die aus Morningstar bzw. Yahoo jeweils aktuelle Daten ziehen können (SMF); habe ich installiert und das klappt schonmal ;)

mir geht es aber darum

1. historische Daten zu ziehen; z.B. für die Aktienkurse von BASF der letzten 12 Monate; die Datenangaben für die URL bei Yahoo sind mir bekannt
2. die Datensätze (CVS Format) in einer Datei abzulegen, anschliessend in CALC die Daten aus der Datei einzulesen und entsprechend zu verarbeiten
3. und das ganze "natürlich" automatisiert

Stephan
********
Beiträge: 10109
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: historische Kursdaten von Yahoo beziehen

Beitrag von Stephan » So, 14.06.2015 20:41

1. historische Daten zu ziehen; z.B. für die Aktienkurse von BASF der letzten 12 Monate; die Datenangaben für die URL bei Yahoo sind mir bekannt
dann verstehe ich die Frage nicht, denn auch ich weiß eigentlich nur wie man diese Daten per URL 'zieht' und das funktioniert auch (aktuell getestet in OOo 3.3.0)

Bei mir funktioniert z.B. das unter http://brusdeylins.info/tips_and_tricks ... nance-api/ (Überschrift "Historische Kursdaten"
) angegebene URL-Beispiel:
http://ichart.finance.yahoo.com/table.c ... gnore=.cvs

also:
-Einfügen-Tabelle aus Datei...
-im FEld "Dateiname" des Dateiudialogs obigen Link eingeben plus ENTER
-warten...
-Import-Dialog erscheint, dort gewünschte Einstellungen vornehmem

gewünschte Daten sind nun in Calc-Tabelle.


Gruß
Stephan

Albr
Beiträge: 6
Registriert: So, 14.06.2015 11:37

Re: historische Kursdaten von Yahoo beziehen

Beitrag von Albr » Mo, 15.06.2015 09:58

vielen Dank für die Antwort!!

das ist mir auch recht klar, soweit hatte ich das auch alles recherchiert, mir geht es um das AUTOMATISCHE Einlesen der Daten... z.B. also ich gebe in ein Feld BASF (bzw. den korrekten Yahoo Code ein) und der Rest (ansteuern von Yahoo mit der korrekten Aktie, Abruf der Daten von z.B. einem Jahr, schreiben in eine Datei, Aufruf der Daten aus dieser Datei in Calc) erfolgt automatisch... gibts hierzu z.B. fertige Tools (ähnlich dem Import des aktuellen Kurses aus Yahoo) oder hat jemand eine Idee, wie das umzustzen ist??

wie gesagt, ich bin recht neu bei OOo dabei, daher vlt. auch diese "dummen" Fragen...

Benutzeravatar
balu
********
Beiträge: 3543
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: historische Kursdaten von Yahoo beziehen

Beitrag von balu » Mo, 15.06.2015 12:18

Hallo Albr,
bin bzgl. OOo (auf MAC, OS Yosemite installiert) ein Newbie;)
Kennst Du eigentlich schon:Rasterkalender mit Schulferien. Verspäteter Nikolaus?
Wenn nicht, dann bitte den Thread lesen, besonders den ersten Beitrag von mir, und an angegebener Stelle den Kalender downloaden und natürlich ausprobieren.
Da Du MAC besitzt (ich habe nur WinXP), ist es für mich von besonderer interesse ob der Kalender bei dir fehlerfrei funktioniert.

ich möchte automatisch historische Kursdaten (von Yahoo) aus Calc herunterladen und in einer Datei als CVS speichern, diese Daten (aus der generierten Datei) in Calc wieder einspielen und weiterverarbeiten...

[...]
gibts hierzu z.B. fertige Tools [...] oder hat jemand eine Idee, wie das umzustzen ist??
Ein fertiges Tool kann ich dir nicht anbieten, aber das Makro in meinem Kalender arbeitet nach deinem gewünschten Prinzip.
Es lädt eine .ics-Datei herunter, importiert diese in Calc an eine bestimmte Stelle, und löst die Verlinkung zu der .ics-Datei.

Das Makro liese sich wohl auch auf deine Bedürfnisse anpassen, jedoch fehlen mir dazu noch so einige angaben, die wir später noch besprechen können. Mir geht es jetzt erstmal nur darm ob mein Kalender bei dir funktioniert, und Du dir schon mal das Makro anschauen kannst.

Hab jetzt keine Zeit mehr.
Also bis später ;-)



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D

Albr
Beiträge: 6
Registriert: So, 14.06.2015 11:37

Re: historische Kursdaten von Yahoo beziehen

Beitrag von Albr » Mo, 15.06.2015 12:46

schonmal Danke!

werde ich heute Abend ausprobieren

Albr
Beiträge: 6
Registriert: So, 14.06.2015 11:37

Re: historische Kursdaten von Yahoo beziehen

Beitrag von Albr » Mo, 15.06.2015 15:46

@balu...

dein Programm funzt bei mir auf dem MAC...

jetzt muss ich halt noch die Dateien für meine Anwendung hinbekommen...

Benutzeravatar
balu
********
Beiträge: 3543
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: historische Kursdaten von Yahoo beziehen

Beitrag von balu » Mo, 15.06.2015 16:38

Hallo Albr,
dein Programm funzt bei mir auf dem MAC...
Danke schön fürs Feedback :-)
Für mich ein Problem weniger.

jetzt muss ich halt noch die Dateien für meine Anwendung hinbekommen...
Versteh ich nicht.

1. historische Daten zu ziehen; z.B. für die Aktienkurse von BASF der letzten 12 Monate; die Datenangaben für die URL bei Yahoo sind mir bekannt
So wie ich dich bisher verstanden habe, willst Du nicht nur für BASF die Daten downloaden. Und wenn dir die URL bekannt ist, wäre es nicht schlecht zu erfahren wie diese URL lautet. Ferner wäre es auch nicht verkehrt zu wissen nach welchem Schema sie aufgebaut ist. Ist sie nach dem Schema aufgebaut wie von Stephan verlinkt?

Die URL kann ja in einem Tabellenblatt aus einzelnen Zellen zusammengesetzt werden. In A1 würde z.B.

Code: Alles auswählen

http://ichart.finance.yahoo.com/table.csv?s=AAPL&
stehen, und der Rest in anderen Zellen aufgeteilt, wo dann auch unter anderem der Firmenname wie BASF, oder Audi steht. Und anschließend wird das alles per Formel (als Beispiel)

Code: Alles auswählen

=A1&B1&C1
miteinander verkettet. Das wäre dann wohl ein String (Text) mit dem man noch nichts weiter machen könnte, aber das Makro kann dann auf diese eine Zelle zugreifen und die Datei downloaden. Um das aber alles zu testen ist der dir bekannte Link nötig.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D

Albr
Beiträge: 6
Registriert: So, 14.06.2015 11:37

Re: historische Kursdaten von Yahoo beziehen

Beitrag von Albr » Mo, 15.06.2015 21:22

Die Service-URL hier­für lau­tet
http://ichart.finance.yahoo.com/table.csv? und besitzt Para­me­ter für das Sym­bol, sowie für das Zeit­in­ter­vall, inner­halb der ein Ent­wick­ler die täg­li­chen bzw. wöchent­li­chen Kurs­da­ten ermit­teln will.
unter http://brusdeylins.info/tips_and_tricks...nance-api/ (Überschrift "Historische Kursdaten") sind die Parameter aufgeführt

z.B.: http://ichart.finance.yahoo.com/table.c ... gnore=.cvs

die Daten für Apple Jahr 2013 werden in einer Datei downgeloadet (CVS Format)

Benutzeravatar
balu
********
Beiträge: 3543
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: historische Kursdaten von Yahoo beziehen

Beitrag von balu » Mi, 17.06.2015 19:44

Hallo Albr,
balu hat geschrieben: Und wenn dir die URL bekannt ist, wäre es nicht schlecht zu erfahren wie diese URL lautet.
Damit meinte ich eine vollständige Adresse, und nicht wie sie zusammengebaut wird.

http://ichart.finance.yahoo.com/table.csv? und besitzt Para­me­ter für das Sym­bol, sowie für das Zeit­in­ter­vall, inner­halb der ein Ent­wick­ler die täg­li­chen bzw. wöchent­li­chen Kurs­da­ten ermit­teln will.
Mit diesem Link kann ich nichts anfangen.

Aber nun gut, da Du ja auch auf die Adressen wie von Stephan verweist, habe ich halt den Link genommen.
werden in einer Datei downgeloadet (CVS Format)
Und das ist Falsch! Denn bei mir landet immer eine CSV-Datei (tabelle.csv). Ich weiß nicht was fürn Blödsinn die da verzapfen. Aber das betrifft ja nicht dich, da Du nix dafür kannst.

Also ich habe den Link

Code: Alles auswählen

http://ichart.finance.yahoo.com/table.csv?s=AAPL&d=3&e=3&f=2008&g=d&a=8&b=7&c=1984&ignore=.cvs
in einem Tabellenblatt aufgedröselt, so dass d=, e=, f= ... in einzelnen Zellen stehen.
Jetzt kannst Du in den Zellen direkt darunter deine Werte eingeben. Und eine Zeile direkt darunter wird per Verkettung

Code: Alles auswählen

=J1&D3&D4&K2&E3&E4&K2...
dann der komplette Adressen-String erstellt. Und auf diese Zelle (A5) greift das Makro zu, und lädt die dementsprechende Datei herunter. Jedoch war ich so frei und habe der .csv einen anderen Namen verpasst. Denn Original heißt die Datei "Tabelle.csv", und durch meine Änderung heißt sie nun "historische_Kursdaten_01.csv".

Nachdem die Datei gedownloaded wurde, wird sie anschließend in ein neues Tabellenblatt importiert.

Da die .csv aber die Werte mit Dezimaltrennzeichen Punkt gespeichert hat, müssen diese umgestellt werden auf Dezimaltrennzeichen Komma. Also von

Code: Alles auswählen

147.059988 153 629978 147.00 151.609985
auf

Code: Alles auswählen

147,059988 153,629978 147 151,609985
Das funktioniert auch soweit. Jedoch musste ich für diese Datei in den Optionen einstellen, dass 6 Nachkommastellen angezeigt werden sollen. Die eingestellten Nachkommastellen sind nur in dieser Datei gültig, in anderen oder neuen Dateien kommt das nicht zum tragen.

Mir wäre es lieber wenn ich das per Makro lösen könnte, aber momentan fehlt mir irgendwie die richtige Lösung dafür (bin ja kein Makro-Meister wie z.B. Stephan :wink:).


Wenn Du also andere Daten downloaden willst, dann darfst Du NUR im Tabellenblatt *Erfassen* in den Zellen A4 bis J4 die Daten eingeben. Die betroffenen Zellen sind farblich markiert.

In den Zellen K1 und K2 habe ich Teile von der Verkettungsformel ausgelagert, so liese sie sich "einfacher" zusammenklicken. Also dort nix ändern!

Momentan wird das Importierte CSV-Blatt immer an vierter Stelle von links eingefügt.

Wenn Du im Tabellenblatt *Erfassen* auf den Grünen Button klickst, wird das Makro gestartet. Es erscheint dann wie im Kalender von mir ein dir bekannter Dialog. Je nach größe der CSV-Datei kann das jetzt durchaus einige Sekunden länger dauern bis das er Grün wird. also bitte unbedingt so lange warten.


Falls Du Fragen zu dem Makro, oder den Dialog hast, dann mach Bitte in der Forenrubrik Makros und allgemeine Programmierung einen neuen Thread auf. Okay!?

Das Makro habe ich ein wenig umgestrickt, aber auch wieder so weit wie es geht mit ein paar Kommentaren versehen.


So, und nun teste die Datei mal schön in Ruhe. :-)



Gruß
balu
Dateianhänge
YAHOO_historische_Kursdaten_IMPORTIEREN-test-3.ods
(20.42 KiB) 87-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 Gäste