def test_datareader_world_bank(): #print("="*5 + "Pandas original DataReader" + "="*5) #dat = wb.search('gdp.*capita.*const') #print(dat.iloc[:,:2]) #dat = wb.download(indicator=u'NY.GDP.PCAP.KD', country=['US', 'CA', 'MX'], start=2005, end=2008) #print(dat) #assert(isinstance(wb.country_codes, list)) print("=" * 5 + "New DataReader" + "=" * 5) world_bank = DataReader("WorldBank", expire_after=expire_after) assert (isinstance(world_bank.country_codes, list)) data = world_bank.search('gdp.*capita.*const') print(data.iloc[:, :2]) assert (isinstance(data, pd.DataFrame)) data = world_bank.download(indicator='NY.GDP.PCAP.KD', country=['US', 'CA', 'MX'], start=2005, end=2008) print(data) assert (isinstance(data, pd.DataFrame))
def test_openexchangerates(): app_id = os.environ['OPEN_EXCHANGE_RATES_API_KEY'] print(app_id) dr = DataReader("OpenExchangeRates", expire_after=expire_after, app_id=app_id) #data = dr.get() #print(data) #print(type(data)) #print(data["matrix"]) #data["matrix"].to_excel("rates_matrix.xls") currencies = [ "EUR", "GBP", "CHF", "USD", "AUD", "CAD", "HKD", "INR", "JPY", "SAR", "SGD", "ZAR", "SEK", "AED" ] data = dr.get(currencies) #print(data) assert (isinstance(data, dict)) print(data["matrix"]) assert (isinstance(data["matrix"], pd.DataFrame)) print(dr.convert(100, "EUR", "USD")) print(dr.convert(100, "USD", "EUR"))
def test_yahoo_finance_options(): # filename = "yahoo_finance_options" # if expire_after>=0: # requests_cache.install_cache(filename, backend='sqlite', expire_after=expire_after) # expiration seconds # logging.info("Installing cache '%s.sqlite' with expire_after=%d (seconds)" % (filename, expire_after)) # if expire_after==0: # logging.warning("expire_after==0 no cache expiration!") symbol = "AAPL" # symbol = 'F' # symbol = '^spxpm' # symbol = ["AAPL", 'F'] option = DataReader("YahooFinanceOptions", expire_after=expire_after).get(symbol) data = option.get_all_data() # get all data print(data) assert isinstance(data, pd.DataFrame) # data = option.get_call_data(expiry=expiry) # get call data """ aapl = Options(symbol, 'yahoo') data = aapl.get_all_data() print(data.iloc[0:5, 0:5]) """ """
def test_famafrench(): #name = "5_Industry_Portfolios" name = "10_Industry_Portfolios" #name = ["5_Industry_Portfolios", "10_Industry_Portfolios"] print("="*5 + "New DataReader" + "="*5) data = DataReader("FamaFrench", expire_after=expire_after).get(name) print(data) print("="*5 + "Pandas original DataReader" + "="*5) ip = web.DataReader(name, "famafrench") print(ip) diff = {} for key, val in ip.items(): diff[key] = data[key] - ip[key] diff[key] = diff[key].sum().sum() assert(diff[key]==0.0) print("="*5 + "New DataReader with multi symbols" + "="*5) name = ["5_Industry_Portfolios", "10_Industry_Portfolios"] data = DataReader("FamaFrench", expire_after=expire_after).get(name) print(data)
def test_yahoo_finance_quotes(): symbol = "F" #symbol = "AAPL" #symbol = ["AAPL", 'F'] print("=" * 5 + "New DataReader" + "=" * 5) data = DataReader("YahooFinanceQuotes", expire_after=expire_after).get(symbol) print(data) #print(type(data)) #print(data.dtypes) assert (isinstance(data, pd.DataFrame)) #print("="*5 + "Pandas original DataReader" + "="*5) #f = web.get_quote_yahoo(symbol) #print(f) #print(type(f)) #print(f.dtypes) #diff = f-data #assert(diff.sum().sum()==0) print("=" * 5 + "New DataReader with multi symbols" + "=" * 5) symbol = ["AAPL", 'F'] data = DataReader("YahooFinanceQuotes", expire_after=expire_after).get(symbol) print(data)
def test_yahoo_finance_options(): #filename = "yahoo_finance_options" #if expire_after>=0: # requests_cache.install_cache(filename, backend='sqlite', expire_after=expire_after) # expiration seconds # logging.info("Installing cache '%s.sqlite' with expire_after=%d (seconds)" % (filename, expire_after)) #if expire_after==0: # logging.warning("expire_after==0 no cache expiration!") symbol = 'AAPL' #symbol = 'F' #symbol = '^spxpm' #symbol = ["AAPL", 'F'] option = DataReader("YahooFinanceOptions", expire_after=expire_after).get(symbol) data = option.get_all_data() # get all data print(data) assert(isinstance(data, pd.DataFrame)) #data = option.get_call_data(expiry=expiry) # get call data """ aapl = Options(symbol, 'yahoo') data = aapl.get_all_data() print(data.iloc[0:5, 0:5]) """ """
def test_google_finance_options(): #symbol = 'NASDAQ:AAPL' symbol = 'NASDAQ:GOOG' option = DataReader("GoogleFinanceOptions", expire_after=expire_after).get(symbol) print(option) assert (isinstance(option, dict)) symbol = ['NASDAQ:AAPL', 'NASDAQ:GOOG'] # ToFix: get returns now a dict not a DataFrame option = DataReader("GoogleFinanceOptions", expire_after=expire_after).get(symbol) print(option) assert (isinstance(option, dict))
def test_fred(): start = datetime.datetime(2010, 1, 1) end = datetime.datetime(2013, 1, 27) #name = "GDP" #name = "CPIAUCSL" #name = "CPILFESL" name = ["CPIAUCSL", "CPILFESL"] #name = ["CPIAUCSL", "CPILFESL", "ERROR"] data = DataReader("FRED", expire_after=expire_after).get(name, start, end) print(data) print("="*5 + "Pandas original DataReader" + "="*5) gdp = web.DataReader(name, "fred", start, end) print(gdp) print(type(gdp)) print(gdp.ix['2013-01-01']) print(gdp.dtypes) diff = gdp - data assert(diff.sum().sum()==0)
def test_google_finance_daily(): start = datetime.datetime(2010, 1, 1) end = datetime.datetime(2013, 1, 27) symbol = "F" #symbol = "GOOG" print("="*5 + "New DataReader" + "="*5) dr_gfd = DataReader("GoogleFinanceDaily", expire_after=expire_after) data = dr_gfd.get(symbol, start, end) print(data) print(type(data)) print(data.dtypes) print("="*5 + "Pandas original DataReader" + "="*5) f = web.DataReader(symbol, 'google', start, end) print(f) print(type(f)) print(f.ix['2010-01-04']) print(f.dtypes) for col in ['Open', 'High', 'Low', 'Close']: f[col] = f[col].map(to_float) f['Volume'] = f['Volume'].map(to_int) print(f.dtypes) diff = f - data print(diff) assert(diff.sum().sum()==0) print("="*5 + "New DataReader with multi symbols" + "="*5) symbol = ["F", "GOOG"] dr_gfd = DataReader("GoogleFinanceDaily", expire_after=expire_after) data = dr_gfd.get(symbol, start, end) print(data) print(type(data)) print(data.dtypes)
def test_openexchangerates(): app_id = os.environ['OPEN_EXCHANGE_RATES_API_KEY'] print(app_id) dr = DataReader("OpenExchangeRates", expire_after=expire_after, app_id=app_id) #data = dr.get() #print(data) #print(type(data)) #print(data["matrix"]) #data["matrix"].to_excel("rates_matrix.xls") currencies = ["EUR", "GBP", "CHF", "USD", "AUD", "CAD", "HKD", "INR", "JPY", "SAR", "SGD", "ZAR", "SEK", "AED"] data = dr.get(currencies) #print(data) assert(isinstance(data, dict)) print(data["matrix"]) assert(isinstance(data["matrix"], pd.DataFrame)) print(dr.convert(100, "EUR", "USD")) print(dr.convert(100, "USD", "EUR"))
def test_yahoo_finance_daily(): start = datetime.datetime(2010, 1, 1) end = datetime.datetime(2013, 1, 27) symbol = "F" symbol = "AAPL" #symbol = ["AAPL", 'F'] print("=" * 5 + "New DataReader" + "=" * 5) data = DataReader("YahooFinanceDaily", expire_after=expire_after).get(symbol, start, end) assert (isinstance(data, pd.DataFrame)) print(data) print(type(data)) print(data.dtypes) print("=" * 5 + "Pandas original DataReader" + "=" * 5) f = web.DataReader(symbol, 'yahoo', start, end) print(f) print(type(f)) print(f.ix['2010-01-04']) print(f.dtypes) diff = f - data assert (diff.sum().sum() == 0) print("=" * 5 + "New DataReader with multi symbols" + "=" * 5) symbol = ["AAPL", 'F'] data = DataReader("YahooFinanceDaily", expire_after=expire_after).get(symbol, start, end) print(data) print(type(data)) print(data.dtypes)
def test_google_finance_intraday(): symbol = "GOOG" #symbol = ["GOOG", "AAPL"] interval_seconds = 60 num_days = 3 data = DataReader("GoogleFinanceIntraday", expire_after=expire_after).get(symbol, exchange="NASD", interval=interval_seconds, num_days=num_days) print(data) assert (isinstance(data, pd.DataFrame)) symbol = ["GOOG", "AAPL"] interval_seconds = 60 num_days = 3 data = DataReader("GoogleFinanceIntraday", expire_after=expire_after).get(symbol, exchange="NASD", interval=interval_seconds, num_days=num_days) print(data) assert (isinstance(data, pd.Panel))
def test_datareader_world_bank(): #print("="*5 + "Pandas original DataReader" + "="*5) #dat = wb.search('gdp.*capita.*const') #print(dat.iloc[:,:2]) #dat = wb.download(indicator=u'NY.GDP.PCAP.KD', country=['US', 'CA', 'MX'], start=2005, end=2008) #print(dat) #assert(isinstance(wb.country_codes, list)) print("="*5 + "New DataReader" + "="*5) world_bank = DataReader("WorldBank", expire_after=expire_after) assert(isinstance(world_bank.country_codes, list)) data = world_bank.search('gdp.*capita.*const') print(data.iloc[:,:2]) assert(isinstance(data, pd.DataFrame)) data = world_bank.download(indicator='NY.GDP.PCAP.KD', country=['US', 'CA', 'MX'], start=2005, end=2008) print(data) assert(isinstance(data, pd.DataFrame))
def test_google_finance_daily(): start = datetime.datetime(2010, 1, 1) end = datetime.datetime(2013, 1, 27) symbol = "F" #symbol = "GOOG" print("=" * 5 + "New DataReader" + "=" * 5) dr_gfd = DataReader("GoogleFinanceDaily", expire_after=expire_after) data = dr_gfd.get(symbol, start, end) print(data) print(type(data)) print(data.dtypes) print("=" * 5 + "Pandas original DataReader" + "=" * 5) f = web.DataReader(symbol, 'google', start, end) print(f) print(type(f)) print(f.ix['2010-01-04']) print(f.dtypes) for col in ['Open', 'High', 'Low', 'Close']: f[col] = f[col].map(to_float) f['Volume'] = f['Volume'].map(to_int) print(f.dtypes) diff = f - data print(diff) assert (diff.sum().sum() == 0) print("=" * 5 + "New DataReader with multi symbols" + "=" * 5) symbol = ["F", "GOOG"] dr_gfd = DataReader("GoogleFinanceDaily", expire_after=expire_after) data = dr_gfd.get(symbol, start, end) print(data) print(type(data)) print(data.dtypes)
def main(datareader, symbol, start, end, interval, duration, exchange, expire_after): """ SYMBOL: AAPL, ... """ symbol = symbol.split(',') if len(symbol) == 1: symbol = symbol[0] if expire_after == '-1': expire_after = None else: expire_after = pd.to_timedelta(expire_after, unit='s') #filename = os.path.join(basepath, "request_cache") #if expire_after>=0: # requests_cache.install_cache(filename, backend='sqlite', expire_after=expire_after) # expiration seconds # logging.info("Installing cache '%s.sqlite' with expire_after=%d (seconds)" % (filename, expire_after)) #if expire_after==0: # logging.warning("expire_after==0 no cache expiration!") start = pd.to_datetime(start) if end == '': end = pd.to_datetime(datetime.datetime.utcnow().date()) else: end = pd.to_datetime(end) data = DataReader(datareader, expire_after=expire_after).get(symbol, start_date=start, end_date=end, interval=interval, duration=duration, exchange=exchange) print(data) print(type(data)) try: print(data.dtypes) except: pass """ # Google Finance Daily #symbol = "GOOG" #symbol = "AAPL" symbol = ["GOOG", "AAPL", "MSFT"] end_date = datetime.datetime.now() num_days = 200 start_date = end_date - datetime.timedelta(days=num_days) data = DataReader("GoogleFinanceDaily", expire_after=expire_after).get(symbol, start_date, end_date) print(data) """ """ # Google Finance Intraday #symbol = "GOOG" symbol = ["GOOG", "AAPL"] interval_seconds = 60 num_days = 3 data = DataReader("GoogleFinanceIntraday", expire_after=expire_after).get(symbol, exchange="NASD", interval_seconds=interval_seconds, num_days=num_days) print(data) """ # Yahoo Finance Daily """ start = datetime.datetime(2010, 1, 1) end = datetime.datetime(2013, 1, 27) symbol = "F" symbol = "AAPL" #symbol = ["AAPL", 'F'] data = DataReader("YahooFinanceDaily", expire_after=expire_after).get(symbol, start, end) print(data) """ # FRED """ start = datetime.datetime(2010, 1, 1) end = datetime.datetime(2013, 1, 27) #name = "GDP" #name = "CPIAUCSL" #name = "CPILFESL" name = ["CPIAUCSL", "CPILFESL"] #name = ["CPIAUCSL", "CPILFESL", "ERROR"] data = DataReader("FRED", expire_after=expire_after).get(name, start, end) print(data) """ """ # Yahoo Finance Options symbol = "AAPL" option = DataReader("YahooFinanceOptions", expire_after=expire_after).get(symbol) data = option.get_all_data() # get all data print(data) #data = option.get_call_data(expiry=expiry) # get call data """ """ # Google Finance Options """ """