Skip to content

Commit

Permalink
uber get update
Browse files Browse the repository at this point in the history
  • Loading branch information
realiti4 committed Feb 28, 2021
1 parent 75d64e9 commit 81af27a
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 15 deletions.
2 changes: 1 addition & 1 deletion tradingfeatures/bitmex_fundings.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def get_(self, address, query):
# Bitmex remaining limit
if 'x-ratelimit-remaining' in r.headers:
if int(r.headers['x-ratelimit-remaining']) <= 1:
print('sleeping...')
print('bitmex api is sleeping...')
time.sleep(61)
return r

Expand Down
37 changes: 29 additions & 8 deletions tradingfeatures/bitstamp.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,29 @@

class bitstamp:

def test(self, start=1364778000, end=time.time()):
def binance_get(self, start=1484778000, end=int(time.time())):
start, end = (start*1000), (end*1000)
currency_pair = 'BTCUSDT'
add = '/api/v3/klines'
address = 'https://api.binance.com' + add
query = {'symbol': currency_pair, 'interval': '1h', 'startTime': start, 'endTime': end, 'limit': 1000}

r = requests.get(address, params=query)

result = r.json()

df = pd.DataFrame(result, columns=['open_time', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume',
'number_of_trades', 'taker_base_asset_volume', 'taker_quote_asset_volume', 'ignore'])

print('debug')

def get(self, start=1364778000, end=int(time.time()), query=None):
currency_pair = 'btcusd'
address = f'https://www.bitstamp.net/api/v2/ohlc/{currency_pair}/'
# query = {'start': , 'end': , 'step': 3600, 'limit': 1000}
query = {'start': start, 'end': end, 'step': 3600, 'limit': 1000}

return self.get_(address, query)

def get_(self, address, query):
if query is None:
query = {'start': start, 'end': end, 'step': 3600, 'limit': 1000}
r = requests.get(address, params=query)
if r.status_code != 200: # Bad response handler
print(r.json())
Expand All @@ -23,12 +37,15 @@ def get_(self, address, query):
result = r.json()['data']['ohlc']

df = pd.DataFrame(result) # fix index
df = df.astype(float)
df['timestamp'] = df['timestamp'].astype(int)

# df['date'] = pd.to_datetime(df['timestamp'], unit='s', utc=True)
# datetime.utcfromtimestamp(1364778000)

return df

def get_hist(self, timestamp='1h', start=1364778000, end=int(time.time()), symbol='tBTCUSD'):
def get_hist(self, timestamp='1h', start=1364778000, end=int(time.time())):
# if timeframe not in self.times_dict:
# raise Exception('enter a valid timeframe')

Expand All @@ -46,7 +63,7 @@ def get_hist(self, timestamp='1h', start=1364778000, end=int(time.time()), symbo
start_batch = start + (interval*i*per_step)
end_batch = start_batch + (interval*per_step)
try:
df_temp = self.test(start=str(start_batch), end=str(end_batch))
df_temp = self.get(start=str(start_batch), end=str(end_batch))
except:
print('hata!', start_batch, end_batch)
if steps <= 1: return None
Expand Down Expand Up @@ -79,3 +96,7 @@ def update(self, path=None):
df_final = df_final[~df_final.index.duplicated(keep='first')]

df_final.to_csv(path)

# bitstamp = bitstamp()
# bitstamp.binance_get()
# bitstamp.get_hist()
14 changes: 8 additions & 6 deletions tradingfeatures/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,19 @@ def __init__(self):
self.columns = ['open', 'low', 'high', 'close', 'volume']
self.columns_final = ['close', 'low', 'high', 'volume', 'fundingRate']

def get(self, limit=10000):
df_bitfinex = self.bitfinex.get(10000)
df_bitmex = self.bitmex.get_funding_rates(save_csv=False)
def get(self, limit=1000):
df_bitfinex = self.bitfinex.get(10000).set_index('timestamp')
df_bitstamp = self.bitstamp.get(query={'step': 3600, 'limit': 1000}).set_index('timestamp')
# df_bitmex = self.bitmex.get_funding_rates(save_csv=False)

merged = self.bitmex.price_funding_merger(df_bitfinex, df_bitmex)
self.df1_updated = df_bitfinex[-limit:]
self.df2_updated = df_bitstamp[-limit:]

merged = merged[self.columns]
merged = self.uber_get(save=False, update=True, fundings=True)

return merged.to_numpy()

def uber_get(self, path, fundings=False, date=True, save=True, update=False):
def uber_get(self, path='', fundings=False, date=True, save=True, update=False):
if update:
df1 = self.df1_updated
df2 = self.df2_updated
Expand Down

0 comments on commit 81af27a

Please sign in to comment.