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])
    """

    """
Example #4
0
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)
Example #5
0
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)
Example #12
0
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
    """
    """