Seite 1 von 2

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

Code: Alles auswählen

2beiträge weiter funktionierendes programm

Verfasst: Montag 18. Februar 2008, 13:28
von BlackJack
Siehe folgenden Beitrag für Kritik: http://www.python-forum.de/post-90450.html#90450

Verfasst: Montag 18. Februar 2008, 13:48
von sea-live
BlackJack hat geschrieben:Siehe folgenden Beitrag für Kritik: http://www.python-forum.de/post-90450.html#90450
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.

Verfasst: Montag 18. Februar 2008, 21:50
von sea-live
auch auf die gefahr hin das mich alle erschiesssen

als anfänger in python mit null programmiererfahrung es läuft
tecdax.txt stehen die symbole oben

ich hab das Programm Ausgelagert hier
neue version http://www.python-forum.de/viewtopic.php?p=92410#92410

screenshot
Bild

Verfasst: Sonntag 27. April 2008, 19:46
von sea-live
Für die die Aktuelle werte brauchen alle 15min neu
so gehts

Code: Alles auswählen

import os
import types
import csv
import urllib
import string
pfad="C:\\boerse\\"
tecdax = ['MOR.DE','IDS.DE','GPC.DE','FNT.DE','ES6.DE','DRW3.DE',
      'EPC.DE','CGY.DE','BC8.DE','BBZ.DE','AUS.DE','AIX.DE',
      'AFX.DE','KBC.DE','ADV.DE','MTH.DE','NDX1.DE','PFV.DE',
      'QCE.DE','QIA.DE','QSC.DE','RSI.DE','SNG.DE','SOW.DE',
      'SWV.DE','TA6.DE','UTDI.DE','VTW.DE','WDI.DE']
mdax=['CLS1.DE','ALT.DE','AMB2.DE','AQU.DE','ARL.DE','ARO.DE',
    'AWD.DE','BOS3.DE','BEI.DE','DEQ.DE','DOU.DE','EAD.DE',
    'FRA.DE','FRE3.DE','G1A.DE','GBF.DE','GFJ.DE','HDD.DE',
    'DEZ.DE','HEI.DE','HNR1.DE','IKB.DE','HOT.DE','IVG.DE',
    'IWK.DE','KCO.DE','KRN.DE','LEO.DE','LXS.DE','MLP.DE',
    'MTX.DE','NDA.DE','PFD4.DE','PRA.DE','PRE.DE','PUM.DE',
    'PSM.DE','RHK.DE','RHM.DE','SAZ.DE','SDF.DE','SGL.DE',
    'SY1.DE','SZG.DE','SZU.DE','TGM.DE','TNH.DE','VOS.DE',
    'WCH.DE','WIN.DE']
cdax=['IUR.DE','PIT.DE','HUL.DE','SIM.DE','MNV6.DE','RIN7.DE',
    'TBB.DE','LEC.DE','MAF.DE','VGT.DE','YMOS.DE','YMO.DE','SFP1.DE',
    'DKA.DE','VMR.DE','STR.DE','BMO.DE','GARY.DE','COD.DE',
    'MOE.DE','AUT.DE','SIN.DE','EIS.DE','SHF.DE','MAU.DE',
    'BLAG.DE','BLN.DE','BJU.DE','MPR.DE','OAR.DE','FRO.DE',
    'PKB.DE','T1C.DE','UUU.DE','VSC.DE','AAA.DE','ACV.DE',
    'AGV.DE','AHH.DE','AAH3.DE','LUM.DE','RBX.DE','NIE.DE',
    'AQU.DE','ACW.DE','AWD.DE','AX33.DE','ARL.DE','ABO.DE',
    'RSB.DE','HNG.DE','LKI.DE','ADC.DE','ADS.DE','ADL.DE',
    'AAH.DE','ADJ.DE','ADV.DE','DVN1.DE','AP8.DE','AGI.DE',
    'DOO.DE','ARE.DE','AIX.DE','ALG.DE','AS1.DE','ABX.DE',
    'AEI.DE','ALV.DE','ANO.DE','ATF.DE','AL4.DE','ALT.DE',
    'TXA.DE','AAD.DE','AMB2.DE','AJA.DE','ANZ.DE','A3E.DE',
    'AHZ.DE','AR5.DE','AYD.DE','HHS.DE','ARX.DE','AOF.DE',
    'NSU.DE','ABE1.DE','AX3.DE','ACG.DE','BM9A.DE','BYW6.DE',
    'BKS3.DE','BIO.DE','BKQ.DE','BMW3.DE','BWB.DE','BBX.DE',
    'BBX.DE','BTT.DE','BAD.DE','BAS.DE','BSL.DE','BVH.DE',
    'B5A.DE','BAY.DE','SCH.DE','HVM.DE','BYW.DE','USE.DE',
    'BC8.DE','BEI.DE','BEZ3.DE','BHH.DE','BFV.DE','MBH3.DE',
    'BDT.DE','BZL.DE','BSS.DE','BSK.DE','BIE.DE','BIJ.DE',
    'GBF.DE','BNT.DE','BIT.DE','BIB.DE','BIO3.DE','BIO3.DE',
    'BMW.DE','BVB.DE','BMM.DE','AFX.DE','C3O.DE','MXC.DE',
    'COM.DE','CBK.DE','CAG.DE','CGY.DE','CON.DE','DSJ.DE',
    'DYK.DE','DRN.DE','DCX.DE','D9C.DE','DBK.DE','DB1.DE',
    'DPW.DE','DPB.DE','DTE.DE']
sdax=['AB1.DE','B5A.DE','AOX.DE','BAD.DE','BHS.DE','BYW6.DE','COM.DE',
    'D9C.DE','DAZ.DE','DBA.DE','DSJ.DE','DUE.DE','DWNI.DE','DYK3.DE',
    'EEX.DE','ESC.DE','EV4.DE','FIE.DE','EVD.DE','FPE3.DE','GFK.DE',
    'GIL.DE','GLJ.DE','GMM.DE','GWI1.DE','GXI.DE','HG1.DE','HXCI.DE',
    'INH.DE','IYP.DE','JUN3.DE','KBU.DE','KWS.DE','MDN.DE','MPC.DE',
    'MVV1.DE','O2C.DE','P1Z.DE','RAA.DE','SGS.DE','SIX2.DE','SKB.DE',
    'SPR.DE','T3C.DE','TEG.DE','TTK.DE','VIA.DE','WAC.DE','WAS.DE',
    'ZIL2.DE']
dax30=['ADS.DE','ALV.DE','BAS.DE','BAY.DE','BMW.DE','CBK.DE',
     'DAI.DE','DB1.DE','DBK.DE','DPB.DE','DPW.DE','DTE.DE',
     'EOA.DE','FME.DE','HEN3.DE','HRX.DE','IFX.DE','LHA.DE',
     'LIN.DE','MUV2.DE','MAN.DE','MEO.DE','MRK.DE','RWE.DE',
     'SIE.DE','TKA.DE','TUI1.DE','VOW.DE','SAP.DE']

symbollisten = {'tecdax':tecdax, 'mdax':mdax,'cdax':cdax,'sdax':sdax,'dax30':dax30}
for key, value in symbollisten.iteritems():
    #f = file("%s%s\\namen.txt" %(pfad,str(key)), 'w')
    for item in value:
        url = ("http://de.old.finance.yahoo.com/d/quotes.csv?s=%s&f=nsl1d1t1c1ohgv&e=.csv" %item)
        req = urllib.urlopen(url)
        text = req.read()
        inhalt = text.split(';')
        print key ,inhalt[0],item ,inhalt[2] #inhalt[2]=aktuelller wert f=name;Symbol;aktuell;datum;zeit;open;high;low;volumen *ohgv*

        #f.write(str(inhalt[1]+' , '+inhalt[0]+'\n'))
        req.close()

    #f.close()


print 'ok'

Verfasst: Sonntag 27. April 2008, 20:59
von Leonidas
Dir ist schon bekannt, dass das ``global`` in Zeile 60 keinerlei Wirkung hat?

Verfasst: Montag 28. April 2008, 07:33
von sea-live
der Code kommt aus einem complexen Programm mit mehreren klassen
sorry hatte ich vergessen zu löschen