siglab-py 0.5.61__tar.gz → 0.5.63__tar.gz

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.

Files changed (45) hide show
  1. {siglab_py-0.5.61 → siglab_py-0.5.63}/PKG-INFO +1 -1
  2. {siglab_py-0.5.61 → siglab_py-0.5.63}/pyproject.toml +1 -1
  3. {siglab_py-0.5.61 → siglab_py-0.5.63}/setup.cfg +1 -1
  4. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/analytic_util.py +8 -2
  5. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/simple_math.py +4 -0
  6. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py.egg-info/PKG-INFO +1 -1
  7. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/__init__.py +0 -0
  8. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/constants.py +0 -0
  9. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/exchanges/__init__.py +0 -0
  10. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/exchanges/any_exchange.py +0 -0
  11. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/exchanges/futubull.py +0 -0
  12. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/__init__.py +0 -0
  13. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
  14. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/candles_provider.py +0 -0
  15. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
  16. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
  17. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
  18. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
  19. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
  20. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/test_provider.py +0 -0
  21. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/market_data_providers/tg_monitor.py +0 -0
  22. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/ordergateway/__init__.py +0 -0
  23. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/ordergateway/client.py +0 -0
  24. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
  25. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/ordergateway/gateway.py +0 -0
  26. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/ordergateway/test_ordergateway.py +0 -0
  27. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/__init__.py +0 -0
  28. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/integration/__init__.py +0 -0
  29. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
  30. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/unit/__init__.py +0 -0
  31. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/unit/analytic_util_tests.py +0 -0
  32. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
  33. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/unit/simple_math_tests.py +0 -0
  34. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/tests/unit/trading_util_tests.py +0 -0
  35. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/__init__.py +0 -0
  36. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/aws_util.py +0 -0
  37. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/market_data_util.py +0 -0
  38. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/notification_util.py +0 -0
  39. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/retry_util.py +0 -0
  40. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/slack_notification_util.py +0 -0
  41. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py/util/trading_util.py +0 -0
  42. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py.egg-info/SOURCES.txt +0 -0
  43. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py.egg-info/dependency_links.txt +0 -0
  44. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py.egg-info/requires.txt +0 -0
  45. {siglab_py-0.5.61 → siglab_py-0.5.63}/siglab_py.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siglab_py
3
- Version: 0.5.61
3
+ Version: 0.5.63
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "siglab_py"
7
- version = "0.5.61"
7
+ version = "0.5.63"
8
8
  description = "Market data fetches, TA calculations and generic order gateway."
9
9
  authors = [{name = "r0bbarh00d", email = "r0bbarh00d@gmail.com"}]
10
10
  license = {text = "MIT"}
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = siglab_py
3
- version = 0.5.61
3
+ version = 0.5.63
4
4
  description = Market data fetches, TA calculations and generic order gateway.
5
5
  author = r0bbarh00d
6
6
  author_email = r0bbarh00d@gmail.com
@@ -121,6 +121,12 @@ def compute_candles_stats(
121
121
  target_fib_level : float = 0.618,
122
122
  pypy_compat : bool = True
123
123
  ):
124
+ BUCKETS_m0_100 = bucket_series(
125
+ values=list([i for i in range(0,100)]),
126
+ outlier_threshold_percent=10,
127
+ level_granularity=0.1
128
+ )
129
+
124
130
  pd_candles['candle_height'] = pd_candles['high'] - pd_candles['low']
125
131
  pd_candles['candle_body_height'] = pd_candles['close'] - pd_candles['open']
126
132
 
@@ -474,7 +480,7 @@ def compute_candles_stats(
474
480
  lo_rs = lo_ma_up / lo_ma_down
475
481
  pd_candles.loc[:,'rsi'] = 100 - (100/(1 + lo_rs))
476
482
  rsi_buckets = bucket_series(
477
- values = pd_candles['rsi'].to_list(),
483
+ values = BUCKETS_m0_100,
478
484
  outlier_threshold_percent=10,
479
485
  level_granularity=0.1
480
486
  )
@@ -542,7 +548,7 @@ def compute_candles_stats(
542
548
  pd_candles['money_flow_ratio'] = pd_candles['positive_flow_sum'] / pd_candles['negative_flow_sum']
543
549
  pd_candles['mfi'] = 100 - (100 / (1 + pd_candles['money_flow_ratio']))
544
550
  mfi_buckets = bucket_series(
545
- values = pd_candles['mfi'].to_list(),
551
+ values = BUCKETS_m0_100,
546
552
  outlier_threshold_percent=10,
547
553
  level_granularity=0.1
548
554
  )
@@ -2,6 +2,8 @@ import math
2
2
  import random
3
3
  from typing import List, Dict, Union
4
4
 
5
+ from pandas import isna
6
+
5
7
  def generate_rand_nums(
6
8
  range_min : float = 0,
7
9
  range_max : float = 1,
@@ -35,6 +37,8 @@ def round_to_level(
35
37
  num : float,
36
38
  level_granularity : float = 0.01
37
39
  ) -> float:
40
+ if math.isnan(num):
41
+ return num
38
42
  level_size = num * level_granularity
39
43
  magnitude = math.floor(math.log10(abs(level_size)))
40
44
  base_increment = 10 ** magnitude
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siglab_py
3
- Version: 0.5.61
3
+ Version: 0.5.63
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>