siglab-py 0.1.55__py3-none-any.whl → 0.1.57__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of siglab-py might be problematic. Click here for more details.

@@ -298,6 +298,10 @@ def fetch_candles(
298
298
  validation_max_gaps : int = 10,
299
299
  validation_max_end_date_intervals : int = 1
300
300
  ) -> Dict[str, Union[pd.DataFrame, None]]:
301
+
302
+ if end_ts>datetime.now().timestamp():
303
+ end_ts = int(datetime.now().timestamp())
304
+
301
305
  if type(exchange) is YahooExchange:
302
306
  return exchange.fetch_candles(
303
307
  start_ts=start_ts,
@@ -331,10 +335,7 @@ def fetch_candles(
331
335
  exchange=exchange,
332
336
  normalized_symbols=normalized_symbols,
333
337
  candle_size=candle_size,
334
- logger=logger,
335
- num_candles_limit=num_candles_limit,
336
- cache_dir=cache_dir,
337
- list_ts_field=list_ts_field
338
+ num_candles_limit=num_candles_limit
338
339
  )
339
340
  return { '' : None }
340
341
 
@@ -344,47 +345,23 @@ def _fetch_candles_ccxt(
344
345
  exchange,
345
346
  normalized_symbols : List[str],
346
347
  candle_size : str,
347
- num_candles_limit : int = 100,
348
- logger = None,
349
- cache_dir : Union[str, None] = None,
350
- list_ts_field : Union[str, None] = None
351
- ) -> Dict[str, Union[pd.DataFrame, None]]:
352
- ticker = normalized_symbols[0]
353
- pd_candles = _fetch_candles(
354
- symbol = ticker,
355
- exchange = exchange,
356
- start_ts = start_ts,
357
- end_ts = end_ts,
358
- candle_size = candle_size,
359
- )
360
- return {
361
- ticker : pd_candles
362
- }
363
-
364
- def _fetch_candles(
365
- symbol : str,
366
- exchange : CcxtExchange,
367
- start_ts : int,
368
- end_ts : int,
369
- candle_size : str = '1d',
370
348
  num_candles_limit : int = 100
371
- ):
372
- def _fetch_ohlcv(exchange, symbol, timeframe, since, limit, params) -> Union[List, NoReturn]:
373
- one_timeframe = f"1{timeframe[-1]}"
374
- candles = exchange.fetch_ohlcv(symbol=symbol, timeframe=one_timeframe, since=since, limit=limit, params=params)
375
- if candles and len(candles)>0:
376
- candles.sort(key=lambda x : x[0], reverse=False)
377
-
378
- return candles
349
+ ) -> Dict[str, Union[pd.DataFrame, None]]:
350
+ ticker = normalized_symbols[0]
379
351
 
380
- if end_ts>datetime.now().timestamp():
381
- end_ts = int(datetime.now().timestamp())
352
+ def _fetch_ohlcv(exchange, symbol, timeframe, since, limit, params) -> Union[List, NoReturn]:
353
+ one_timeframe = f"1{timeframe[-1]}"
354
+ candles = exchange.fetch_ohlcv(symbol=symbol, timeframe=one_timeframe, since=since, limit=limit, params=params)
355
+ if candles and len(candles)>0:
356
+ candles.sort(key=lambda x : x[0], reverse=False)
382
357
 
358
+ return candles
359
+
383
360
  all_candles = []
384
361
  params = {}
385
362
  this_cutoff = start_ts
386
363
  while this_cutoff<end_ts:
387
- candles = _fetch_ohlcv(exchange=exchange, symbol=symbol, timeframe=candle_size, since=int(this_cutoff * 1000), limit=num_candles_limit, params=params)
364
+ candles = _fetch_ohlcv(exchange=exchange, symbol=ticker, timeframe=candle_size, since=int(this_cutoff * 1000), limit=num_candles_limit, params=params)
388
365
  if candles and len(candles)>0:
389
366
  all_candles = all_candles + [[ int(x[0]), float(x[1]), float(x[2]), float(x[3]), float(x[4]), float(x[5]) ] for x in candles if x[1] and x[2] and x[3] and x[4] and x[5] ]
390
367
 
@@ -398,10 +375,13 @@ def _fetch_candles(
398
375
  this_cutoff += 1
399
376
 
400
377
  columns = ['exchange', 'symbol', 'timestamp_ms', 'open', 'high', 'low', 'close', 'volume']
401
- pd_all_candles = pd.DataFrame([ [ exchange.name, symbol, x[0], x[1], x[2], x[3], x[4], x[5] ] for x in all_candles], columns=columns)
378
+ pd_all_candles = pd.DataFrame([ [ exchange.name, ticker, x[0], x[1], x[2], x[3], x[4], x[5] ] for x in all_candles], columns=columns)
402
379
  fix_column_types(pd_all_candles)
403
380
  pd_all_candles['pct_chg_on_close'] = pd_all_candles['close'].pct_change()
404
- return pd_all_candles
381
+
382
+ return {
383
+ ticker : pd_all_candles
384
+ }
405
385
 
406
386
  def fetch_deribit_btc_option_expiries(
407
387
  market: str = 'BTC'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siglab-py
3
- Version: 0.1.55
3
+ Version: 0.1.57
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>
@@ -26,9 +26,9 @@ siglab_py/tests/unit/market_data_util_tests.py,sha256=A1y83itISmMJdn6wLpfwcr4tGo
26
26
  siglab_py/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  siglab_py/util/analytic_util.py,sha256=xo9gD1ELQt_1v84yu9d4NgxtOIXthePZGipvDrjZAQ8,43834
28
28
  siglab_py/util/aws_util.py,sha256=KGmjHrr1rpnnxr33nXHNzTul4tvyyxl9p6gpwNv0Ygc,2557
29
- siglab_py/util/market_data_util.py,sha256=UV9-gYPqT0Ls7e9Key6u8EzD-WeVVt_Bvfq9PWNQK2U,19627
29
+ siglab_py/util/market_data_util.py,sha256=hBZiFhko0NFf8A74mv9Qia-YYbjK4RuhzC9I6L353is,19033
30
30
  siglab_py/util/retry_util.py,sha256=mxYuRFZRZoaQQjENcwPmxhxixtd1TFvbxIdPx4RwfRc,743
31
- siglab_py-0.1.55.dist-info/METADATA,sha256=IOlJYSRtgpOBpETdCayWaFTaMuTxqDZ_lq0bZzsgFbI,980
32
- siglab_py-0.1.55.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
33
- siglab_py-0.1.55.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
34
- siglab_py-0.1.55.dist-info/RECORD,,
31
+ siglab_py-0.1.57.dist-info/METADATA,sha256=SiMQHpopJdPupRvZPoetRePia_2c82SBUiGQX7SEFxI,980
32
+ siglab_py-0.1.57.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
33
+ siglab_py-0.1.57.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
34
+ siglab_py-0.1.57.dist-info/RECORD,,