investing-algorithm-framework 1.5__tar.gz → 1.5.1__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.
Files changed (125) hide show
  1. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/PKG-INFO +1 -1
  2. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/algorithm.py +5 -3
  3. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/order/order.py +13 -1
  4. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework.egg-info/PKG-INFO +1 -1
  5. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/AUTHORS.md +0 -0
  6. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/LICENSE +0 -0
  7. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/README.md +0 -0
  8. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/__init__.py +0 -0
  9. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/__init__.py +0 -0
  10. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/app.py +0 -0
  11. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
  12. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
  13. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
  14. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
  15. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
  16. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
  17. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/strategy.py +0 -0
  18. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/task.py +0 -0
  19. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/__init__.py +0 -0
  20. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
  21. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
  22. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
  23. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
  24. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/create_app.py +0 -0
  25. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/error_handler.py +0 -0
  26. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/responses.py +0 -0
  27. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
  28. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
  29. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
  30. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
  31. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
  32. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
  33. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/create_app.py +0 -0
  34. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/dependency_container.py +0 -0
  35. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/__init__.py +0 -0
  36. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/config.py +0 -0
  37. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/constants.py +0 -0
  38. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
  39. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/exceptions.py +0 -0
  40. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/__init__.py +0 -0
  41. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/backtest_profile.py +0 -0
  42. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/base_model.py +0 -0
  43. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/market_data/__init__.py +0 -0
  44. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/market_data/asset_price.py +0 -0
  45. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/market_data/ohlcv.py +0 -0
  46. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/market_data/order_book.py +0 -0
  47. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/market_data/ticker.py +0 -0
  48. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
  49. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/order/order_fee.py +0 -0
  50. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
  51. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
  52. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
  53. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
  54. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
  55. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +0 -0
  56. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
  57. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
  58. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/position/position.py +0 -0
  59. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
  60. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
  61. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
  62. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
  63. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
  64. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/trade.py +0 -0
  65. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/trading_data_types.py +0 -0
  66. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/models/trading_time_frame.py +0 -0
  67. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/singleton.py +0 -0
  68. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
  69. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/strategy.py +0 -0
  70. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
  71. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/backtesting.py +0 -0
  72. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/csv.py +0 -0
  73. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/random.py +0 -0
  74. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
  75. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
  76. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
  77. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
  78. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
  79. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
  80. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
  81. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
  82. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
  83. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
  84. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
  85. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/order/order_fee.py +0 -0
  86. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
  87. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio.py +0 -0
  88. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
  89. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
  90. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
  91. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
  92. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
  93. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/order_fee_repository.py +0 -0
  94. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
  95. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
  96. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
  97. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
  98. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
  99. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
  100. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
  101. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/services/market_backtest_service.py +0 -0
  102. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/services/market_service.py +0 -0
  103. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/services/performance_backtest_service.py +0 -0
  104. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/infrastructure/services/performance_service.py +0 -0
  105. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/__init__.py +0 -0
  106. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/backtest_service.py +0 -0
  107. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/configuration_service.py +0 -0
  108. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/market_data_service.py +0 -0
  109. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/order_backtest_service.py +0 -0
  110. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/order_service.py +0 -0
  111. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/portfolio_configuration_service.py +0 -0
  112. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/portfolio_service.py +0 -0
  113. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/portfolio_snapshot_service.py +0 -0
  114. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/position_cost_service.py +0 -0
  115. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/position_service.py +0 -0
  116. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/position_snapshot_service.py +0 -0
  117. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/repository_service.py +0 -0
  118. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework/services/strategy_orchestrator_service.py +0 -0
  119. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework.egg-info/SOURCES.txt +0 -0
  120. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework.egg-info/dependency_links.txt +0 -0
  121. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework.egg-info/requires.txt +0 -0
  122. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/investing_algorithm_framework.egg-info/top_level.txt +0 -0
  123. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/setup.cfg +0 -0
  124. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/setup.py +0 -0
  125. {investing_algorithm_framework-1.5 → investing_algorithm_framework-1.5.1}/tests/test_create_app.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: investing_algorithm_framework
3
- Version: 1.5
3
+ Version: 1.5.1
4
4
  Summary: A framework for creating an investment algorithm
5
5
  Home-page: https://github.com/coding-kitties/investing-algorithm-framework.git
6
6
  Download-URL: https://github.com/coding-kitties/investing-algorithm-framework/archive/v0.1.1.tar.gz
@@ -90,7 +90,7 @@ class Algorithm:
90
90
  amount=None,
91
91
  percentage_of_portfolio=None,
92
92
  percentage_of_position=None,
93
- precision=3,
93
+ precision=None,
94
94
  market=None,
95
95
  execute=True,
96
96
  validate=True,
@@ -108,7 +108,6 @@ class Algorithm:
108
108
  net_size = portfolio.get_net_size()
109
109
  size = net_size * percentage_of_portfolio / 100
110
110
  amount = size / price
111
- amount = self.round_down(amount, precision)
112
111
 
113
112
  elif percentage_of_position is not None:
114
113
 
@@ -125,6 +124,9 @@ class Algorithm:
125
124
  )
126
125
  amount = position.get_amount() * (percentage_of_position / 100)
127
126
 
127
+ if precision is not None:
128
+ amount = self.round_down(amount, precision)
129
+
128
130
  order_data = {
129
131
  "target_symbol": target_symbol,
130
132
  "price": price,
@@ -182,7 +184,7 @@ class Algorithm:
182
184
 
183
185
  return self.portfolio_service.find({{"market": market}})
184
186
 
185
- def get_unallocated(self, market=None) -> Position:
187
+ def get_unallocated(self, market=None) -> float:
186
188
 
187
189
  if market:
188
190
  portfolio = self.portfolio_service.find({{"market": market}})
@@ -115,6 +115,10 @@ class Order(BaseModel):
115
115
  self.external_id = external_id
116
116
 
117
117
  def get_net_gain(self):
118
+
119
+ if self.net_gain is None:
120
+ return 0
121
+
118
122
  return self.net_gain
119
123
 
120
124
  def set_net_gain(self, net_gain):
@@ -133,6 +137,10 @@ class Order(BaseModel):
133
137
  self.trade_closed_price = trade_closed_price
134
138
 
135
139
  def get_trade_closed_amount(self):
140
+
141
+ if self.trade_closed_amount is None:
142
+ return 0
143
+
136
144
  return self.trade_closed_amount
137
145
 
138
146
  def set_trade_closed_amount(self, trade_closed_amount):
@@ -163,7 +171,7 @@ class Order(BaseModel):
163
171
  def get_remaining(self):
164
172
 
165
173
  if self.remaining is None:
166
- return '0'
174
+ return self.amount
167
175
 
168
176
  return self.remaining
169
177
 
@@ -171,6 +179,10 @@ class Order(BaseModel):
171
179
  self.remaining = remaining
172
180
 
173
181
  def get_cost(self):
182
+
183
+ if self.cost is None:
184
+ return 0
185
+
174
186
  return self.cost
175
187
 
176
188
  def set_cost(self, cost):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: investing-algorithm-framework
3
- Version: 1.5
3
+ Version: 1.5.1
4
4
  Summary: A framework for creating an investment algorithm
5
5
  Home-page: https://github.com/coding-kitties/investing-algorithm-framework.git
6
6
  Download-URL: https://github.com/coding-kitties/investing-algorithm-framework/archive/v0.1.1.tar.gz