siglab-py 0.5.60__tar.gz → 0.5.61__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.60 → siglab_py-0.5.61}/PKG-INFO +1 -1
- {siglab_py-0.5.60 → siglab_py-0.5.61}/pyproject.toml +1 -1
- {siglab_py-0.5.60 → siglab_py-0.5.61}/setup.cfg +1 -1
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/simple_math.py +16 -1
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py.egg-info/PKG-INFO +1 -1
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/constants.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/exchanges/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/exchanges/any_exchange.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/exchanges/futubull.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/candles_provider.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/test_provider.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/tg_monitor.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/ordergateway/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/ordergateway/client.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/ordergateway/gateway.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/ordergateway/test_ordergateway.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/integration/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/unit/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/unit/analytic_util_tests.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/unit/simple_math_tests.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/tests/unit/trading_util_tests.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/__init__.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/analytic_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/aws_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/market_data_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/notification_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/retry_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/slack_notification_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/util/trading_util.py +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py.egg-info/SOURCES.txt +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py.egg-info/dependency_links.txt +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py.egg-info/requires.txt +0 -0
- {siglab_py-0.5.60 → siglab_py-0.5.61}/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.61"
|
|
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"}
|
|
@@ -36,7 +36,7 @@ def round_to_level(
|
|
|
36
36
|
level_granularity : float = 0.01
|
|
37
37
|
) -> float:
|
|
38
38
|
level_size = num * level_granularity
|
|
39
|
-
magnitude = math.floor(math.log10(level_size))
|
|
39
|
+
magnitude = math.floor(math.log10(abs(level_size)))
|
|
40
40
|
base_increment = 10 ** magnitude
|
|
41
41
|
rounded_level_size = round(level_size / base_increment) * base_increment
|
|
42
42
|
rounded_num = round(num / rounded_level_size) * rounded_level_size
|
|
@@ -56,8 +56,23 @@ def bucket_series(
|
|
|
56
56
|
] = {}
|
|
57
57
|
list_0_to_1 : bool = True if len([x for x in values if x<0 or x>1])/len(values)*100 <= outlier_threshold_percent else False
|
|
58
58
|
list_m1_to_1 : bool = True if len([x for x in values if x<-1 or x>1])/len(values)*100 <= outlier_threshold_percent else False
|
|
59
|
+
|
|
59
60
|
list_0_to_100 : bool = True if len([x for x in values if x<0 or x>100])/len(values)*100 <= outlier_threshold_percent else False
|
|
61
|
+
if (
|
|
62
|
+
list_0_to_100
|
|
63
|
+
and (
|
|
64
|
+
not min(values)<100*(outlier_threshold_percent/100) or not max(values)>100*(1-outlier_threshold_percent/100)
|
|
65
|
+
)
|
|
66
|
+
):
|
|
67
|
+
list_0_to_100 = False
|
|
60
68
|
list_m100_to_100 : bool = True if len([x for x in values if x<-100 or x>100])/len(values)*100 <= outlier_threshold_percent else False
|
|
69
|
+
if (
|
|
70
|
+
list_m100_to_100
|
|
71
|
+
and (
|
|
72
|
+
not min(values)<-100*(1-outlier_threshold_percent/100) or not max(values)>100*(1-outlier_threshold_percent/100)
|
|
73
|
+
)
|
|
74
|
+
):
|
|
75
|
+
list_m100_to_100 = False
|
|
61
76
|
|
|
62
77
|
def _generate_sequence(start, stop, step):
|
|
63
78
|
result = []
|
|
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.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/candles_ta_provider.py
RENAMED
|
File without changes
|
{siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py
RENAMED
|
File without changes
|
|
File without changes
|
{siglab_py-0.5.60 → siglab_py-0.5.61}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py
RENAMED
|
File without changes
|
{siglab_py-0.5.60 → siglab_py-0.5.61}/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
|
|
File without changes
|
|
File without changes
|