siglab-py 0.1.60__tar.gz → 0.2.0__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.

Files changed (38) hide show
  1. {siglab_py-0.1.60 → siglab_py-0.2.0}/PKG-INFO +1 -1
  2. {siglab_py-0.1.60 → siglab_py-0.2.0}/pyproject.toml +1 -1
  3. {siglab_py-0.1.60 → siglab_py-0.2.0}/setup.cfg +1 -1
  4. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/ordergateway/gateway.py +5 -0
  5. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/ordergateway/test_ordergateway.py +8 -7
  6. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py.egg-info/PKG-INFO +1 -1
  7. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/__init__.py +0 -0
  8. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/constants.py +0 -0
  9. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/exchanges/__init__.py +0 -0
  10. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/exchanges/any_exchange.py +0 -0
  11. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/exchanges/futubull.py +0 -0
  12. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/__init__.py +0 -0
  13. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/aggregated_orderbook_provider.py +0 -0
  14. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/candles_provider.py +0 -0
  15. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/candles_ta_provider.py +0 -0
  16. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/ccxt_candles_ta_to_csv.py +0 -0
  17. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/deribit_options_expiry_provider.py +0 -0
  18. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/futu_candles_ta_to_csv.py +0 -0
  19. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/orderbooks_provider.py +0 -0
  20. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/market_data_providers/test_provider.py +0 -0
  21. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/ordergateway/__init__.py +0 -0
  22. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/ordergateway/client.py +0 -0
  23. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/ordergateway/encrypt_keys_util.py +0 -0
  24. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/tests/__init__.py +0 -0
  25. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/tests/integration/__init__.py +0 -0
  26. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/tests/integration/market_data_util_tests.py +0 -0
  27. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/tests/unit/__init__.py +0 -0
  28. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/tests/unit/analytic_util_tests.py +0 -0
  29. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/tests/unit/market_data_util_tests.py +0 -0
  30. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/util/__init__.py +0 -0
  31. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/util/analytic_util.py +0 -0
  32. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/util/aws_util.py +0 -0
  33. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/util/market_data_util.py +0 -0
  34. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py/util/retry_util.py +0 -0
  35. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py.egg-info/SOURCES.txt +0 -0
  36. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py.egg-info/dependency_links.txt +0 -0
  37. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py.egg-info/requires.txt +0 -0
  38. {siglab_py-0.1.60 → siglab_py-0.2.0}/siglab_py.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siglab_py
3
- Version: 0.1.60
3
+ Version: 0.2.0
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "siglab_py"
7
- version = "0.1.60"
7
+ version = "0.2.00"
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"}
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = siglab_py
3
- version = 0.1.60
3
+ version = 0.2.00
4
4
  description = Market data fetches, TA calculations and generic order gateway.
5
5
  author = r0bbarh00d
6
6
  author_email = r0bbarh00d@gmail.com
@@ -669,6 +669,7 @@ async def execute_one_position(
669
669
  position.dispatched_slices.append(slice)
670
670
 
671
671
  log(f"Executed slice #{i}", log_level=LogLevel.INFO)
672
+ log(f"{json.dumps(slice.to_dict(), indent=4)}")
672
673
  log(f"{position.ticker}, multiplier: {multiplier}, slice_amount_in_base_ccy: {slice_amount_in_base_ccy}, rounded_slice_amount_in_base_ccy, {rounded_slice_amount_in_base_ccy}", log_level=LogLevel.INFO)
673
674
  if position.order_type=='limit':
674
675
  log(f"{position.ticker}, limit_price: {limit_price}, rounded_limit_price, {rounded_limit_price}", log_level=LogLevel.INFO)
@@ -678,6 +679,7 @@ async def execute_one_position(
678
679
  f"Failed to execute #{i} slice: {slice.to_dict()}. {slice_err} {str(sys.exc_info()[0])} {str(sys.exc_info()[1])} {traceback.format_exc()}",
679
680
  log_level=LogLevel.ERROR
680
681
  )
682
+ raise slice_err
681
683
  finally:
682
684
  i += 1
683
685
 
@@ -698,6 +700,9 @@ async def execute_one_position(
698
700
 
699
701
  position.done = True
700
702
 
703
+ log(f"Executions:")
704
+ log(f"{json.dumps(position.get_executions(), indent=4)}")
705
+
701
706
  except Exception as position_execution_err:
702
707
  position.done = False
703
708
  position.execution_err = f"Execution failed: {position_execution_err} {str(sys.exc_info()[0])} {str(sys.exc_info()[1])} {traceback.format_exc()}"
@@ -12,7 +12,7 @@ from constants import JSON_SERIALIZABLE_TYPES
12
12
 
13
13
  '''
14
14
  set PYTHONPATH=%PYTHONPATH%;D:\dev\siglab\siglab_py
15
- python test_ordergateway.py --gateway_id bybit_03
15
+ python test_ordergateway.py --gateway_id hyperliquid_01
16
16
  '''
17
17
 
18
18
  param : Dict[str, str] = {
@@ -91,27 +91,28 @@ if __name__ == '__main__':
91
91
 
92
92
  positions_3 : List[DivisiblePosition] = [
93
93
  DivisiblePosition(
94
- ticker = 'BTC/USDT:USDT',
94
+ ticker = 'BTC/USDC:USDC',
95
95
  side = 'sell',
96
- amount = 0.01,
96
+ amount = 0.00100,
97
97
  leg_room_bps = 5,
98
- reduce_only=False,
98
+ reduce_only=True,
99
99
  order_type = 'limit',
100
100
  slices=1,
101
- wait_fill_threshold_ms=60000
101
+ wait_fill_threshold_ms=60000,
102
+ fees_ccy='USDC'
102
103
  )
103
104
  ]
104
105
 
105
106
 
106
107
  executed_positions : Union[Dict[JSON_SERIALIZABLE_TYPES, JSON_SERIALIZABLE_TYPES], None] = execute_positions(
107
108
  redis_client=redis_client,
108
- positions=positions_2,
109
+ positions=positions_3,
109
110
  ordergateway_pending_orders_topic=ordergateway_pending_orders_topic,
110
111
  ordergateway_executions_topic=ordergateway_executions_topic
111
112
  )
112
113
  if executed_positions:
113
114
  for position in executed_positions:
114
- print(f"{position['ticker']} {position['side']} amount: {position['amount']} leg_room_bps: {position['leg_room_bps']} slices: {position['slices']}, filled_amount: {position['filled_amount']}, average_cost: {position['average_cost']}, # executions: {len(position['executions'])}") # type: ignore
115
+ print(f"{position['ticker']} {position['side']} amount: {position['amount']} leg_room_bps: {position['leg_room_bps']} slices: {position['slices']}, filled_amount: {position['filled_amount']}, average_cost: {position['average_cost']}, # executions: {len(position['executions'])}, done: {position['done']}, execution_err: {position['execution_err']}") # type: ignore
115
116
 
116
117
 
117
118
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siglab-py
3
- Version: 0.1.60
3
+ Version: 0.2.0
4
4
  Summary: Market data fetches, TA calculations and generic order gateway.
5
5
  Author: r0bbarh00d
6
6
  Author-email: r0bbarh00d <r0bbarh00d@gmail.com>