Advertisement
Guest User

Screener.py

a guest
May 23rd, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. #Quellcode:
  2.  
  3. import quandl
  4. import csv
  5. import datetime
  6. import numpy as np
  7. import pandas as pd
  8. import talib
  9.  
  10. #"relative strenght index"
  11.  
  12. def rsi():
  13. global rsid
  14. close = np.array(data_stock["Close"], dtype=float)
  15. high = np.array(data_stock["High"], dtype=float)
  16. low = np.array(data_stock["Low"], dtype=float)
  17. rsiu = talib.RSI(close, timeperiod=14)
  18. rsia = pd.Series(list(rsiu))
  19. rsib = pd.concat([rsia])
  20. rsic = pd.DataFrame(rsib)
  21. rsid= (rsic[0].tail(1))
  22. rsid = float(rsid)
  23. rsid = round (rsid,2)
  24. if rsid <20:
  25. print ("long: ",name,rsid," rsi")
  26. if rsid >80:
  27. print ("short: ",name,rsid," rsi")
  28.  
  29.  
  30. #"chande money oscillator"
  31.  
  32. def cmo():
  33. global cmoe
  34. stocknp = np.array(data_stock["Close"], dtype=float)
  35. cmoa = talib.CMO(stocknp, timeperiod=14)
  36. cmob = pd.Series(list(cmoa))
  37. cmoc = pd.concat([cmob])
  38. cmod = pd.DataFrame(cmoc)
  39. cmoe= (cmod[0].tail(1))
  40. cmoe = float(cmoe)
  41. cmoe = round (cmoe,2)
  42. if cmoe <-50:
  43. print ("long: ",name,cmoe," cmo")
  44. if cmoe >50:
  45. print ("short: ",name,cmoe," cmo")
  46.  
  47. #"momentum"
  48.  
  49. def mom():
  50. global momd
  51. close = np.array(data_stock["Close"], dtype=float)
  52. mom = talib.MOM(close, timeperiod=10)
  53. moma = pd.Series(list(mom))
  54. momb = pd.concat([moma])
  55. momc = pd.DataFrame(momb)
  56. momd= (momc[0].tail(1))
  57. momd = float(momd)
  58. if momd <-10:
  59. print ("long: ",name,cmoe," mom")
  60. if momd >10:
  61. print ("short: ",name,cmoe," mom")
  62.  
  63. def getstocks():
  64. global data_stock
  65. global data_stocklast
  66. global name
  67. un=["FSE/ADS_X","FSE/ALV_X","FSE/BAS_X","FSE/BAYN_X","FSE/BEI_X","FSE/BMW_X","FSE/CON_X","FSE/DAI_X","FSE/DB1_X","FSE/LHA_X","FSE/DPW_X","FSE/DTE_X","FSE/EON_X","FSE/FME_X","FSE/FRE_X","FSE/HEI_X","FSE/HEN3_X","FSE/IFX_X","FSE/LIN_X","FSE/MRK_X","FSE/MUV2_X","FSE/RWE_X","FSE/SAP_X","FSE/SIE_X","FSE/TKA_X","FSE/VOW3_X","FSE/WDI_X","FSE/SIX2_X","FSE/PUM_X","FSE/QIA_X","FSE/JEN_X","FSE/AFX_X","FSE/COK_X","FSE/BC8_X","FSE/AIXA_X","FSE/TEG_X","FSE/RHM_X","FSE/KU2_X","FSE/HNR1_X","FSE/DWNI_X","FSE/GIL_X","FSE/S92_X","FSE/SAZ_X","EURONEXT/GNE","EURONEXT/NOKIA","EURONEXT/CCE","EURONEXT/UNA","EURONEXT/UBI","EURONEXT/FP","EURONEXT/RTL","EURONEXT/RDSA","EURONEXT/RNO","EURONEXT/PGP","EURONEXT/UG","EURONEXT/ML","EURONEXT/HSB","EURONEXT/RMS","EURONEXT/HEIA","EURONEXT/ES","EURONEXT/BN","EURONEXT/CDI","EURONEXT/SANTA","EURONEXT/CS","EURONEXT/AMG","EURONEXT/ALO","EURONEXT/AIR","EURONEXT/MSF","EURONEXT/INCO","EURONEXT/CIS"]
  68.  
  69. names=["Adidas","Allianz","Basf","Bayer","Beiersdorf","Bmw","Continental","Daimler","DeutscheBoerse","Lufthansa","DeutschePost","DeutscheTelekom","Eon","FreseniusMedicalCare","Fresenius","HeidelbergCement","Henkel","Infineon","Linde","Merck","MuenchnerRueck","Rwe","Sap","Siemens","ThyssenKrupp","Volkswagen","Wirecard","Sixt","Puma","Quiagen","Jenoptik","CarlZeissMeditec","Cancom","Bechtle","Aixtron","TagImmobilien","Rheinmetall","Kuka","HannoverRueck","DeutscheWohnen","DmgMori","SmaSolar","Stada","GeneralElectric","Nokia","CocaColaEurope","Unilever","Ubisoft","Total","RtlGroup","RoyalDutchShell","Renault","ProcterGamble","Peugeot","Michelin","HsbcHoldings","HermesIntl","Heineken","Esso","Danone","Dior","Santander","Axa","Amg","Alstom","Airbus","Microsoft","Intel","Cisco"]
  70.  
  71. for name,un in zip(names,un):
  72.  
  73. startdate = datetime.date(2018, 1, 1)
  74. today = datetime.date.today()
  75. quandl.ApiConfig.api_key ="Quandl SchlΓΌssel hier einsetzen"
  76. data_stock = quandl.get(un,start_date=startdate, end_date=today)#, collapse = "weekly")
  77. data_stock = data_stock.rename(index=str, columns={"Last": "Close"})
  78. data_stock = data_stock.rename(index=str, columns={"Volume": "Traded Volume"})
  79. data_stocklast = data_stock["Close"].tail(1)
  80. try:
  81.  
  82. data_stocklast = float(data_stocklast)
  83. cmo()
  84. mom()
  85. rsi()
  86.  
  87. except:
  88. pass
  89. #print (data_stocklast)
  90.  
  91. getstocks()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement