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

@@ -31,6 +31,13 @@ from util.notification_util import dispatch_notification
31
31
 
32
32
  current_filename = os.path.basename(__file__)
33
33
 
34
+ '''
35
+ Error: RuntimeError: aiodns needs a SelectorEventLoop on Windows.
36
+ Hack, by far the filthest hack I done in my career: Set SelectorEventLoop on Windows
37
+ '''
38
+ if sys.platform == 'win32':
39
+ asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
40
+
34
41
  '''
35
42
  Usage:
36
43
  set PYTHONPATH=%PYTHONPATH%;D:\dev\siglab\siglab_py
@@ -78,13 +78,13 @@ if __name__ == '__main__':
78
78
 
79
79
  positions_2 : List[DivisiblePosition] = [
80
80
  DivisiblePosition(
81
- ticker = 'SUSHI/USDC:USDC',
81
+ ticker = 'SUSHI/USDT:USDT',
82
82
  side = 'buy',
83
- amount = 20,
84
- leg_room_bps = -5,
83
+ amount = 10,
84
+ leg_room_bps = 5,
85
85
  reduce_only=False,
86
86
  order_type = 'limit',
87
- slices=1,
87
+ slices=5,
88
88
  wait_fill_threshold_ms=15000
89
89
  ),
90
90
  ]
@@ -106,7 +106,7 @@ if __name__ == '__main__':
106
106
 
107
107
  executed_positions : Union[Dict[JSON_SERIALIZABLE_TYPES, JSON_SERIALIZABLE_TYPES], None] = execute_positions(
108
108
  redis_client=redis_client,
109
- positions=positions_2,
109
+ positions=positions_3,
110
110
  ordergateway_pending_orders_topic=ordergateway_pending_orders_topic,
111
111
  ordergateway_executions_topic=ordergateway_executions_topic
112
112
  )
@@ -5,6 +5,10 @@ from pathlib import Path
5
5
 
6
6
  from util.trading_util import *
7
7
 
8
+ '''
9
+ Have a look at this for a visual explaination how "Gradually tightened stops" works:
10
+ https://github.com/r0bbar/siglab/blob/master/siglab_py/tests/manual/trading_util_tests.ipynb
11
+ '''
8
12
 
9
13
  # @unittest.skip("Skip all integration tests.")
10
14
  class TradingUtilTests(unittest.TestCase):
@@ -49,6 +49,9 @@ What's 'loss_trailing'? 'loss_trailing' is essentially pnl drop from max_unreali
49
49
  unrealized_pnl_live = $40
50
50
  max_unrealized_pnl_live = $100
51
51
  loss_trailing = (1 - unrealized_pnl_live/max_unrealized_pnl_live) = (1-40/100) = 0.6 (Or 60%)
52
+
53
+ Have a look at this for a visual explaination how "Gradually tightened stops" works:
54
+ https://github.com/r0bbar/siglab/blob/master/siglab_py/tests/manual/trading_util_tests.ipynb
52
55
  '''
53
56
  def calc_eff_trailing_sl(
54
57
  tp_min_percent : float,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siglab-py
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>
@@ -15,15 +15,15 @@ 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=LvtrYirrdFOcKgTkvuqwdEN7r3nurjX320ESnk7tHE0,15095
17
17
  siglab_py/ordergateway/encrypt_keys_util.py,sha256=-qi87db8To8Yf1WS1Q_Cp2Ya7ZqgWlRqSHfNXCM7wE4,1339
18
- siglab_py/ordergateway/gateway.py,sha256=nuBZ6R-DpCYXjajuO3R1odYCxj7RK3GKkKTlKvIlemQ,43630
19
- siglab_py/ordergateway/test_ordergateway.py,sha256=baWXyryoIbzBAsj9kFauBZrS0mGg-TiDlPZ0jlz4fc8,4010
18
+ siglab_py/ordergateway/gateway.py,sha256=Z-BQ-Z9gXoNrKQHzRIy9R1mnCybf9QwWhHpqkSI7bBM,43901
19
+ siglab_py/ordergateway/test_ordergateway.py,sha256=4PE2flp_soGcD3DrI7zJOzZndjkb6I5XaDrFNNq4Huo,4009
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
22
  siglab_py/tests/integration/market_data_util_tests.py,sha256=p-RWIJZLyj0lAdfi4QTIeAttCm_e8mEVWFKh4OWuogU,7189
23
23
  siglab_py/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  siglab_py/tests/unit/analytic_util_tests.py,sha256=eeusM5zkQR2QyVhT7nqF0mwHVg7vlxwtgv2JnLqwQgY,3852
25
25
  siglab_py/tests/unit/market_data_util_tests.py,sha256=A1y83itISmMJdn6wLpfwcr4tGola8wTf1D1xbelMvgw,2026
26
- siglab_py/tests/unit/trading_util_tests.py,sha256=tyefqOTQOoXSlemSDonqmdHp61-1nuXb0_6oeLlaNSM,2689
26
+ siglab_py/tests/unit/trading_util_tests.py,sha256=664pnAwhdwfRI21ktPpuAxNydz6XtxBrU_Dm1rTGquQ,2883
27
27
  siglab_py/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  siglab_py/util/analytic_util.py,sha256=blFJ1kY_aSJeuzzk28vdB4nhLgmosz0L8IJaJCZy9OM,47272
29
29
  siglab_py/util/aws_util.py,sha256=KGmjHrr1rpnnxr33nXHNzTul4tvyyxl9p6gpwNv0Ygc,2557
@@ -31,8 +31,8 @@ siglab_py/util/market_data_util.py,sha256=mUXg4uaiX3b6_klgJWIEgnUQU4IUd6CwTOqKLi
31
31
  siglab_py/util/notification_util.py,sha256=vySgHjpHgwFDLW0tHSi_AGh9JBbPc25IUgvWxmjAeT8,2658
32
32
  siglab_py/util/retry_util.py,sha256=g-UU6pkPouWZZRZEqP99R2Z0lX5xzckYkzjwqqSDpVQ,922
33
33
  siglab_py/util/slack_notification_util.py,sha256=G27n-adbT3Q6oaHSMvu_Nom794rrda5PprSF-zvmzkM,1912
34
- siglab_py/util/trading_util.py,sha256=FmqsamuPhMjZUkz4lCyuE8MHFapXn6yNl8Isy7peQEs,3047
35
- siglab_py-0.5.1.dist-info/METADATA,sha256=jsfb63sR-j-VopP5YgmpCEjPMj5Xk8V0n6qIcLIAgt4,979
36
- siglab_py-0.5.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
37
- siglab_py-0.5.1.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
38
- siglab_py-0.5.1.dist-info/RECORD,,
34
+ siglab_py/util/trading_util.py,sha256=Z-sK4cTi-5rIXYVgmIMgOWlIaxcCEX1lXlCKTweg6-U,3233
35
+ siglab_py-0.5.2.dist-info/METADATA,sha256=yL1RdzFxrjYNgzdB18G-XtbaM-HLC0NWeWcqXLws6Vw,979
36
+ siglab_py-0.5.2.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
37
+ siglab_py-0.5.2.dist-info/top_level.txt,sha256=AbD4VR9OqmMOGlMJLkAVPGQMtUPIQv0t1BF5xmcLJSk,10
38
+ siglab_py-0.5.2.dist-info/RECORD,,