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.
- {siglab_py-0.5.63 → siglab_py-0.5.66}/PKG-INFO +1 -1
- {siglab_py-0.5.63 → siglab_py-0.5.66}/pyproject.toml +1 -1
- {siglab_py-0.5.63 → siglab_py-0.5.66}/setup.cfg +1 -1
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/analytic_util.py +2 -13
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/simple_math.py +20 -4
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/PKG-INFO +1 -1
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/constants.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/exchanges/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/exchanges/any_exchange.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/exchanges/futubull.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/candles_provider.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/test_provider.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/tg_monitor.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/client.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/gateway.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/ordergateway/test_ordergateway.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/integration/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/analytic_util_tests.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/simple_math_tests.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/tests/unit/trading_util_tests.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/__init__.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/aws_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/market_data_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/notification_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/retry_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/slack_notification_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/util/trading_util.py +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/SOURCES.txt +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/dependency_links.txt +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py.egg-info/requires.txt +0 -0
- {siglab_py-0.5.63 → siglab_py-0.5.66}/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.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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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"),
|
|
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.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/candles_ta_provider.py
RENAMED
|
File without changes
|
{siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py
RENAMED
|
File without changes
|
|
File without changes
|
{siglab_py-0.5.63 → siglab_py-0.5.66}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py
RENAMED
|
File without changes
|
{siglab_py-0.5.63 → siglab_py-0.5.66}/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
|