siglab-py 0.5.51__py3-none-any.whl → 0.5.52__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.

@@ -67,9 +67,9 @@ class AnalyticUtilTests(unittest.TestCase):
67
67
  'aggressive_up', 'aggressive_up_index', 'aggressive_up_candle_height', 'aggressive_up_candle_high', 'aggressive_up_candle_low', 'aggressive_down', 'aggressive_down_index', 'aggressive_down_candle_height', 'aggressive_down_candle_high', 'aggressive_down_candle_low',
68
68
  'fvg_low', 'fvg_high', 'fvg_gap', 'fvg_mitigated',
69
69
  'close_delta', 'close_delta_percent', 'up', 'down',
70
- 'rsi', 'ema_rsi', 'rsi_max', 'rsi_idmax', 'rsi_min', 'rsi_idmin', 'rsi_trend', 'rsi_trend_from_highs', 'rsi_trend_from_lows', 'rsi_divergence',
70
+ 'rsi', 'rsi_bucket', 'ema_rsi', 'rsi_max', 'rsi_idmax', 'rsi_min', 'rsi_idmin', 'rsi_trend', 'rsi_trend_from_highs', 'rsi_trend_from_lows', 'rsi_divergence',
71
71
  'typical_price',
72
- 'money_flow', 'money_flow_positive', 'money_flow_negative', 'positive_flow_sum', 'negative_flow_sum', 'money_flow_ratio', 'mfi',
72
+ 'money_flow', 'money_flow_positive', 'money_flow_negative', 'positive_flow_sum', 'negative_flow_sum', 'money_flow_ratio', 'mfi', 'mfi_bucket',
73
73
  'macd', 'signal', 'macd_minus_signal',
74
74
  'fib_0.618_short_periods', 'fib_0.618_long_periods',
75
75
  'gap_close_vs_ema',
@@ -11,7 +11,7 @@ from hurst import compute_Hc # compatible with pypy
11
11
  from ccxt.base.exchange import Exchange as CcxtExchange
12
12
  from ccxt import deribit
13
13
 
14
- from siglab_py.util.simple_math import bucket_series
14
+ from siglab_py.util.simple_math import bucket_series, bucketize_val
15
15
  from siglab_py.util.market_data_util import fix_column_types
16
16
  from siglab_py.constants import TrendDirection
17
17
 
@@ -480,9 +480,7 @@ def compute_candles_stats(
480
480
  level_granularity=0.1
481
481
  )
482
482
 
483
- pd_candles['rsi_bucket'] = pd_candles['rsi'].rolling(
484
- window=sliding_window_how_many_candles
485
- ).apply(lambda x: bucketize_val(x, buckets=rsi_buckets))
483
+ pd_candles['rsi_bucket'] = pd_candles['rsi'].apply(lambda x: bucketize_val(x, buckets=rsi_buckets))
486
484
  pd_candles['ema_rsi'] = pd_candles['rsi'].ewm(
487
485
  span=rsi_sliding_window_how_many_candles,
488
486
  adjust=False).mean()
@@ -544,6 +542,12 @@ def compute_candles_stats(
544
542
  rsi_sliding_window_how_many_candles if rsi_sliding_window_how_many_candles else sliding_window_how_many_candles).sum()
545
543
  pd_candles['money_flow_ratio'] = pd_candles['positive_flow_sum'] / pd_candles['negative_flow_sum']
546
544
  pd_candles['mfi'] = 100 - (100 / (1 + pd_candles['money_flow_ratio']))
545
+ mfi_buckets = bucket_series(
546
+ values = pd_candles['mfi'].to_list(),
547
+ outlier_threshold_percent=10,
548
+ level_granularity=0.1
549
+ )
550
+ pd_candles['mfi_bucket'] = pd_candles['mfi'].apply(lambda x: bucketize_val(x, buckets=mfi_buckets))
547
551
 
548
552
 
549
553
  # MACD https://www.investopedia.com/terms/m/macd.asp
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siglab_py
3
- Version: 0.5.51
3
+ Version: 0.5.52
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>
@@ -22,12 +22,12 @@ siglab_py/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  siglab_py/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  siglab_py/tests/integration/market_data_util_tests.py,sha256=p-RWIJZLyj0lAdfi4QTIeAttCm_e8mEVWFKh4OWuogU,7189
24
24
  siglab_py/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- siglab_py/tests/unit/analytic_util_tests.py,sha256=K7jtuKJLynW8EFyNgjOVHA2e2d6Gl2f0ONggFy9tD7g,5780
25
+ siglab_py/tests/unit/analytic_util_tests.py,sha256=bYyWExXMxvv4gYVcrBYgSJY1LgIhsxGAslWSY3v-wqw,5807
26
26
  siglab_py/tests/unit/market_data_util_tests.py,sha256=A1y83itISmMJdn6wLpfwcr4tGola8wTf1D1xbelMvgw,2026
27
27
  siglab_py/tests/unit/simple_math_tests.py,sha256=rWqq93W4Vlqmu0UeZCmSOfLirr0gPh2ASVIZ8O77qXY,9653
28
28
  siglab_py/tests/unit/trading_util_tests.py,sha256=LiflZrduWXyLMbpSFQCaydA7jdJx3vFR-3KuKRRGhjQ,2927
29
29
  siglab_py/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- siglab_py/util/analytic_util.py,sha256=2TXBnxoO2dUNtVv_YAq_1zKEuGpVGIWKLyHF0nLd4JU,61697
30
+ siglab_py/util/analytic_util.py,sha256=J1lAMV-DWEPNxvdOS2xdZsR3ahmNUBY7U413BXzWwTU,61907
31
31
  siglab_py/util/aws_util.py,sha256=KGmjHrr1rpnnxr33nXHNzTul4tvyyxl9p6gpwNv0Ygc,2557
32
32
  siglab_py/util/market_data_util.py,sha256=mUXg4uaiX3b6_klgJWIEgnUQU4IUd6CwTOqKLiQWRlU,31307
33
33
  siglab_py/util/notification_util.py,sha256=tNZMUkkjz4q1CKqcQq62oEmZgHgNIwz2Iw9J22V22Zw,2668
@@ -35,7 +35,7 @@ siglab_py/util/retry_util.py,sha256=g-UU6pkPouWZZRZEqP99R2Z0lX5xzckYkzjwqqSDpVQ,
35
35
  siglab_py/util/simple_math.py,sha256=kVBa-h7sH6IrDJOSxd0LtrLAe0ROMiIEg4fc53XO-IA,7416
36
36
  siglab_py/util/slack_notification_util.py,sha256=G27n-adbT3Q6oaHSMvu_Nom794rrda5PprSF-zvmzkM,1912
37
37
  siglab_py/util/trading_util.py,sha256=dlIOzoMGnddLSFODcJ61EBH1Aeruq4IT2MsxIdFkV9I,5252
38
- siglab_py-0.5.51.dist-info/METADATA,sha256=7tXlpFvkoadF0GXl8R22N9rQpFnqDYGKZ_NiN4F7uXg,829
39
- siglab_py-0.5.51.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
40
- siglab_py-0.5.51.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
41
- siglab_py-0.5.51.dist-info/RECORD,,
38
+ siglab_py-0.5.52.dist-info/METADATA,sha256=xvmDhyWOXiKlWhi6fE128qGPnhGmLJpef8NJYnW1068,829
39
+ siglab_py-0.5.52.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
40
+ siglab_py-0.5.52.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
41
+ siglab_py-0.5.52.dist-info/RECORD,,