siglab-py 0.5.18__tar.gz → 0.5.19__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.
- {siglab_py-0.5.18 → siglab_py-0.5.19}/PKG-INFO +1 -1
- {siglab_py-0.5.18 → siglab_py-0.5.19}/pyproject.toml +1 -1
- {siglab_py-0.5.18 → siglab_py-0.5.19}/setup.cfg +1 -1
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/analytic_util.py +8 -7
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py.egg-info/PKG-INFO +1 -1
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/constants.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/exchanges/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/exchanges/any_exchange.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/exchanges/futubull.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/candles_provider.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/test_provider.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/tg_monitor.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/ordergateway/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/ordergateway/client.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/ordergateway/gateway.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/ordergateway/test_ordergateway.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/integration/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/unit/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/unit/analytic_util_tests.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/tests/unit/trading_util_tests.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/__init__.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/aws_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/market_data_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/notification_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/retry_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/slack_notification_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/util/trading_util.py +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py.egg-info/SOURCES.txt +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py.egg-info/dependency_links.txt +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py.egg-info/requires.txt +0 -0
- {siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "siglab_py"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.19"
|
|
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"}
|
|
@@ -83,7 +83,8 @@ def compute_candles_stats(
|
|
|
83
83
|
rsi_ema : bool = True,
|
|
84
84
|
boillenger_ema : bool = False,
|
|
85
85
|
slow_fast_interval_ratio : float = 3,
|
|
86
|
-
rsi_sliding_window_how_many_candles :
|
|
86
|
+
rsi_sliding_window_how_many_candles : int = 14, # RSI standard 14
|
|
87
|
+
rsi_trend_sliding_window_how_many_candles : int = 24*7, # This is for purpose of RSI trend identification (Locating local peaks/troughs in RSI). This should typically be multiples of 'rsi_sliding_window_how_many_candles'.
|
|
87
88
|
hurst_exp_window_how_many_candles : Union[int, None] = None, # Hurst exp standard 100-200
|
|
88
89
|
boillenger_std_multiples_for_aggressive_moves_detect : int = 3, # Aggressive moves if candle low/high breaches boillenger bands from 3 standard deviations.
|
|
89
90
|
target_fib_level : float = 0.618,
|
|
@@ -346,9 +347,9 @@ def compute_candles_stats(
|
|
|
346
347
|
if rsi_ema == True:
|
|
347
348
|
# Use exponential moving average
|
|
348
349
|
lo_ma_up = lo_up.ewm(
|
|
349
|
-
com =
|
|
350
|
+
com = rsi_sliding_window_how_many_candles -1,
|
|
350
351
|
adjust=True,
|
|
351
|
-
min_periods = rsi_sliding_window_how_many_candles
|
|
352
|
+
min_periods = rsi_sliding_window_how_many_candles).mean()
|
|
352
353
|
lo_ma_down = lo_down.ewm(
|
|
353
354
|
com = (rsi_sliding_window_how_many_candles if rsi_sliding_window_how_many_candles else sliding_window_how_many_candles) - 1,
|
|
354
355
|
adjust=True,
|
|
@@ -356,16 +357,16 @@ def compute_candles_stats(
|
|
|
356
357
|
|
|
357
358
|
else:
|
|
358
359
|
# Use simple moving average
|
|
359
|
-
lo_ma_up = lo_up.rolling(window = rsi_sliding_window_how_many_candles
|
|
360
|
-
lo_ma_down = lo_down.rolling(window = rsi_sliding_window_how_many_candles
|
|
360
|
+
lo_ma_up = lo_up.rolling(window = rsi_sliding_window_how_many_candles).mean()
|
|
361
|
+
lo_ma_down = lo_down.rolling(window = rsi_sliding_window_how_many_candles).mean()
|
|
361
362
|
|
|
362
363
|
lo_rs = lo_ma_up / lo_ma_down
|
|
363
364
|
pd_candles.loc[:,'rsi'] = 100 - (100/(1 + lo_rs))
|
|
364
365
|
pd_candles['ema_rsi'] = pd_candles['rsi'].ewm(
|
|
365
|
-
span=rsi_sliding_window_how_many_candles
|
|
366
|
+
span=rsi_sliding_window_how_many_candles,
|
|
366
367
|
adjust=False).mean()
|
|
367
368
|
|
|
368
|
-
rsi_rolling = pd_candles['rsi'].rolling(window=int(
|
|
369
|
+
rsi_rolling = pd_candles['rsi'].rolling(window=int(rsi_trend_sliding_window_how_many_candles))
|
|
369
370
|
pd_candles['rsi_max'] = rsi_rolling.max()
|
|
370
371
|
pd_candles['rsi_idmax'] = rsi_rolling.apply(lambda x : x.idxmax())
|
|
371
372
|
pd_candles['rsi_min'] = rsi_rolling.min()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/candles_ta_provider.py
RENAMED
|
File without changes
|
{siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py
RENAMED
|
File without changes
|
|
File without changes
|
{siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py
RENAMED
|
File without changes
|
{siglab_py-0.5.18 → siglab_py-0.5.19}/siglab_py/market_data_providers/orderbooks_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|