siglab-py 0.5.20__tar.gz → 0.5.22__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 (43) hide show
  1. {siglab_py-0.5.20 → siglab_py-0.5.22}/PKG-INFO +1 -1
  2. {siglab_py-0.5.20 → siglab_py-0.5.22}/pyproject.toml +1 -1
  3. {siglab_py-0.5.20 → siglab_py-0.5.22}/setup.cfg +1 -1
  4. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/unit/analytic_util_tests.py +1 -0
  5. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/analytic_util.py +21 -3
  6. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py.egg-info/PKG-INFO +1 -1
  7. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/__init__.py +0 -0
  8. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/constants.py +0 -0
  9. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/exchanges/__init__.py +0 -0
  10. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/exchanges/any_exchange.py +0 -0
  11. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/exchanges/futubull.py +0 -0
  12. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/__init__.py +0 -0
  13. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
  14. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/candles_provider.py +0 -0
  15. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
  16. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
  17. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
  18. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
  19. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
  20. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/test_provider.py +0 -0
  21. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/market_data_providers/tg_monitor.py +0 -0
  22. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/ordergateway/__init__.py +0 -0
  23. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/ordergateway/client.py +0 -0
  24. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
  25. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/ordergateway/gateway.py +0 -0
  26. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/ordergateway/test_ordergateway.py +0 -0
  27. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/__init__.py +0 -0
  28. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/integration/__init__.py +0 -0
  29. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
  30. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/unit/__init__.py +0 -0
  31. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
  32. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/tests/unit/trading_util_tests.py +0 -0
  33. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/__init__.py +0 -0
  34. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/aws_util.py +0 -0
  35. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/market_data_util.py +0 -0
  36. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/notification_util.py +0 -0
  37. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/retry_util.py +0 -0
  38. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/slack_notification_util.py +0 -0
  39. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py/util/trading_util.py +0 -0
  40. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py.egg-info/SOURCES.txt +0 -0
  41. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py.egg-info/dependency_links.txt +0 -0
  42. {siglab_py-0.5.20 → siglab_py-0.5.22}/siglab_py.egg-info/requires.txt +0 -0
  43. {siglab_py-0.5.20 → siglab_py-0.5.22}/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.20
3
+ Version: 0.5.22
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.20"
7
+ version = "0.5.22"
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.20
3
+ version = 0.5.22
4
4
  description = Market data fetches, TA calculations and generic order gateway.
5
5
  author = r0bbarh00d
6
6
  author_email = r0bbarh00d@gmail.com
@@ -56,6 +56,7 @@ class AnalyticUtilTests(unittest.TestCase):
56
56
  'chop_against_ema',
57
57
  'ema_volume_short_periods', 'ema_volume_long_periods',
58
58
  'max_short_periods', 'max_long_periods', 'idmax_short_periods', 'idmax_long_periods', 'min_short_periods', 'min_long_periods', 'idmin_short_periods', 'idmin_long_periods',
59
+ 'price_swing_short_periods', 'price_swing_long_periods',
59
60
  'h_l', 'h_pc', 'l_pc', 'tr', 'atr', 'atr_avg_short_periods', 'atr_avg_long_periods',
60
61
  'hurst_exp',
61
62
  'boillenger_upper', 'boillenger_lower', 'boillenger_channel_height', 'boillenger_upper_agg', 'boillenger_lower_agg', 'boillenger_channel_height_agg',
@@ -168,6 +168,17 @@ def compute_candles_stats(
168
168
  pd_candles['idmin_short_periods'] = close_short_periods_rolling.apply(lambda x : x.idxmin())
169
169
  pd_candles['idmin_long_periods'] = close_long_periods_rolling.apply(lambda x : x.idxmin())
170
170
 
171
+ pd_candles['price_swing_short_periods'] = np.where(
172
+ pd_candles['idmax_short_periods'] > pd_candles['idmin_short_periods'],
173
+ pd_candles['max_short_periods'] - pd_candles['min_short_periods'], # Up swing
174
+ pd_candles['min_short_periods'] - pd_candles['max_short_periods'] # Down swing (negative)
175
+ )
176
+
177
+ pd_candles['price_swing_long_periods'] = np.where(
178
+ pd_candles['idmax_long_periods'] > pd_candles['idmin_long_periods'],
179
+ pd_candles['max_long_periods'] - pd_candles['min_long_periods'], # Up swing
180
+ pd_candles['min_long_periods'] - pd_candles['max_long_periods'] # Down swing (negative)
181
+ )
171
182
 
172
183
  # ATR https://medium.com/codex/detecting-ranging-and-trending-markets-with-choppiness-index-in-python-1942e6450b58
173
184
  pd_candles.loc[:,'h_l'] = pd_candles['high'] - pd_candles['low']
@@ -188,10 +199,10 @@ def compute_candles_stats(
188
199
  Sometimes you may encounter "Exception has occurred: FloatingPointError invalid value encountered in scalar divide"
189
200
  And for example adjusting window size from 120 to 125 will resolve the issue.
190
201
  '''
202
+ if not hurst_exp_window_how_many_candles:
203
+ hurst_exp_window_how_many_candles = (sliding_window_how_many_candles if sliding_window_how_many_candles>=125 else 125)
191
204
  pd_candles['hurst_exp'] = pd_candles['close'].rolling(
192
- window=(
193
- hurst_exp_window_how_many_candles if hurst_exp_window_how_many_candles else (sliding_window_how_many_candles if sliding_window_how_many_candles>=125 else 125)
194
- )
205
+ window=hurst_exp_window_how_many_candles
195
206
  ).apply(lambda x: compute_Hc(x, kind='price', simplified=True)[0])
196
207
 
197
208
 
@@ -463,6 +474,13 @@ def compute_candles_stats(
463
474
  (pd_candles['ema_long_slope'] > 0) & (pd_candles['ema_rsi_slope'] < 0) |
464
475
  (pd_candles['ema_long_slope'] < 0) & (pd_candles['ema_rsi_slope'] > 0)
465
476
  )
477
+
478
+ calculate_slope(
479
+ pd_data=pd_candles,
480
+ src_col_name='hurst_exp',
481
+ slope_col_name='hurst_exp_slope',
482
+ sliding_window_how_many_candles=hurst_exp_window_how_many_candles
483
+ )
466
484
 
467
485
 
468
486
  # Fibonacci
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siglab_py
3
- Version: 0.5.20
3
+ Version: 0.5.22
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>