quandl.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. '''Module containing a handful of methods for
  2. aggregating data from markets throughout the world'''
  3. import requests
  4. import json
  5. def fetchData(apikey, url):
  6. '''Returns JSON data of the Dow Jones Average.'''
  7. parameters = {'rows' : 1, 'column' : 1, 'auth_token' : apikey}
  8. req = requests.get(url, params=parameters)
  9. data = json.loads(req.content)
  10. parsedData = []
  11. stockData = {}
  12. if data['code'] == 'COMP':
  13. stockData['name'] = data['name']
  14. stockData['description'] = '''The NASDAQ Composite Index measures all
  15. NASDAQ domestic and international based common type stocks listed \
  16. on The NASDAQ Stock Market.'''
  17. stockData['data'] = data['data'][0][1]
  18. stockData['code'] = data['code']
  19. else:
  20. stockData['name'] = data['name']
  21. stockData['description'] = data['description']
  22. stockData['data'] = data['data'][0][1]
  23. stockData['code'] = data['code']
  24. parsedData.append(stockData)
  25. return parsedData
  26. def fetchstockData(apikey, url):
  27. '''Returns Stock related JSON data of the stock url placed there.'''
  28. parameters = {'rows' : 1, 'auth_token' : apikey}
  29. req = requests.get(url, params=parameters)
  30. data = json.loads(req.content)
  31. parsedData = []
  32. stockData = {}
  33. stockData['name'] = data['name']
  34. stockData['open'] = data['data'][0][1]
  35. stockData['high'] = data['data'][0][2]
  36. stockData['low'] = data['data'][0][3]
  37. stockData['close'] = data['data'][0][4]
  38. stockData['code'] = data['code']
  39. parsedData.append(stockData)
  40. return parsedData
  41. def rdiffData(apikey, url):
  42. '''Returns data of the difference of the stock URL placed there.'''
  43. parameters = {'rows' : 1, 'column' : 1, 'transformation': 'rdiff', 'auth_token' : apikey}
  44. req = requests.get(url, params=parameters)
  45. data = json.loads(req.content)
  46. parsedData = []
  47. stockData = {}
  48. stockData['rdiff'] = data['data'][0][1]
  49. parsedData.append(stockData)
  50. return parsedData