siglab-py 0.5.63__tar.gz → 0.5.66__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.63 → siglab_py-0.5.66}/PKG-INFO +1 -1
  2. {siglab_py-0.5.63 → siglab_py-0.5.66}/pyproject.toml +1 -1
  3. {siglab_py-0.5.63 → siglab_py-0.5.66}/setup.cfg +1 -1
  4. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/analytic_util.py +2 -13
  5. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/simple_math.py +20 -4
  6. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/PKG-INFO +1 -1
  7. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/__init__.py +0 -0
  8. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/constants.py +0 -0
  9. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/exchanges/__init__.py +0 -0
  10. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/exchanges/any_exchange.py +0 -0
  11. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/exchanges/futubull.py +0 -0
  12. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/__init__.py +0 -0
  13. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
  14. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/candles_provider.py +0 -0
  15. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
  16. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
  17. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
  18. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
  19. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
  20. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/test_provider.py +0 -0
  21. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/tg_monitor.py +0 -0
  22. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/__init__.py +0 -0
  23. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/client.py +0 -0
  24. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
  25. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/gateway.py +0 -0
  26. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/test_ordergateway.py +0 -0
  27. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/__init__.py +0 -0
  28. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/integration/__init__.py +0 -0
  29. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
  30. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/__init__.py +0 -0
  31. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/analytic_util_tests.py +0 -0
  32. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
  33. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/simple_math_tests.py +0 -0
  34. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/trading_util_tests.py +0 -0
  35. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/__init__.py +0 -0
  36. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/aws_util.py +0 -0
  37. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/market_data_util.py +0 -0
  38. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/notification_util.py +0 -0
  39. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/retry_util.py +0 -0
  40. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/slack_notification_util.py +0 -0
  41. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/trading_util.py +0 -0
  42. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/SOURCES.txt +0 -0
  43. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/dependency_links.txt +0 -0
  44. {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/requires.txt +0 -0
  45. {siglab_py-0.5.63 → siglab_py-0.5.66}/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.63
3
+ Version: 0.5.66
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.63"
7
+ version = "0.5.66"
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.63
3
+ version = 0.5.66
4
4
  description = Market data fetches, TA calculations and generic order gateway.
5
5
  author = r0bbarh00d
6
6
  author_email = r0bbarh00d@gmail.com
@@ -479,13 +479,7 @@ def compute_candles_stats(
479
479
 
480
480
  lo_rs = lo_ma_up / lo_ma_down
481
481
  pd_candles.loc[:,'rsi'] = 100 - (100/(1 + lo_rs))
482
- rsi_buckets = bucket_series(
483
- values = BUCKETS_m0_100,
484
- outlier_threshold_percent=10,
485
- level_granularity=0.1
486
- )
487
-
488
- pd_candles['rsi_bucket'] = pd_candles['rsi'].apply(lambda x: bucketize_val(x, buckets=rsi_buckets))
482
+ pd_candles['rsi_bucket'] = pd_candles['rsi'].apply(lambda x: bucketize_val(x, buckets=BUCKETS_m0_100))
489
483
  pd_candles['ema_rsi'] = pd_candles['rsi'].ewm(
490
484
  span=rsi_sliding_window_how_many_candles,
491
485
  adjust=False).mean()
@@ -547,12 +541,7 @@ def compute_candles_stats(
547
541
  rsi_sliding_window_how_many_candles if rsi_sliding_window_how_many_candles else sliding_window_how_many_candles).sum()
548
542
  pd_candles['money_flow_ratio'] = pd_candles['positive_flow_sum'] / pd_candles['negative_flow_sum']
549
543
  pd_candles['mfi'] = 100 - (100 / (1 + pd_candles['money_flow_ratio']))
550
- mfi_buckets = bucket_series(
551
- values = BUCKETS_m0_100,
552
- outlier_threshold_percent=10,
553
- level_granularity=0.1
554
- )
555
- pd_candles['mfi_bucket'] = pd_candles['mfi'].apply(lambda x: bucketize_val(x, buckets=mfi_buckets))
544
+ pd_candles['mfi_bucket'] = pd_candles['mfi'].apply(lambda x: bucketize_val(x, buckets=BUCKETS_m0_100))
556
545
 
557
546
 
558
547
  # MACD https://www.investopedia.com/terms/m/macd.asp
@@ -87,7 +87,11 @@ def bucket_series(
87
87
  return result
88
88
 
89
89
  if list_0_to_1:
90
- intervals = _generate_sequence(0.1, 1, 0.1)
90
+ step = round_to_level(
91
+ 1 * level_granularity,
92
+ level_granularity=level_granularity
93
+ )
94
+ intervals = _generate_sequence(0.1, 1, step)
91
95
  last_interval = 0
92
96
  buckets[f"< 0"] = {
93
97
  'min' : float("-inf"),
@@ -108,7 +112,11 @@ def bucket_series(
108
112
  }
109
113
 
110
114
  elif not list_0_to_1 and list_m1_to_1:
111
- intervals = _generate_sequence(-0.9, 1, 0.1)
115
+ step = round_to_level(
116
+ 1 * level_granularity,
117
+ level_granularity=level_granularity
118
+ )
119
+ intervals = _generate_sequence(-0.9, 1, step)
112
120
  last_interval = -1
113
121
  buckets[f"< -1"] = {
114
122
  'min' : float("-inf"),
@@ -129,7 +137,11 @@ def bucket_series(
129
137
  }
130
138
 
131
139
  elif not list_0_to_1 and not list_m1_to_1 and list_0_to_100:
132
- intervals = _generate_sequence(10, 100, 10)
140
+ step = round_to_level(
141
+ 100 * level_granularity,
142
+ level_granularity=level_granularity
143
+ )
144
+ intervals = _generate_sequence(10, 100, step)
133
145
  last_interval = 0
134
146
  buckets[f"<0"] = {
135
147
  'min' : float("-inf"),
@@ -150,7 +162,11 @@ def bucket_series(
150
162
  }
151
163
 
152
164
  elif not list_0_to_1 and not list_m1_to_1 and not list_0_to_100 and list_m100_to_100:
153
- intervals = _generate_sequence(-90, 100, 10)
165
+ step = round_to_level(
166
+ 100 * level_granularity,
167
+ level_granularity=level_granularity
168
+ )
169
+ intervals = _generate_sequence(-90, 100, step)
154
170
  last_interval = -100
155
171
  buckets[f"<-100"] = {
156
172
  'min' : float("-inf"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siglab_py
3
- Version: 0.5.63
3
+ Version: 0.5.66
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>