Seite 1 von 2
Börsenkurse runterladen ?
Verfasst: Mittwoch 2. November 2005, 15:24
von Torsten2005
hallo , ich möchte mir ein (erstmal einfaches) Börsenprogramm schreiben .
- wollte wissen : ob jemand eine möglichkeit kennt von einem server kursdaten mittels tickersymbol runterzuladen ?
Verfasst: Mittwoch 2. November 2005, 16:15
von jens
Das hatte ich auch mal angedacht und ein wenig rumprogrammiert... Bei
http://finance.yahoo.com/ konnte man Kurse als CVS recht gut runterladen... Es gibt da noch eine Reihe andere Anbieter, bei den man das machen kann, aber realtime kostet immer Geld
Verfasst: Mittwoch 2. November 2005, 21:20
von Torsten2005
ja danke ich werde mich da mal umschaun . Es muss ja nicht realtime sein , 15 min verspätet reicht völlig . will mir dann ein chartprogramm basteln , ich weiß das gibs auf jeder börsenseite , aber nie so wie ich es will und dann möchte ich außerdem Candlestickmuster programmieren usw.
Nur die kurse muss ja irgendein Server zur verfügung stellen , den man dann entsprechend ansprechen muss.
Ich wollte nämlich erstmal diese grundlegende sache klären , bevor ich mich an das programm ranmache !
gruß
Verfasst: Donnerstag 3. November 2005, 07:56
von jens
Es gibt auch lokal laufende Börsenprogramme, in recht unterschiedlichen Preisregionen. Die c't (14/2005, Seite 120) hatte mal einen Test gemacht, war recht interessant der Artikel...
Verfasst: Freitag 4. November 2005, 19:57
von Torsten2005
jens hat geschrieben:Das hatte ich auch mal angedacht und ein wenig rumprogrammiert... Bei
http://finance.yahoo.com/ konnte man Kurse als CVS recht gut runterladen... Es gibt da noch eine Reihe andere Anbieter, bei den man das machen kann, aber realtime kostet immer Geld
kannst du mir mal sagen wie man das cvs-system bei der seite benutzen kann ??
gruß
Verfasst: Samstag 5. November 2005, 13:01
von jens
Da mußt du selber mal nachsehen... Ein Eintieg ist die Seite
http://de.biz.yahoo.com/de/overview.html
Verfasst: Donnerstag 8. Dezember 2005, 19:47
von Torsten2005
hallo , so bin ein wenig weiter gekommen ,
wollte das runterladen der Börsenkurse nun anders realisieren da es ja von yahoo eine url gibt wo man die kurse rauslesen kann :
Dieses Programm liest die seite raus , die tage von wann bis wann man die kurse haben möchte , kann man dann noch in der url varriieren.
Code: Alles auswählen
import urllib
url=("http://finance.yahoo.com/q/hp?a=11&b=05&c=2005&d=11&e=05&f=2005&s=DCX.DE&g=d")
a=urllib.urlopen(url)
s=a.readlines()
print s
a.close
Jetzt muss man eigentlich nur noch die daten aus dem HTML text rauslesen und dann in eine seperate Datei (die dann den symbolnamen bekommt) abspeichern .
Frage: wie kann man das am effektifsten machen ?
Der Textschnipzel der seite sieht so aus :
Code: Alles auswählen
align="right">6-Dez-05</td><td class="yfnc_tabledata1" align="right">43,12</td><td class="yfnc_tabledata1"
align="right">43,38</td><td class="yfnc_tabledata1" align="right">42,98</td><td class="yfnc_tabledata1"
align="right">43,37</td><td class="yfnc_tabledata1" align="right">3.347.981</td><td
Ich brauch dann für die z.b. DCX.txt datei Datum , eröffnung , hoch, tief ,schluß und Volumen .
Ansonsten kann man mit der url die entsprechenden csv -dateien runterladen , aber ich weiß nicht wie man die mit python runterladen kann .
url=("
http://ichart.yahoo.com/table.csv?=5&b= ... gnore=.csv")
Edit (Leonidas): Code in Python-Tags gesetzt.
Verfasst: Donnerstag 8. Dezember 2005, 20:28
von Leonidas
BeautifulSoup könnte etwas für dich sein, oder du machst es über reguläre Ausdrücke, so wie ich es in What's On Air (zugegebenermaßen etwas überflüssigerweise) gemacht habe.
Verfasst: Freitag 9. Dezember 2005, 15:24
von Torsten2005
So ich habs mit regulären Kramm versucht : (weil ich mit der suppengeschichte nicht klar kam )
Code: Alles auswählen
from Tkinter import *
import urllib
from re import *
Symbol="DCX"
Monatvon="11"
Tagvon="05"
Jahrvon="2005"
Monatbis="11"
Tagbis="08"
Jahrbis="2005"
# Daten rauslesen
url=("http://finance.yahoo.com/q/hp?a=%s&b=%s&c=%s&d=%s&e=%s&f=%s&s=%s.DE&g=d" %(Monatvon,Tagvon,Jahrvon,Monatbis,Tagbis,Jahrbis,Symbol))
a=urllib.urlopen(url).readlines()
for i in a:
if '</tr></table><table width="100%" cellpadding="2" cellspacing="0" border="0"><tr class="yfnc' in i: # i ist ein string
#print i
Dat=findall ('>\d-\D+-\d\d<',i)
print Dat
Kurse=findall ('>\d+\D\d+<',i) #Dat,Kurse,Volumen sind Listen
print Kurse
Volumen=findall ('\d+,\d+,\d+',i)
print Volumen
# replace(p,"")
meine Frage jetzt noch dazu : Die Variablen Dat, kurse usw. sind jetzt Listen , und bei listen kann ich die replaceanweisung nicht anwenden ?
kann ich listen in Strings umwandeln? Oder kann man gleich verschachtel replace (findall ())) oder so ähnlich arbeiten ?
Gruß
Edit (Leonidas): Code in Python-Tags gesetzt.
Verfasst: Freitag 9. Dezember 2005, 15:35
von Leonidas
Das nächste mal Codes bitte in [python]-Tags setzen, ich hab das mal für dich gemacht.
Verfasst: Freitag 9. Dezember 2005, 18:15
von Torsten2005
ok !
hab aber noch eine andere Frage : unter dem Link ; ein Beispiel für für DCX(Daimler) ; kann man die Datei als Table.csv datei runterladen
http://ichart.yahoo.com/table.csv?a=5&b ... gnore=.csv
Wie macht man das unter python , so das man dann auch automatisch die datie in dcx.csv umbenennt?
-meine Bücher geben da nix her , wie ich das mit dem httplib modul machen kann .
Verfasst: Freitag 9. Dezember 2005, 18:22
von Leonidas
Dazu benutzt man
urllib:
(ungetestet)
Code: Alles auswählen
import urllib
req = urllib.urlopen('http://ichart.yahoo.com/table.csv?a=5&b=22&c=2005&d=11&e=05&f=2005&s=DCX.DE&y=0&g=d&ignore=.csv')
f = file('dcx.csv', 'w')
f.write(req.read())
f.close()
req.close()
Verfasst: Freitag 9. Dezember 2005, 20:11
von Torsten2005
danke klappt , geht doch so einfach hätt ich nicht gedacht
Seiten zum Download von Fondskursen?
Verfasst: Donnerstag 6. Juli 2006, 17:05
von HWK
http://finance.yahoo.com/ bietet leider nur CSV-Dateien für Aktien. Gibt es auch eine Seite, wo man weiterverwendbare Dateien auch für Fonds kostenlos herunterladen kann? Tagesaktuelle Kurse würden mir ausreichen.
Bei den meisten kostenlosen Anbietern kann man die Fondskurse ja nur interaktiv (häufig über JAVA-Applets) suchen lassen. Dann dürfte das Herunterladen wohl recht kompliziert und vor allen Dingen sehr zeitaufwendig sein. Oder gibt es dafür Onlinezeit-sparende Methoden?
Vielen Dank im voraus
HWK
Verfasst: Dienstag 25. Juli 2006, 20:20
von HWK
Nach längerem Suchen habe ich die Seite
http://www.teletrader.com/ gefunden. Hier kann man mittels
'http://www.teletrader.com/_markets/sear ... archfor=%s' %s wkn eine Seite herunterladen, die von mehreren Börsen mehr oder weniger aktuelle Kurse für die WKN liefert. Diese Seite kann dann wirklich einfach mit Pythons Stringfunktionen ausgewertet werden.
Verfasst: Freitag 15. September 2006, 11:00
von nofuture
Man kann mittels des Programms QAccess.com den Datenfeed von Yahoo in Accessdatebank füttern. Damit erleichtert man sich einige Arbeit.
Aktienkurse Historie runterladen mit Python
Verfasst: Montag 18. Februar 2008, 12:31
von sea-live
Serrvus da hab ich doch was für den tecdax
alle dateien im verzeichniss wo die daten hinsollen
MAN KANN das .cvs auch durch .txt ersetzen dann erhält man weiterverarbeitbare dateien
Verfasst: Montag 18. Februar 2008, 13:28
von BlackJack
Verfasst: Montag 18. Februar 2008, 13:48
von sea-live
Dieses Beispiel läuft aber bei mir nicht ERROR
Doppelpostings ist auch sicherlich nicht erwünscht deswegen hier schluss
ohne index ist ein einzelner datenzugriff auch sehr schwirig denk ich mal als ANFÄNGER
ich lass mich aber gerne belehren.
wie greif ich dann ohne INDEX auf datensatz 6 zu ** symbol_liste[x] **
Verfasst: Montag 18. Februar 2008, 14:19
von BlackJack
Naja, da habe ich den Doppelpunkt am Ende der ``def`` von `main()` vergessen.
Natürlich kann man gezielt auf das 6. Element nur mit einem Index zugreifen, nur wird das in dem Beispiel ja gar nicht gebraucht. Da wird immer nur nacheinander auf *alle* Elemente zugegriffen und das geht eben mit einer ``for``-Schleife über die Elemente.