Exemple #1
0
def add_ticker(symbol):

    vix = ts.get_intraday(symbol=symbol, interval='1min',
                          outputsize='compact')[0]
    db_ticker = Ticker(ticker=symbol)
    DB.session.add(db_ticker)
    for index in range(len(vix)):
        row = vix.iloc[index]
        time = row.name
        open_, high, low, close, volume = row['1. open'], row['2. high'], row[
            '3. low'], row['4. close'], row['5. volume']
        db_data = Data(datetime=time,
                       open_=open_,
                       high=high,
                       low=low,
                       close=close,
                       volume=volume)
        db_ticker.datas.append(db_data)
        DB.session.add(db_data)

    DB.session.commit()
Exemple #2
0
def main(exchange, symbol, country, info):
    """Get ccxt ticker info."""
    result = None

    print(country)

    if not info:
        info = 'last_price'

    if exchange == 'exchange':
        if symbol:
            tkr = TickerData()
            result = tkr(symbol, country, info)
        else:
            if info:
                if info == 'all':
                    result = ccxt.exchanges
                elif info == 'refresh':
                    return MarketData(refresh=True)
                else:
                    result = 'error: unknown info flag `%s`' % (str(info))
            else:
                result = 'error: no info or symbol flag supplied'

    else:
        if symbol:
            tkr = Ticker(exchange, symbol)
            result = getattr(tkr, info) if info else tkr.ticker
        else:
            mkt = Marketplace(exchange)
            if info:
                result = getattr(mkt, info)
            else:
                result = mkt.markets

    pprint(result)
Exemple #3
0
def insert_data(session, data, metadata):
    """
    Insert data into db
    :param data: df with columns
        date
        high
        low
        open
        close
        volume
        ajd_close
    :param metadata: df with single row
        name
        ticker
        security
        exchange
    """
    if not metadata:  # updating
        print('No metadata')
    else:  # new data

        exchange = Exchange(name=metadata['exchange'])
        security = Security(type=metadata['security'])
        mapped_ticker = Ticker(
            ticker=metadata['ticker'],
            name=metadata['name'],
            exchange=exchange,
            security=security)  # TODO create a mapping object
        data = data.to_dict(orient='records')  # list of dicts

        # print('Debugging - mapped_ticker')  # debugging
        # print(mapped_ticker)  # debugging

        # print('Debugging - Data length')  # debugging
        # print(len(data))  # debugging
        # print('Debugging - Data')  # debugging
        # print(data)

        price_list = list()
        for item in data:  # merge metadata to data
            date = item['date']
            high = item['high']
            low = item['low']
            open = item['open']
            close = item['close']
            volume = item['volume']
            adj_close = item['adj_close']

            # data_point = Price(date=date,
            #                    open=open,
            #                    high=high,
            #                    low=low,
            #                    close=close,
            #                    adj_close=adj_close,
            #                    ticker=mapped_ticker)

            data_point = {
                'date': date,
                'open': open,
                'high': high,
                'low': low,
                'close': close,
                'adj_close': adj_close,
                'ticker': mapped_ticker
            }

            price_list.append(data_point)

            # print('Debugging - printing data_point')  # debugging
            # print(data_point)  # debugging

        # print('Debugging - price_list')  # debugging
        # print(price_list)  # debugging

        # print(f'Inserting data into DB')  # debugging
        session.bulk_insert_mappings(Price, price_list)