siglab-py 0.1.52__py3-none-any.whl → 0.1.53__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.
- siglab_py/ordergateway/gateway.py +5 -1
- siglab_py/tests/integration/market_data_util_tests.py +1 -1
- siglab_py/util/market_data_util.py +6 -0
- {siglab_py-0.1.52.dist-info → siglab_py-0.1.53.dist-info}/METADATA +1 -1
- {siglab_py-0.1.52.dist-info → siglab_py-0.1.53.dist-info}/RECORD +7 -7
- {siglab_py-0.1.52.dist-info → siglab_py-0.1.53.dist-info}/WHEEL +0 -0
- {siglab_py-0.1.52.dist-info → siglab_py-0.1.53.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import sys
|
|
2
2
|
import traceback
|
|
3
3
|
import os
|
|
4
|
+
import random
|
|
4
5
|
from dotenv import load_dotenv
|
|
5
6
|
from enum import Enum
|
|
6
7
|
import argparse
|
|
@@ -185,6 +186,7 @@ param : Dict = {
|
|
|
185
186
|
|
|
186
187
|
"default_fees_ccy" : None,
|
|
187
188
|
"loop_freq_ms" : 500, # reduce this if you need trade faster
|
|
189
|
+
"loops_random_delay_multiplier" : 1, # Add randomness to time between slices are sent off. Set to 1 if no random delay needed.
|
|
188
190
|
|
|
189
191
|
'mds' : {
|
|
190
192
|
'topics' : {
|
|
@@ -605,7 +607,9 @@ async def execute_one_position(
|
|
|
605
607
|
log(f"Limit order fully filled: {order_id}", log_level=LogLevel.INFO)
|
|
606
608
|
break
|
|
607
609
|
|
|
608
|
-
|
|
610
|
+
loops_random_delay_multiplier : int = random.randint(1, param['loops_random_delay_multiplier']) if param['loops_random_delay_multiplier']!=1 else 1
|
|
611
|
+
loop_freq_sec : int = int(param['loop_freq_ms']/1000)
|
|
612
|
+
await asyncio.sleep(loop_freq_sec * loops_random_delay_multiplier)
|
|
609
613
|
|
|
610
614
|
|
|
611
615
|
# Cancel hung limit order, resend as market
|
|
@@ -377,6 +377,9 @@ def _fetch_candles(
|
|
|
377
377
|
|
|
378
378
|
return candles
|
|
379
379
|
|
|
380
|
+
if end_ts>datetime.now().timestamp():
|
|
381
|
+
end_ts = int(datetime.now().timestamp())
|
|
382
|
+
|
|
380
383
|
all_candles = []
|
|
381
384
|
params = {}
|
|
382
385
|
this_cutoff = start_ts
|
|
@@ -391,6 +394,9 @@ def _fetch_candles(
|
|
|
391
394
|
record_ts = int(int(record_ts_str)/1000) # Convert from milli-seconds to seconds
|
|
392
395
|
|
|
393
396
|
this_cutoff = record_ts + 1
|
|
397
|
+
else:
|
|
398
|
+
this_cutoff += 1
|
|
399
|
+
|
|
394
400
|
columns = ['exchange', 'symbol', 'timestamp_ms', 'open', 'high', 'low', 'close', 'volume']
|
|
395
401
|
pd_all_candles = pd.DataFrame([ [ exchange.name, symbol, x[0], x[1], x[2], x[3], x[4], x[5] ] for x in all_candles], columns=columns)
|
|
396
402
|
fix_column_types(pd_all_candles)
|
|
@@ -15,20 +15,20 @@ siglab_py/market_data_providers/test_provider.py,sha256=wBLCgcWjs7FGZJXWsNyn30lk
|
|
|
15
15
|
siglab_py/ordergateway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
siglab_py/ordergateway/client.py,sha256=EwoVKxEcngIs8-b4MThPBdZfFIWJg1OFAKG9bwC5BYw,14826
|
|
17
17
|
siglab_py/ordergateway/encrypt_keys_util.py,sha256=-qi87db8To8Yf1WS1Q_Cp2Ya7ZqgWlRqSHfNXCM7wE4,1339
|
|
18
|
-
siglab_py/ordergateway/gateway.py,sha256=
|
|
18
|
+
siglab_py/ordergateway/gateway.py,sha256=9D70r6KsgrUo70m_jtt2zG5UUq4w2TTXuEmSfuykDhI,38969
|
|
19
19
|
siglab_py/ordergateway/test_ordergateway.py,sha256=_Gz2U_VqljogGWqGyNDYYls1INqUiig9veyPttfGRpg,3901
|
|
20
20
|
siglab_py/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
siglab_py/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
siglab_py/tests/integration/market_data_util_tests.py,sha256=
|
|
22
|
+
siglab_py/tests/integration/market_data_util_tests.py,sha256=xzvZeU3QnXmDF4S90uujy11PbdEx0IOAHy0sIlLuByU,7173
|
|
23
23
|
siglab_py/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
siglab_py/tests/unit/analytic_util_tests.py,sha256=BzT__hxfqXMRAKvqtYDVYNrcMGGDF3-gFoXhxiJ0Lew,3703
|
|
25
25
|
siglab_py/tests/unit/market_data_util_tests.py,sha256=A1y83itISmMJdn6wLpfwcr4tGola8wTf1D1xbelMvgw,2026
|
|
26
26
|
siglab_py/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
siglab_py/util/analytic_util.py,sha256=xo9gD1ELQt_1v84yu9d4NgxtOIXthePZGipvDrjZAQ8,43834
|
|
28
28
|
siglab_py/util/aws_util.py,sha256=KGmjHrr1rpnnxr33nXHNzTul4tvyyxl9p6gpwNv0Ygc,2557
|
|
29
|
-
siglab_py/util/market_data_util.py,sha256=
|
|
29
|
+
siglab_py/util/market_data_util.py,sha256=7E7x0qpG6Zg947tZ-o6DicPMiTOsoNw9OyKQW5Z0XAw,19628
|
|
30
30
|
siglab_py/util/retry_util.py,sha256=mxYuRFZRZoaQQjENcwPmxhxixtd1TFvbxIdPx4RwfRc,743
|
|
31
|
-
siglab_py-0.1.
|
|
32
|
-
siglab_py-0.1.
|
|
33
|
-
siglab_py-0.1.
|
|
34
|
-
siglab_py-0.1.
|
|
31
|
+
siglab_py-0.1.53.dist-info/METADATA,sha256=OwrYYh4lRZ68SuXup5SJvQPB4loxRS6gGO9IeS3gS-k,980
|
|
32
|
+
siglab_py-0.1.53.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
33
|
+
siglab_py-0.1.53.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
|
|
34
|
+
siglab_py-0.1.53.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|