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()
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)
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)