def create_coinlist(): polo = Poloniex() vol = polo.marketVolume() ticker = polo.marketTicker() pairs = [] coins = [] volumes = [] prices = [] for k, v in vol.items(): if k.startswith("BTC_") or k.endswith("_BTC"): pairs.append(k) for c, val in v.items(): if c != 'BTC': if k.endswith('_BTC'): coins.append('reversed_' + c) prices.append(1.0 / float(ticker[k]['last'])) else: coins.append(c) prices.append(float(ticker[k]['last'])) else: volumes.append(0.0) coin_list = pd.DataFrame({ 'coin': coins, 'pair': pairs, 'volume': volumes, 'price': prices }) coin_list = coin_list.set_index('coin') return coin_list
def __init__(self, end, volume_average_days=1, volume_forward=0): self._polo = Poloniex() vol = self._polo.marketVolume() ticker = self._polo.marketTicker() pairs = [] coins = [] volumes = [] prices = [] logging.info("select coin online from %s to %s" % (datetime.fromtimestamp(end - (DAY * volume_average_days) - volume_forward).strftime('%Y-%m-%d %H:%M'), datetime.fromtimestamp(end - volume_forward).strftime('%Y-%m-%d %H:%M'))) for k, v in vol.items(): if k.startswith("BTC_") or k.endswith("_BTC"): pairs.append(k) for c, val in v.items(): if c != 'BTC': if k.endswith('_BTC'): # BTCが後ろなら逆数にする coins.append('reversed_' + c) prices.append(1.0 / float(ticker[k]['last'])) else: coins.append(c) prices.append(float(ticker[k]['last'])) else: volumes.append(self.__get_total_volume(pair=k, global_end=end, days=volume_average_days, forward=volume_forward)) self._df = pd.DataFrame({'coin': coins, 'pair': pairs, 'volume': volumes, 'price': prices}) self._df = self._df.set_index('coin')
def __init__(self, end=1483315200, volume_average_days=30, volume_forward=0.08): #opens Poloniex, gets data self._polo = Poloniex() # connect the internet to accees volumes vol = self._polo.marketVolume() ticker = self._polo.marketTicker() pairs = [] coins = [] volumes = [] prices = [] logging.info( "select coin online from %s to %s" % (datetime.fromtimestamp(end - (DAY * volume_average_days) - volume_forward).strftime('%Y-%m-%d %H:%M'), datetime.fromtimestamp(end - volume_forward).strftime( '%Y-%m-%d %H:%M'))) for k, v in vol.items(): if k.startswith("BTC_") or k.endswith("_BTC"): pairs.append(k) for c, val in v.items(): if c != 'BTC': #add coin prices if k.endswith('_BTC'): coins.append('reversed_' + c) prices.append(1.0 / float(ticker[k]['last'])) else: coins.append(c) prices.append(float(ticker[k]['last'])) else: volumes.append( self.__get_total_volume(pair=k, global_end=end, days=volume_average_days, forward=volume_forward)) #generates a pd.DataFrame with coins, pairs, volumes, prices of all coins self._df = pd.DataFrame({ 'coin': coins, 'pair': pairs, 'volume': volumes, 'price': prices }) self._df = self._df.set_index('coin') print(self._df)
def create_data(coin, coin_list, start, end, period): polo = Poloniex() chart = get_chart_until_success(polo=polo, pair=coin_list.at[coin, 'pair'], start=start, end=end, period=period) for c in chart: if c["date"] > 0: if c['weightedAverage'] == 0: c['weightedAverage'] = c['close'] # NOTE here the USDT is in reversed order if 'reversed_' in coin: c['low'], c['high'], c[ 'open'] = 1.0 / c['low'], 1.0 / c['high'], 1.0 / c['open'] c['close'], c['weightedAverage'] = 1.0 / c['close'], 1.0 / c[ 'weightedAverage'] return chart
def __init__(self, end, volume_average_days=1, volume_forward=0): self._polo = Poloniex() # connect the internet to accees volumes vol = self._polo.marketVolume() ticker = self._polo.marketTicker() pairs = [] coins = [] volumes = [] prices = [] logging.info("select coin online from %s to %s" % ( datetime.fromtimestamp(end - (DAY * volume_average_days) - volume_forward).strftime("%Y-%m-%d %H:%M"), datetime.fromtimestamp(end - volume_forward).strftime("%Y-%m-%d %H:%M"), )) for k, v in vol.items(): if k.startswith("BTC_") or k.endswith("_BTC"): pairs.append(k) for c, val in v.items(): if c != "BTC": if k.endswith("_BTC"): coins.append("reversed_" + c) prices.append(1.0 / float(ticker[k]["last"])) else: coins.append(c) prices.append(float(ticker[k]["last"])) else: volumes.append( self.__get_total_volume( pair=k, global_end=end, days=volume_average_days, forward=volume_forward, )) self._df = pd.DataFrame({ "coin": coins, "pair": pairs, "volume": volumes, "price": prices }) self._df = self._df.set_index("coin")