wbportfolio 1.49.6__tar.gz → 1.59.3__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 wbportfolio might be problematic. Click here for more details.

Files changed (832) hide show
  1. wbportfolio-1.59.3/.gitignore +180 -0
  2. wbportfolio-1.59.3/PKG-INFO +26 -0
  3. wbportfolio-1.59.3/pyproject.toml +57 -0
  4. wbportfolio-1.59.3/wbportfolio/admin/__init__.py +14 -0
  5. wbportfolio-1.59.3/wbportfolio/admin/indexes.py +15 -0
  6. wbportfolio-1.59.3/wbportfolio/admin/orders/__init__.py +2 -0
  7. wbportfolio-1.59.3/wbportfolio/admin/orders/order_proposals.py +16 -0
  8. wbportfolio-1.59.3/wbportfolio/admin/orders/orders.py +32 -0
  9. wbportfolio-1.59.3/wbportfolio/admin/portfolio.py +138 -0
  10. wbportfolio-1.59.3/wbportfolio/admin/product_groups.py +44 -0
  11. wbportfolio-1.59.3/wbportfolio/admin/products.py +82 -0
  12. wbportfolio-1.59.3/wbportfolio/admin/rebalancing.py +26 -0
  13. wbportfolio-1.59.3/wbportfolio/admin/transactions/__init__.py +4 -0
  14. wbportfolio-1.59.3/wbportfolio/admin/transactions/dividends.py +51 -0
  15. wbportfolio-1.59.3/wbportfolio/admin/transactions/fees.py +46 -0
  16. wbportfolio-1.59.3/wbportfolio/admin/transactions/trades.py +57 -0
  17. wbportfolio-1.59.3/wbportfolio/analysis/claims.py +241 -0
  18. wbportfolio-1.59.3/wbportfolio/api_clients/ubs.py +162 -0
  19. wbportfolio-1.59.3/wbportfolio/constants.py +1 -0
  20. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/configs/display.py +194 -0
  21. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/configs/previews.py +37 -0
  22. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/filters.py +127 -0
  23. {wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/tests → wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/migrations}/__init__.py +0 -0
  24. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/models.py +361 -0
  25. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/scripts.py +81 -0
  26. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/serializers.py +313 -0
  27. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/tasks.py +34 -0
  28. {wbportfolio-1.49.6/wbportfolio/defaults → wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/tests}/__init__.py +0 -0
  29. wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio/tests/conftest.py +149 -0
  30. wbportfolio-1.59.3/wbportfolio/defaults/fees/default.py +85 -0
  31. wbportfolio-1.59.3/wbportfolio/factories/__init__.py +27 -0
  32. wbportfolio-1.59.3/wbportfolio/factories/assets.py +81 -0
  33. wbportfolio-1.59.3/wbportfolio/factories/dividends.py +21 -0
  34. wbportfolio-1.59.3/wbportfolio/factories/fees.py +20 -0
  35. wbportfolio-1.59.3/wbportfolio/factories/orders/__init__.py +2 -0
  36. wbportfolio-1.59.3/wbportfolio/factories/orders/order_proposals.py +21 -0
  37. wbportfolio-1.59.3/wbportfolio/factories/orders/orders.py +34 -0
  38. wbportfolio-1.59.3/wbportfolio/factories/portfolio_cash_targets.py +16 -0
  39. wbportfolio-1.59.3/wbportfolio/factories/portfolio_swing_pricings.py +16 -0
  40. wbportfolio-1.59.3/wbportfolio/factories/portfolios.py +51 -0
  41. wbportfolio-1.59.3/wbportfolio/factories/product_groups.py +36 -0
  42. wbportfolio-1.59.3/wbportfolio/factories/products.py +75 -0
  43. wbportfolio-1.59.3/wbportfolio/factories/rebalancing.py +23 -0
  44. wbportfolio-1.59.3/wbportfolio/factories/trades.py +36 -0
  45. wbportfolio-1.59.3/wbportfolio/filters/__init__.py +33 -0
  46. wbportfolio-1.59.3/wbportfolio/filters/assets.py +504 -0
  47. wbportfolio-1.59.3/wbportfolio/filters/assets_and_net_new_money_progression.py +43 -0
  48. wbportfolio-1.59.3/wbportfolio/filters/esg.py +23 -0
  49. wbportfolio-1.59.3/wbportfolio/filters/orders/__init__.py +2 -0
  50. wbportfolio-1.59.3/wbportfolio/filters/orders/order_proposals.py +55 -0
  51. wbportfolio-1.59.3/wbportfolio/filters/orders/orders.py +11 -0
  52. wbportfolio-1.59.3/wbportfolio/filters/performances.py +172 -0
  53. wbportfolio-1.59.3/wbportfolio/filters/portfolios.py +81 -0
  54. wbportfolio-1.59.3/wbportfolio/filters/positions.py +185 -0
  55. wbportfolio-1.59.3/wbportfolio/filters/products.py +154 -0
  56. wbportfolio-1.59.3/wbportfolio/filters/roles.py +27 -0
  57. wbportfolio-1.59.3/wbportfolio/filters/signals.py +73 -0
  58. wbportfolio-1.59.3/wbportfolio/filters/transactions/__init__.py +20 -0
  59. wbportfolio-1.59.3/wbportfolio/filters/transactions/claim.py +443 -0
  60. wbportfolio-1.59.3/wbportfolio/filters/transactions/fees.py +61 -0
  61. wbportfolio-1.59.3/wbportfolio/filters/transactions/trades.py +253 -0
  62. wbportfolio-1.59.3/wbportfolio/filters/transactions/utils.py +42 -0
  63. wbportfolio-1.59.3/wbportfolio/import_export/backends/ubs/__init__.py +4 -0
  64. wbportfolio-1.59.3/wbportfolio/import_export/backends/ubs/asset_position.py +44 -0
  65. wbportfolio-1.59.3/wbportfolio/import_export/backends/ubs/fees.py +53 -0
  66. wbportfolio-1.59.3/wbportfolio/import_export/backends/ubs/instrument_price.py +44 -0
  67. wbportfolio-1.59.3/wbportfolio/import_export/backends/ubs/trade.py +48 -0
  68. wbportfolio-1.59.3/wbportfolio/import_export/backends/utils.py +41 -0
  69. wbportfolio-1.59.3/wbportfolio/import_export/handlers/asset_position.py +182 -0
  70. wbportfolio-1.59.3/wbportfolio/import_export/handlers/dividend.py +90 -0
  71. wbportfolio-1.59.3/wbportfolio/import_export/handlers/fees.py +56 -0
  72. wbportfolio-1.59.3/wbportfolio/import_export/handlers/orders.py +71 -0
  73. wbportfolio-1.59.3/wbportfolio/import_export/handlers/trade.py +210 -0
  74. wbportfolio-1.59.3/wbportfolio/import_export/parsers/default_mapping.py +30 -0
  75. wbportfolio-1.59.3/wbportfolio/import_export/parsers/jpmorgan/customer_trade.py +71 -0
  76. wbportfolio-1.59.3/wbportfolio/import_export/parsers/jpmorgan/fees.py +64 -0
  77. wbportfolio-1.59.3/wbportfolio/import_export/parsers/jpmorgan/strategy.py +91 -0
  78. wbportfolio-1.59.3/wbportfolio/import_export/parsers/jpmorgan/valuation.py +40 -0
  79. wbportfolio-1.59.3/wbportfolio/import_export/parsers/leonteq/customer_trade.py +48 -0
  80. wbportfolio-1.59.3/wbportfolio/import_export/parsers/leonteq/equity.py +79 -0
  81. wbportfolio-1.59.3/wbportfolio/import_export/parsers/leonteq/fees.py +73 -0
  82. wbportfolio-1.59.3/wbportfolio/import_export/parsers/leonteq/trade.py +91 -0
  83. wbportfolio-1.59.3/wbportfolio/import_export/parsers/leonteq/valuation.py +37 -0
  84. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/customer_trade.py +59 -0
  85. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/d1_customer_trade.py +66 -0
  86. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/d1_equity.py +73 -0
  87. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/d1_fees.py +57 -0
  88. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/d1_trade.py +62 -0
  89. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/d1_valuation.py +39 -0
  90. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/dividend.py +48 -0
  91. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/equity.py +78 -0
  92. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/fees.py +48 -0
  93. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/trade.py +64 -0
  94. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/utils.py +67 -0
  95. wbportfolio-1.59.3/wbportfolio/import_export/parsers/natixis/valuation.py +45 -0
  96. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/customer_trade_pending_slk.py +141 -0
  97. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/customer_trade_slk.py +95 -0
  98. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/equity.py +160 -0
  99. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/fees.py +56 -0
  100. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/perf_fees.py +48 -0
  101. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/registers.py +215 -0
  102. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/sylk.py +249 -0
  103. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/utils.py +36 -0
  104. wbportfolio-1.59.3/wbportfolio/import_export/parsers/sg_lux/valuation.py +54 -0
  105. wbportfolio-1.59.3/wbportfolio/import_export/parsers/societe_generale/customer_trade.py +56 -0
  106. wbportfolio-1.59.3/wbportfolio/import_export/parsers/societe_generale/strategy.py +93 -0
  107. wbportfolio-1.59.3/wbportfolio/import_export/parsers/societe_generale/valuation.py +37 -0
  108. wbportfolio-1.59.3/wbportfolio/import_export/parsers/tellco/customer_trade.py +63 -0
  109. wbportfolio-1.59.3/wbportfolio/import_export/parsers/tellco/equity.py +86 -0
  110. wbportfolio-1.59.3/wbportfolio/import_export/parsers/tellco/valuation.py +51 -0
  111. wbportfolio-1.59.3/wbportfolio/import_export/parsers/ubs/api/fees.py +29 -0
  112. wbportfolio-1.59.3/wbportfolio/import_export/parsers/ubs/api/trade.py +39 -0
  113. wbportfolio-1.59.3/wbportfolio/import_export/parsers/ubs/customer_trade.py +57 -0
  114. wbportfolio-1.59.3/wbportfolio/import_export/parsers/ubs/equity.py +96 -0
  115. wbportfolio-1.59.3/wbportfolio/import_export/parsers/ubs/historical_customer_trade.py +49 -0
  116. wbportfolio-1.59.3/wbportfolio/import_export/parsers/ubs/valuation.py +53 -0
  117. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/customer_trade.py +54 -0
  118. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/historical_customer_trade.py +40 -0
  119. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/instrument.py +34 -0
  120. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/management_fees.py +77 -0
  121. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/performance_fees.py +32 -0
  122. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/trade.py +37 -0
  123. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/utils.py +5 -0
  124. wbportfolio-1.59.3/wbportfolio/import_export/parsers/vontobel/valuation_api.py +26 -0
  125. wbportfolio-1.59.3/wbportfolio/import_export/resources/trades.py +55 -0
  126. wbportfolio-1.59.3/wbportfolio/import_export/utils.py +44 -0
  127. wbportfolio-1.59.3/wbportfolio/jinja2/wbportfolio/sql/aum_nnm.sql +119 -0
  128. wbportfolio-1.59.3/wbportfolio/locale/de/LC_MESSAGES/django.mo +0 -0
  129. wbportfolio-1.59.3/wbportfolio/locale/de/LC_MESSAGES/django.po +196 -0
  130. wbportfolio-1.59.3/wbportfolio/locale/en/LC_MESSAGES/django.mo +0 -0
  131. wbportfolio-1.59.3/wbportfolio/locale/en/LC_MESSAGES/django.po +195 -0
  132. wbportfolio-1.59.3/wbportfolio/locale/fr/LC_MESSAGES/django.mo +0 -0
  133. wbportfolio-1.59.3/wbportfolio/locale/fr/LC_MESSAGES/django.po +196 -0
  134. wbportfolio-1.59.3/wbportfolio/metric/backends/base.py +75 -0
  135. wbportfolio-1.59.3/wbportfolio/migrations/0059_fees_unique_fees.py +51 -0
  136. wbportfolio-1.59.3/wbportfolio/migrations/0077_remove_transaction_currency_and_more.py +622 -0
  137. wbportfolio-1.59.3/wbportfolio/migrations/0078_trade_drift_factor.py +26 -0
  138. wbportfolio-1.59.3/wbportfolio/migrations/0079_alter_trade_drift_factor.py +19 -0
  139. wbportfolio-1.59.3/wbportfolio/migrations/0080_alter_trade_drift_factor_alter_trade_weighting.py +19 -0
  140. wbportfolio-1.59.3/wbportfolio/migrations/0081_alter_trade_drift_factor.py +19 -0
  141. wbportfolio-1.59.3/wbportfolio/migrations/0082_remove_tradeproposal_creator_and_more.py +93 -0
  142. wbportfolio-1.59.3/wbportfolio/migrations/0083_order_alter_trade_options_and_more.py +181 -0
  143. wbportfolio-1.59.3/wbportfolio/migrations/0084_orderproposal_min_order_value.py +25 -0
  144. wbportfolio-1.59.3/wbportfolio/migrations/0085_order_desired_target_weight.py +26 -0
  145. wbportfolio-1.59.3/wbportfolio/migrations/0086_orderproposal_total_cash_weight.py +19 -0
  146. wbportfolio-1.59.3/wbportfolio/migrations/0087_product_order_routing_custodian_adapter.py +94 -0
  147. wbportfolio-1.59.3/wbportfolio/migrations/0088_orderproposal_total_effective_portfolio_contribution.py +19 -0
  148. wbportfolio-1.59.3/wbportfolio/migrations/0089_orderproposal_min_weighting.py +71 -0
  149. wbportfolio-1.59.3/wbportfolio/migrations/0090_dividendtransaction_price_fx_portfolio_and_more.py +44 -0
  150. wbportfolio-1.59.3/wbportfolio/migrations/0091_remove_order_execution_confirmed_and_more.py +32 -0
  151. wbportfolio-1.59.3/wbportfolio/migrations/0092_order_quantization_error_alter_orderproposal_status.py +49 -0
  152. wbportfolio-1.59.3/wbportfolio/migrations/0093_remove_portfolioportfoliothroughmodel_unique_primary_and_more.py +35 -0
  153. wbportfolio-1.59.3/wbportfolio/models/__init__.py +23 -0
  154. wbportfolio-1.59.3/wbportfolio/models/adjustments.py +252 -0
  155. wbportfolio-1.59.3/wbportfolio/models/asset.py +929 -0
  156. wbportfolio-1.59.3/wbportfolio/models/builder.py +323 -0
  157. wbportfolio-1.59.3/wbportfolio/models/custodians.py +101 -0
  158. wbportfolio-1.59.3/wbportfolio/models/exceptions.py +2 -0
  159. wbportfolio-1.59.3/wbportfolio/models/graphs/portfolio.py +161 -0
  160. wbportfolio-1.59.3/wbportfolio/models/graphs/utils.py +83 -0
  161. wbportfolio-1.59.3/wbportfolio/models/indexes.py +19 -0
  162. wbportfolio-1.59.3/wbportfolio/models/llm/wbcrm/analyze_relationship.py +59 -0
  163. wbportfolio-1.59.3/wbportfolio/models/mixins/instruments.py +167 -0
  164. wbportfolio-1.59.3/wbportfolio/models/mixins/liquidity_stress_test.py +1307 -0
  165. wbportfolio-1.59.3/wbportfolio/models/orders/__init__.py +2 -0
  166. wbportfolio-1.59.3/wbportfolio/models/orders/order_proposals.py +1414 -0
  167. wbportfolio-1.59.3/wbportfolio/models/orders/orders.py +410 -0
  168. wbportfolio-1.59.3/wbportfolio/models/portfolio.py +1289 -0
  169. wbportfolio-1.59.3/wbportfolio/models/portfolio_cash_flow.py +169 -0
  170. wbportfolio-1.59.3/wbportfolio/models/portfolio_relationship.py +139 -0
  171. wbportfolio-1.59.3/wbportfolio/models/products.py +616 -0
  172. wbportfolio-1.59.3/wbportfolio/models/rebalancing.py +202 -0
  173. wbportfolio-1.59.3/wbportfolio/models/reconciliations/account_reconciliations.py +109 -0
  174. wbportfolio-1.59.3/wbportfolio/models/roles.py +198 -0
  175. wbportfolio-1.59.3/wbportfolio/models/signals.py +24 -0
  176. wbportfolio-1.59.3/wbportfolio/models/transactions/__init__.py +4 -0
  177. wbportfolio-1.59.3/wbportfolio/models/transactions/claim.py +635 -0
  178. wbportfolio-1.59.3/wbportfolio/models/transactions/dividends.py +52 -0
  179. wbportfolio-1.59.3/wbportfolio/models/transactions/fees.py +187 -0
  180. wbportfolio-1.59.3/wbportfolio/models/transactions/trades.py +437 -0
  181. wbportfolio-1.59.3/wbportfolio/models/transactions/transactions.py +125 -0
  182. wbportfolio-1.59.3/wbportfolio/models/utils.py +112 -0
  183. wbportfolio-1.59.3/wbportfolio/order_routing/__init__.py +35 -0
  184. wbportfolio-1.59.3/wbportfolio/order_routing/adapters/__init__.py +65 -0
  185. wbportfolio-1.59.3/wbportfolio/order_routing/adapters/ubs.py +195 -0
  186. wbportfolio-1.59.3/wbportfolio/order_routing/router.py +33 -0
  187. wbportfolio-1.59.3/wbportfolio/order_routing/tests/test_router.py +110 -0
  188. wbportfolio-1.59.3/wbportfolio/permissions.py +20 -0
  189. wbportfolio-1.59.3/wbportfolio/pms/analytics/portfolio.py +45 -0
  190. wbportfolio-1.59.3/wbportfolio/pms/analytics/utils.py +9 -0
  191. wbportfolio-1.59.3/wbportfolio/pms/trading/optimizer.py +61 -0
  192. wbportfolio-1.59.3/wbportfolio/pms/typing.py +315 -0
  193. {wbportfolio-1.49.6/wbportfolio/risk_management → wbportfolio-1.59.3/wbportfolio/rebalancing}/__init__.py +0 -0
  194. wbportfolio-1.59.3/wbportfolio/rebalancing/base.py +31 -0
  195. wbportfolio-1.59.3/wbportfolio/rebalancing/decorators.py +17 -0
  196. wbportfolio-1.59.3/wbportfolio/rebalancing/models/composite.py +44 -0
  197. wbportfolio-1.59.3/wbportfolio/rebalancing/models/equally_weighted.py +34 -0
  198. wbportfolio-1.59.3/wbportfolio/rebalancing/models/market_capitalization_weighted.py +133 -0
  199. wbportfolio-1.59.3/wbportfolio/rebalancing/models/model_portfolio.py +37 -0
  200. wbportfolio-1.59.3/wbportfolio/risk_management/backends/__init__.py +12 -0
  201. wbportfolio-1.59.3/wbportfolio/risk_management/backends/controversy_portfolio.py +64 -0
  202. wbportfolio-1.59.3/wbportfolio/risk_management/backends/esg_aggregation_portfolio.py +64 -0
  203. wbportfolio-1.59.3/wbportfolio/risk_management/backends/exposure_portfolio.py +235 -0
  204. wbportfolio-1.59.3/wbportfolio/risk_management/backends/instrument_list_portfolio.py +90 -0
  205. wbportfolio-1.59.3/wbportfolio/risk_management/backends/liquidity_risk.py +87 -0
  206. wbportfolio-1.59.3/wbportfolio/risk_management/backends/mixins.py +230 -0
  207. {wbportfolio-1.49.6/wbportfolio/tests/models → wbportfolio-1.59.3/wbportfolio/risk_management/tests}/__init__.py +0 -0
  208. wbportfolio-1.59.3/wbportfolio/risk_management/tests/test_esg_aggregation_portfolio.py +49 -0
  209. wbportfolio-1.59.3/wbportfolio/risk_management/tests/test_exposure_portfolio.py +142 -0
  210. wbportfolio-1.59.3/wbportfolio/risk_management/tests/test_stop_loss_instrument.py +111 -0
  211. wbportfolio-1.59.3/wbportfolio/risk_management/tests/test_stop_loss_portfolio.py +125 -0
  212. wbportfolio-1.59.3/wbportfolio/serializers/__init__.py +43 -0
  213. wbportfolio-1.59.3/wbportfolio/serializers/orders/__init__.py +2 -0
  214. wbportfolio-1.59.3/wbportfolio/serializers/orders/order_proposals.py +115 -0
  215. wbportfolio-1.59.3/wbportfolio/serializers/orders/orders.py +283 -0
  216. wbportfolio-1.59.3/wbportfolio/serializers/portfolios.py +190 -0
  217. wbportfolio-1.59.3/wbportfolio/serializers/positions.py +77 -0
  218. wbportfolio-1.59.3/wbportfolio/serializers/products.py +332 -0
  219. wbportfolio-1.59.3/wbportfolio/serializers/rebalancing.py +57 -0
  220. wbportfolio-1.59.3/wbportfolio/serializers/signals.py +149 -0
  221. wbportfolio-1.59.3/wbportfolio/serializers/transactions/__init__.py +15 -0
  222. wbportfolio-1.59.3/wbportfolio/serializers/transactions/claim.py +311 -0
  223. wbportfolio-1.59.3/wbportfolio/serializers/transactions/dividends.py +46 -0
  224. wbportfolio-1.59.3/wbportfolio/serializers/transactions/fees.py +62 -0
  225. wbportfolio-1.59.3/wbportfolio/serializers/transactions/trades.py +241 -0
  226. wbportfolio-1.59.3/wbportfolio/tasks.py +89 -0
  227. {wbportfolio-1.49.6/wbportfolio/tests/models/transactions → wbportfolio-1.59.3/wbportfolio/tests}/__init__.py +0 -0
  228. wbportfolio-1.59.3/wbportfolio/tests/analysis/test_claims.py +85 -0
  229. wbportfolio-1.59.3/wbportfolio/tests/conftest.py +157 -0
  230. {wbportfolio-1.49.6/wbportfolio/tests/rebalancing → wbportfolio-1.59.3/wbportfolio/tests/models}/__init__.py +0 -0
  231. wbportfolio-1.59.3/wbportfolio/tests/models/orders/test_order_proposals.py +1046 -0
  232. wbportfolio-1.59.3/wbportfolio/tests/models/test_assets.py +205 -0
  233. wbportfolio-1.59.3/wbportfolio/tests/models/test_imports.py +195 -0
  234. wbportfolio-1.59.3/wbportfolio/tests/models/test_portfolios.py +1172 -0
  235. wbportfolio-1.59.3/wbportfolio/tests/models/test_products.py +228 -0
  236. wbportfolio-1.59.3/wbportfolio/tests/models/test_splits.py +229 -0
  237. wbportfolio-1.59.3/wbportfolio/tests/models/test_utils.py +140 -0
  238. wbportfolio-1.59.3/wbportfolio/tests/models/transactions/test_fees.py +60 -0
  239. wbportfolio-1.59.3/wbportfolio/tests/models/transactions/test_rebalancing.py +85 -0
  240. wbportfolio-1.59.3/wbportfolio/tests/models/transactions/test_trades.py +199 -0
  241. wbportfolio-1.59.3/wbportfolio/tests/pms/test_analytics.py +54 -0
  242. wbportfolio-1.59.3/wbportfolio/tests/rebalancing/__init__.py +0 -0
  243. wbportfolio-1.59.3/wbportfolio/tests/rebalancing/test_models.py +160 -0
  244. wbportfolio-1.59.3/wbportfolio/tests/serializers/__init__.py +0 -0
  245. wbportfolio-1.59.3/wbportfolio/tests/signals.py +135 -0
  246. wbportfolio-1.59.3/wbportfolio/tests/tests.py +35 -0
  247. wbportfolio-1.59.3/wbportfolio/tests/viewsets/__init__.py +0 -0
  248. wbportfolio-1.59.3/wbportfolio/tests/viewsets/test_products.py +94 -0
  249. wbportfolio-1.59.3/wbportfolio/tests/viewsets/transactions/__init__.py +0 -0
  250. wbportfolio-1.59.3/wbportfolio/urls.py +258 -0
  251. wbportfolio-1.59.3/wbportfolio/viewsets/__init__.py +59 -0
  252. wbportfolio-1.59.3/wbportfolio/viewsets/adjustments.py +49 -0
  253. wbportfolio-1.59.3/wbportfolio/viewsets/assets.py +420 -0
  254. wbportfolio-1.59.3/wbportfolio/viewsets/charts/__init__.py +6 -0
  255. wbportfolio-1.59.3/wbportfolio/viewsets/charts/assets.py +439 -0
  256. wbportfolio-1.59.3/wbportfolio/viewsets/configs/buttons/__init__.py +22 -0
  257. wbportfolio-1.59.3/wbportfolio/viewsets/configs/buttons/assets.py +146 -0
  258. wbportfolio-1.59.3/wbportfolio/viewsets/configs/buttons/mixins.py +69 -0
  259. wbportfolio-1.59.3/wbportfolio/viewsets/configs/buttons/portfolios.py +173 -0
  260. wbportfolio-1.59.3/wbportfolio/viewsets/configs/buttons/products.py +82 -0
  261. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/__init__.py +59 -0
  262. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/assets.py +242 -0
  263. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/fees.py +133 -0
  264. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/portfolios.py +215 -0
  265. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/products.py +236 -0
  266. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/rebalancing.py +27 -0
  267. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/reconciliations.py +151 -0
  268. wbportfolio-1.59.3/wbportfolio/viewsets/configs/display/trades.py +226 -0
  269. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/__init__.py +73 -0
  270. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/adjustments.py +17 -0
  271. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/assets.py +73 -0
  272. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/claim.py +98 -0
  273. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/esg.py +6 -0
  274. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/fees.py +14 -0
  275. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/portfolio_relationship.py +16 -0
  276. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/portfolios.py +46 -0
  277. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/positions.py +11 -0
  278. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/product_performance.py +22 -0
  279. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/products.py +31 -0
  280. wbportfolio-1.59.3/wbportfolio/viewsets/configs/endpoints/trades.py +50 -0
  281. wbportfolio-1.59.3/wbportfolio/viewsets/configs/menu/__init__.py +30 -0
  282. wbportfolio-1.59.3/wbportfolio/viewsets/configs/menu/orders.py +11 -0
  283. wbportfolio-1.59.3/wbportfolio/viewsets/configs/menu/trades.py +17 -0
  284. wbportfolio-1.59.3/wbportfolio/viewsets/configs/titles/__init__.py +64 -0
  285. wbportfolio-1.59.3/wbportfolio/viewsets/configs/titles/fees.py +22 -0
  286. wbportfolio-1.59.3/wbportfolio/viewsets/esg.py +164 -0
  287. wbportfolio-1.59.3/wbportfolio/viewsets/mixins.py +53 -0
  288. wbportfolio-1.59.3/wbportfolio/viewsets/orders/__init__.py +6 -0
  289. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/__init__.py +4 -0
  290. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/buttons/__init__.py +2 -0
  291. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/buttons/order_proposals.py +188 -0
  292. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/buttons/orders.py +113 -0
  293. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/displays/__init__.py +2 -0
  294. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/displays/order_proposals.py +157 -0
  295. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/displays/orders.py +232 -0
  296. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/endpoints/__init__.py +2 -0
  297. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/endpoints/order_proposals.py +21 -0
  298. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/endpoints/orders.py +28 -0
  299. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/titles/__init__.py +0 -0
  300. wbportfolio-1.59.3/wbportfolio/viewsets/orders/configs/titles/orders.py +0 -0
  301. wbportfolio-1.59.3/wbportfolio/viewsets/orders/order_proposals.py +252 -0
  302. wbportfolio-1.59.3/wbportfolio/viewsets/orders/orders.py +277 -0
  303. wbportfolio-1.59.3/wbportfolio/viewsets/portfolios.py +378 -0
  304. wbportfolio-1.59.3/wbportfolio/viewsets/positions.py +293 -0
  305. wbportfolio-1.59.3/wbportfolio/viewsets/products.py +530 -0
  306. wbportfolio-1.59.3/wbportfolio/viewsets/rebalancing.py +31 -0
  307. wbportfolio-1.59.3/wbportfolio/viewsets/reconciliations.py +170 -0
  308. wbportfolio-1.59.3/wbportfolio/viewsets/transactions/__init__.py +30 -0
  309. wbportfolio-1.59.3/wbportfolio/viewsets/transactions/claim.py +974 -0
  310. wbportfolio-1.59.3/wbportfolio/viewsets/transactions/fees.py +191 -0
  311. wbportfolio-1.59.3/wbportfolio/viewsets/transactions/trades.py +342 -0
  312. wbportfolio-1.49.6/.gitignore +0 -181
  313. wbportfolio-1.49.6/PKG-INFO +0 -25
  314. wbportfolio-1.49.6/pyproject.toml +0 -56
  315. wbportfolio-1.49.6/wbportfolio/admin/__init__.py +0 -12
  316. wbportfolio-1.49.6/wbportfolio/admin/indexes.py +0 -15
  317. wbportfolio-1.49.6/wbportfolio/admin/portfolio.py +0 -132
  318. wbportfolio-1.49.6/wbportfolio/admin/product_groups.py +0 -44
  319. wbportfolio-1.49.6/wbportfolio/admin/products.py +0 -81
  320. wbportfolio-1.49.6/wbportfolio/admin/transactions/__init__.py +0 -6
  321. wbportfolio-1.49.6/wbportfolio/admin/transactions/dividends.py +0 -15
  322. wbportfolio-1.49.6/wbportfolio/admin/transactions/fees.py +0 -36
  323. wbportfolio-1.49.6/wbportfolio/admin/transactions/rebalancing.py +0 -26
  324. wbportfolio-1.49.6/wbportfolio/admin/transactions/trades.py +0 -50
  325. wbportfolio-1.49.6/wbportfolio/admin/transactions/transactions.py +0 -38
  326. wbportfolio-1.49.6/wbportfolio/analysis/claims.py +0 -241
  327. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/configs/display.py +0 -182
  328. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/configs/previews.py +0 -37
  329. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/filters.py +0 -127
  330. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/models.py +0 -331
  331. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/scripts.py +0 -76
  332. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/serializers.py +0 -303
  333. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/tasks.py +0 -23
  334. wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/tests/conftest.py +0 -149
  335. wbportfolio-1.49.6/wbportfolio/defaults/fees/default.py +0 -93
  336. wbportfolio-1.49.6/wbportfolio/factories/__init__.py +0 -27
  337. wbportfolio-1.49.6/wbportfolio/factories/assets.py +0 -81
  338. wbportfolio-1.49.6/wbportfolio/factories/dividends.py +0 -16
  339. wbportfolio-1.49.6/wbportfolio/factories/fees.py +0 -16
  340. wbportfolio-1.49.6/wbportfolio/factories/portfolio_cash_targets.py +0 -16
  341. wbportfolio-1.49.6/wbportfolio/factories/portfolio_swing_pricings.py +0 -16
  342. wbportfolio-1.49.6/wbportfolio/factories/portfolios.py +0 -50
  343. wbportfolio-1.49.6/wbportfolio/factories/product_groups.py +0 -36
  344. wbportfolio-1.49.6/wbportfolio/factories/products.py +0 -75
  345. wbportfolio-1.49.6/wbportfolio/factories/rebalancing.py +0 -23
  346. wbportfolio-1.49.6/wbportfolio/factories/trades.py +0 -40
  347. wbportfolio-1.49.6/wbportfolio/factories/transactions.py +0 -22
  348. wbportfolio-1.49.6/wbportfolio/fdm/tasks.py +0 -13
  349. wbportfolio-1.49.6/wbportfolio/filters/__init__.py +0 -32
  350. wbportfolio-1.49.6/wbportfolio/filters/assets.py +0 -484
  351. wbportfolio-1.49.6/wbportfolio/filters/assets_and_net_new_money_progression.py +0 -43
  352. wbportfolio-1.49.6/wbportfolio/filters/esg.py +0 -23
  353. wbportfolio-1.49.6/wbportfolio/filters/performances.py +0 -172
  354. wbportfolio-1.49.6/wbportfolio/filters/portfolios.py +0 -44
  355. wbportfolio-1.49.6/wbportfolio/filters/positions.py +0 -179
  356. wbportfolio-1.49.6/wbportfolio/filters/products.py +0 -154
  357. wbportfolio-1.49.6/wbportfolio/filters/roles.py +0 -27
  358. wbportfolio-1.49.6/wbportfolio/filters/signals.py +0 -73
  359. wbportfolio-1.49.6/wbportfolio/filters/transactions/__init__.py +0 -21
  360. wbportfolio-1.49.6/wbportfolio/filters/transactions/claim.py +0 -442
  361. wbportfolio-1.49.6/wbportfolio/filters/transactions/fees.py +0 -67
  362. wbportfolio-1.49.6/wbportfolio/filters/transactions/trades.py +0 -245
  363. wbportfolio-1.49.6/wbportfolio/filters/transactions/transactions.py +0 -99
  364. wbportfolio-1.49.6/wbportfolio/import_export/backends/ubs/__init__.py +0 -3
  365. wbportfolio-1.49.6/wbportfolio/import_export/backends/ubs/asset_position.py +0 -45
  366. wbportfolio-1.49.6/wbportfolio/import_export/backends/ubs/fees.py +0 -63
  367. wbportfolio-1.49.6/wbportfolio/import_export/backends/ubs/instrument_price.py +0 -44
  368. wbportfolio-1.49.6/wbportfolio/import_export/backends/utils.py +0 -58
  369. wbportfolio-1.49.6/wbportfolio/import_export/handlers/asset_position.py +0 -168
  370. wbportfolio-1.49.6/wbportfolio/import_export/handlers/dividend.py +0 -80
  371. wbportfolio-1.49.6/wbportfolio/import_export/handlers/fees.py +0 -59
  372. wbportfolio-1.49.6/wbportfolio/import_export/handlers/trade.py +0 -216
  373. wbportfolio-1.49.6/wbportfolio/import_export/parsers/default_mapping.py +0 -30
  374. wbportfolio-1.49.6/wbportfolio/import_export/parsers/jpmorgan/customer_trade.py +0 -72
  375. wbportfolio-1.49.6/wbportfolio/import_export/parsers/jpmorgan/fees.py +0 -65
  376. wbportfolio-1.49.6/wbportfolio/import_export/parsers/jpmorgan/strategy.py +0 -117
  377. wbportfolio-1.49.6/wbportfolio/import_export/parsers/jpmorgan/valuation.py +0 -42
  378. wbportfolio-1.49.6/wbportfolio/import_export/parsers/leonteq/customer_trade.py +0 -48
  379. wbportfolio-1.49.6/wbportfolio/import_export/parsers/leonteq/equity.py +0 -82
  380. wbportfolio-1.49.6/wbportfolio/import_export/parsers/leonteq/fees.py +0 -71
  381. wbportfolio-1.49.6/wbportfolio/import_export/parsers/leonteq/trade.py +0 -95
  382. wbportfolio-1.49.6/wbportfolio/import_export/parsers/leonteq/valuation.py +0 -40
  383. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/customer_trade.py +0 -63
  384. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/d1_customer_trade.py +0 -67
  385. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/d1_equity.py +0 -81
  386. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/d1_fees.py +0 -59
  387. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/d1_trade.py +0 -71
  388. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/d1_valuation.py +0 -42
  389. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/dividend.py +0 -53
  390. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/equity.py +0 -60
  391. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/fees.py +0 -53
  392. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/trade.py +0 -64
  393. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/utils.py +0 -77
  394. wbportfolio-1.49.6/wbportfolio/import_export/parsers/natixis/valuation.py +0 -46
  395. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/customer_trade_pending_slk.py +0 -141
  396. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/customer_trade_slk.py +0 -81
  397. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/equity.py +0 -160
  398. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/fees.py +0 -56
  399. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/perf_fees.py +0 -51
  400. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/registers.py +0 -211
  401. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/sylk.py +0 -248
  402. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/utils.py +0 -36
  403. wbportfolio-1.49.6/wbportfolio/import_export/parsers/sg_lux/valuation.py +0 -53
  404. wbportfolio-1.49.6/wbportfolio/import_export/parsers/societe_generale/customer_trade.py +0 -55
  405. wbportfolio-1.49.6/wbportfolio/import_export/parsers/societe_generale/strategy.py +0 -93
  406. wbportfolio-1.49.6/wbportfolio/import_export/parsers/societe_generale/valuation.py +0 -38
  407. wbportfolio-1.49.6/wbportfolio/import_export/parsers/tellco/customer_trade.py +0 -64
  408. wbportfolio-1.49.6/wbportfolio/import_export/parsers/tellco/equity.py +0 -87
  409. wbportfolio-1.49.6/wbportfolio/import_export/parsers/tellco/valuation.py +0 -52
  410. wbportfolio-1.49.6/wbportfolio/import_export/parsers/ubs/api/fees.py +0 -32
  411. wbportfolio-1.49.6/wbportfolio/import_export/parsers/ubs/customer_trade.py +0 -61
  412. wbportfolio-1.49.6/wbportfolio/import_export/parsers/ubs/equity.py +0 -98
  413. wbportfolio-1.49.6/wbportfolio/import_export/parsers/ubs/historical_customer_trade.py +0 -68
  414. wbportfolio-1.49.6/wbportfolio/import_export/parsers/ubs/valuation.py +0 -53
  415. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/customer_trade.py +0 -55
  416. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/historical_customer_trade.py +0 -41
  417. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/instrument.py +0 -34
  418. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/management_fees.py +0 -87
  419. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/performance_fees.py +0 -36
  420. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/trade.py +0 -39
  421. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/utils.py +0 -17
  422. wbportfolio-1.49.6/wbportfolio/import_export/parsers/vontobel/valuation_api.py +0 -23
  423. wbportfolio-1.49.6/wbportfolio/import_export/resources/trades.py +0 -55
  424. wbportfolio-1.49.6/wbportfolio/import_export/utils.py +0 -42
  425. wbportfolio-1.49.6/wbportfolio/jinja2/wbportfolio/sql/aum_nnm.sql +0 -119
  426. wbportfolio-1.49.6/wbportfolio/metric/backends/base.py +0 -75
  427. wbportfolio-1.49.6/wbportfolio/migrations/0059_fees_unique_fees.py +0 -51
  428. wbportfolio-1.49.6/wbportfolio/models/__init__.py +0 -20
  429. wbportfolio-1.49.6/wbportfolio/models/adjustments.py +0 -252
  430. wbportfolio-1.49.6/wbportfolio/models/asset.py +0 -895
  431. wbportfolio-1.49.6/wbportfolio/models/custodians.py +0 -101
  432. wbportfolio-1.49.6/wbportfolio/models/exceptions.py +0 -2
  433. wbportfolio-1.49.6/wbportfolio/models/graphs/portfolio.py +0 -161
  434. wbportfolio-1.49.6/wbportfolio/models/graphs/utils.py +0 -83
  435. wbportfolio-1.49.6/wbportfolio/models/indexes.py +0 -22
  436. wbportfolio-1.49.6/wbportfolio/models/llm/wbcrm/analyze_relationship.py +0 -58
  437. wbportfolio-1.49.6/wbportfolio/models/mixins/instruments.py +0 -160
  438. wbportfolio-1.49.6/wbportfolio/models/mixins/liquidity_stress_test.py +0 -1307
  439. wbportfolio-1.49.6/wbportfolio/models/portfolio.py +0 -1324
  440. wbportfolio-1.49.6/wbportfolio/models/portfolio_cash_flow.py +0 -169
  441. wbportfolio-1.49.6/wbportfolio/models/portfolio_relationship.py +0 -139
  442. wbportfolio-1.49.6/wbportfolio/models/products.py +0 -604
  443. wbportfolio-1.49.6/wbportfolio/models/reconciliations/account_reconciliations.py +0 -103
  444. wbportfolio-1.49.6/wbportfolio/models/roles.py +0 -208
  445. wbportfolio-1.49.6/wbportfolio/models/transactions/__init__.py +0 -8
  446. wbportfolio-1.49.6/wbportfolio/models/transactions/claim.py +0 -635
  447. wbportfolio-1.49.6/wbportfolio/models/transactions/dividends.py +0 -15
  448. wbportfolio-1.49.6/wbportfolio/models/transactions/expiry.py +0 -7
  449. wbportfolio-1.49.6/wbportfolio/models/transactions/fees.py +0 -154
  450. wbportfolio-1.49.6/wbportfolio/models/transactions/rebalancing.py +0 -185
  451. wbportfolio-1.49.6/wbportfolio/models/transactions/trade_proposals.py +0 -648
  452. wbportfolio-1.49.6/wbportfolio/models/transactions/trades.py +0 -752
  453. wbportfolio-1.49.6/wbportfolio/models/transactions/transactions.py +0 -205
  454. wbportfolio-1.49.6/wbportfolio/models/utils.py +0 -13
  455. wbportfolio-1.49.6/wbportfolio/permissions.py +0 -13
  456. wbportfolio-1.49.6/wbportfolio/pms/analytics/portfolio.py +0 -37
  457. wbportfolio-1.49.6/wbportfolio/pms/trading/__init__.py +0 -1
  458. wbportfolio-1.49.6/wbportfolio/pms/trading/handler.py +0 -161
  459. wbportfolio-1.49.6/wbportfolio/pms/typing.py +0 -180
  460. wbportfolio-1.49.6/wbportfolio/rebalancing/base.py +0 -20
  461. wbportfolio-1.49.6/wbportfolio/rebalancing/decorators.py +0 -17
  462. wbportfolio-1.49.6/wbportfolio/rebalancing/models/composite.py +0 -48
  463. wbportfolio-1.49.6/wbportfolio/rebalancing/models/equally_weighted.py +0 -32
  464. wbportfolio-1.49.6/wbportfolio/rebalancing/models/market_capitalization_weighted.py +0 -126
  465. wbportfolio-1.49.6/wbportfolio/rebalancing/models/model_portfolio.py +0 -41
  466. wbportfolio-1.49.6/wbportfolio/risk_management/backends/__init__.py +0 -11
  467. wbportfolio-1.49.6/wbportfolio/risk_management/backends/controversy_portfolio.py +0 -64
  468. wbportfolio-1.49.6/wbportfolio/risk_management/backends/exposure_portfolio.py +0 -235
  469. wbportfolio-1.49.6/wbportfolio/risk_management/backends/instrument_list_portfolio.py +0 -90
  470. wbportfolio-1.49.6/wbportfolio/risk_management/backends/liquidity_risk.py +0 -87
  471. wbportfolio-1.49.6/wbportfolio/risk_management/backends/mixins.py +0 -221
  472. wbportfolio-1.49.6/wbportfolio/risk_management/tests/test_exposure_portfolio.py +0 -142
  473. wbportfolio-1.49.6/wbportfolio/risk_management/tests/test_stop_loss_instrument.py +0 -111
  474. wbportfolio-1.49.6/wbportfolio/risk_management/tests/test_stop_loss_portfolio.py +0 -120
  475. wbportfolio-1.49.6/wbportfolio/serializers/__init__.py +0 -42
  476. wbportfolio-1.49.6/wbportfolio/serializers/portfolios.py +0 -190
  477. wbportfolio-1.49.6/wbportfolio/serializers/positions.py +0 -77
  478. wbportfolio-1.49.6/wbportfolio/serializers/products.py +0 -328
  479. wbportfolio-1.49.6/wbportfolio/serializers/rebalancing.py +0 -57
  480. wbportfolio-1.49.6/wbportfolio/serializers/signals.py +0 -152
  481. wbportfolio-1.49.6/wbportfolio/serializers/transactions/__init__.py +0 -24
  482. wbportfolio-1.49.6/wbportfolio/serializers/transactions/claim.py +0 -311
  483. wbportfolio-1.49.6/wbportfolio/serializers/transactions/dividends.py +0 -18
  484. wbportfolio-1.49.6/wbportfolio/serializers/transactions/expiry.py +0 -18
  485. wbportfolio-1.49.6/wbportfolio/serializers/transactions/fees.py +0 -33
  486. wbportfolio-1.49.6/wbportfolio/serializers/transactions/trade_proposals.py +0 -76
  487. wbportfolio-1.49.6/wbportfolio/serializers/transactions/trades.py +0 -282
  488. wbportfolio-1.49.6/wbportfolio/serializers/transactions/transactions.py +0 -85
  489. wbportfolio-1.49.6/wbportfolio/tasks.py +0 -51
  490. wbportfolio-1.49.6/wbportfolio/tests/conftest.py +0 -157
  491. wbportfolio-1.49.6/wbportfolio/tests/models/test_assets.py +0 -201
  492. wbportfolio-1.49.6/wbportfolio/tests/models/test_imports.py +0 -196
  493. wbportfolio-1.49.6/wbportfolio/tests/models/test_portfolios.py +0 -1179
  494. wbportfolio-1.49.6/wbportfolio/tests/models/test_products.py +0 -216
  495. wbportfolio-1.49.6/wbportfolio/tests/models/test_splits.py +0 -234
  496. wbportfolio-1.49.6/wbportfolio/tests/models/transactions/test_fees.py +0 -66
  497. wbportfolio-1.49.6/wbportfolio/tests/models/transactions/test_rebalancing.py +0 -85
  498. wbportfolio-1.49.6/wbportfolio/tests/models/transactions/test_trade_proposals.py +0 -381
  499. wbportfolio-1.49.6/wbportfolio/tests/models/transactions/test_trades.py +0 -219
  500. wbportfolio-1.49.6/wbportfolio/tests/pms/test_analytics.py +0 -35
  501. wbportfolio-1.49.6/wbportfolio/tests/rebalancing/test_models.py +0 -166
  502. wbportfolio-1.49.6/wbportfolio/tests/signals.py +0 -145
  503. wbportfolio-1.49.6/wbportfolio/tests/tests.py +0 -33
  504. wbportfolio-1.49.6/wbportfolio/tests/viewsets/test_products.py +0 -93
  505. wbportfolio-1.49.6/wbportfolio/urls.py +0 -261
  506. wbportfolio-1.49.6/wbportfolio/viewsets/__init__.py +0 -54
  507. wbportfolio-1.49.6/wbportfolio/viewsets/adjustments.py +0 -47
  508. wbportfolio-1.49.6/wbportfolio/viewsets/assets.py +0 -573
  509. wbportfolio-1.49.6/wbportfolio/viewsets/charts/__init__.py +0 -1
  510. wbportfolio-1.49.6/wbportfolio/viewsets/charts/assets.py +0 -249
  511. wbportfolio-1.49.6/wbportfolio/viewsets/configs/buttons/__init__.py +0 -22
  512. wbportfolio-1.49.6/wbportfolio/viewsets/configs/buttons/assets.py +0 -146
  513. wbportfolio-1.49.6/wbportfolio/viewsets/configs/buttons/mixins.py +0 -69
  514. wbportfolio-1.49.6/wbportfolio/viewsets/configs/buttons/portfolios.py +0 -129
  515. wbportfolio-1.49.6/wbportfolio/viewsets/configs/buttons/products.py +0 -41
  516. wbportfolio-1.49.6/wbportfolio/viewsets/configs/buttons/trade_proposals.py +0 -66
  517. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/__init__.py +0 -62
  518. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/assets.py +0 -255
  519. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/fees.py +0 -133
  520. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/portfolios.py +0 -215
  521. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/products.py +0 -236
  522. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/rebalancing.py +0 -27
  523. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/reconciliations.py +0 -151
  524. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/trade_proposals.py +0 -100
  525. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/trades.py +0 -399
  526. wbportfolio-1.49.6/wbportfolio/viewsets/configs/display/transactions.py +0 -55
  527. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/__init__.py +0 -77
  528. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/adjustments.py +0 -17
  529. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/assets.py +0 -127
  530. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/claim.py +0 -107
  531. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/esg.py +0 -14
  532. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/fees.py +0 -26
  533. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/portfolio_relationship.py +0 -23
  534. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/portfolios.py +0 -59
  535. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/positions.py +0 -18
  536. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/product_performance.py +0 -29
  537. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/products.py +0 -37
  538. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/trade_proposals.py +0 -18
  539. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/trades.py +0 -92
  540. wbportfolio-1.49.6/wbportfolio/viewsets/configs/endpoints/transactions.py +0 -23
  541. wbportfolio-1.49.6/wbportfolio/viewsets/configs/menu/__init__.py +0 -30
  542. wbportfolio-1.49.6/wbportfolio/viewsets/configs/menu/trades.py +0 -18
  543. wbportfolio-1.49.6/wbportfolio/viewsets/configs/menu/transactions.py +0 -9
  544. wbportfolio-1.49.6/wbportfolio/viewsets/configs/titles/__init__.py +0 -65
  545. wbportfolio-1.49.6/wbportfolio/viewsets/configs/titles/fees.py +0 -26
  546. wbportfolio-1.49.6/wbportfolio/viewsets/configs/titles/transactions.py +0 -9
  547. wbportfolio-1.49.6/wbportfolio/viewsets/esg.py +0 -166
  548. wbportfolio-1.49.6/wbportfolio/viewsets/mixins.py +0 -49
  549. wbportfolio-1.49.6/wbportfolio/viewsets/portfolios.py +0 -354
  550. wbportfolio-1.49.6/wbportfolio/viewsets/positions.py +0 -293
  551. wbportfolio-1.49.6/wbportfolio/viewsets/products.py +0 -530
  552. wbportfolio-1.49.6/wbportfolio/viewsets/reconciliations.py +0 -161
  553. wbportfolio-1.49.6/wbportfolio/viewsets/signals.py +0 -43
  554. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/__init__.py +0 -41
  555. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/claim.py +0 -974
  556. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/fees.py +0 -191
  557. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/rebalancing.py +0 -31
  558. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/trade_proposals.py +0 -139
  559. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/trades.py +0 -519
  560. wbportfolio-1.49.6/wbportfolio/viewsets/transactions/transactions.py +0 -122
  561. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/LICENSE +0 -0
  562. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/__init__.py +0 -0
  563. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/asset.py +0 -0
  564. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/custodians.py +0 -0
  565. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/portfolio_relationships.py +0 -0
  566. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/reconciliations.py +0 -0
  567. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/registers.py +0 -0
  568. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/roles.py +0 -0
  569. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/admin/transactions/claim.py +0 -0
  570. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/analysis/__init__.py +0 -0
  571. {wbportfolio-1.49.6/wbportfolio/contrib → wbportfolio-1.59.3/wbportfolio/api_clients}/__init__.py +0 -0
  572. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/apps.py +0 -0
  573. {wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio → wbportfolio-1.59.3/wbportfolio/contrib}/__init__.py +0 -0
  574. {wbportfolio-1.49.6/wbportfolio/contrib/company_portfolio/migrations → wbportfolio-1.59.3/wbportfolio/contrib/company_portfolio}/__init__.py +0 -0
  575. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/admin.py +0 -0
  576. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/apps.py +0 -0
  577. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/configs/__init__.py +0 -0
  578. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/configs/endpoints.py +0 -0
  579. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/constants.py +0 -0
  580. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/dynamic_preferences_registry.py +0 -0
  581. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/factories.py +0 -0
  582. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/management.py +0 -0
  583. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/migrations/0001_initial.py +0 -0
  584. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/tests/test_models.py +0 -0
  585. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/urls.py +0 -0
  586. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/contrib/company_portfolio/viewsets.py +0 -0
  587. {wbportfolio-1.49.6/wbportfolio/defaults/fees → wbportfolio-1.59.3/wbportfolio/defaults}/__init__.py +0 -0
  588. {wbportfolio-1.49.6/wbportfolio/fdm → wbportfolio-1.59.3/wbportfolio/defaults/fees}/__init__.py +0 -0
  589. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/dynamic_preferences_registry.py +0 -0
  590. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/adjustments.py +0 -0
  591. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/claim.py +0 -0
  592. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/custodians.py +0 -0
  593. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/indexes.py +0 -0
  594. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/portfolio_cash_flow.py +0 -0
  595. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/reconciliations.py +0 -0
  596. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/factories/roles.py +0 -0
  597. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/filters/custodians.py +0 -0
  598. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/filters/transactions/mixins.py +0 -0
  599. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/fixtures/product_factsheets.yaml +0 -0
  600. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/fixtures/wbportfolio.yaml.gz +0 -0
  601. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/fixtures/wbrisk_management.yaml.gz +0 -0
  602. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/__init__.py +0 -0
  603. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/__init__.py +0 -0
  604. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/refinitiv/adjustment.py +0 -0
  605. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/ubs/mixin.py +0 -0
  606. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/wbfdm/__init__.py +0 -0
  607. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/wbfdm/adjustment.py +0 -0
  608. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/wbfdm/dividend.py +0 -0
  609. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/backends/wbfdm/mixin.py +0 -0
  610. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/handlers/__init__.py +0 -0
  611. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/handlers/adjustment.py +0 -0
  612. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/handlers/portfolio_cash_flow.py +0 -0
  613. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/handlers/register.py +0 -0
  614. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/__init__.py +0 -0
  615. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/jpmorgan/__init__.py +0 -0
  616. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/leonteq/__init__.py +0 -0
  617. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/natixis/__init__.py +0 -0
  618. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/refinitiv/__init__.py +0 -0
  619. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/refinitiv/adjustment.py +0 -0
  620. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/sg_lux/__init__.py +0 -0
  621. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/sg_lux/custodian_positions.py +0 -0
  622. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/sg_lux/customer_trade.py +0 -0
  623. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/sg_lux/customer_trade_without_pw.py +0 -0
  624. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/sg_lux/portfolio_cash_flow.py +0 -0
  625. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/sg_lux/portfolio_future_cash_flow.py +0 -0
  626. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/societe_generale/__init__.py +0 -0
  627. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/tellco/__init__.py +0 -0
  628. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/ubs/__init__.py +0 -0
  629. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/ubs/api/__init__.py +0 -0
  630. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/ubs/api/asset_position.py +0 -0
  631. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/ubs/api/instrument_price.py +0 -0
  632. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/ubs/api/utils.py +0 -0
  633. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/vontobel/__init__.py +0 -0
  634. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/vontobel/asset_position.py +0 -0
  635. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/parsers/vontobel/valuation.py +0 -0
  636. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/resources/__init__.py +0 -0
  637. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/import_export/resources/assets.py +0 -0
  638. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/kpi_handlers/nnm.py +0 -0
  639. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/__init__.py +0 -0
  640. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/backends/__init__.py +0 -0
  641. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/backends/constants.py +0 -0
  642. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/backends/portfolio_base.py +0 -0
  643. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/backends/portfolio_esg.py +0 -0
  644. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/tests/__init__.py +0 -0
  645. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/tests/conftest.py +0 -0
  646. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/tests/test_portfolio_base.py +0 -0
  647. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/metric/tests/test_portfolio_esg.py +0 -0
  648. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0001_initial_squashed.py +0 -0
  649. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0002_product_default_sub_account_squashed_0039_alter_assetallocation_company_and_more.py +0 -0
  650. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0040_instrument_financial_instrument.py +0 -0
  651. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0041_remove_listresearch_research_ptr_and_more.py +0 -0
  652. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0042_instrumentlist_instrumentlistthroughmodel_and_more.py +0 -0
  653. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0043_alter_instrumentlistthroughmodel_options_and_more.py +0 -0
  654. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0044_alter_instrumentlist_identifier.py +0 -0
  655. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0045_alter_instrument_financial_instrument.py +0 -0
  656. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0046_add_product_default_account.py +0 -0
  657. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0047_remove_product_default_sub_account.py +0 -0
  658. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0048_alter_trade_status.py +0 -0
  659. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0049_trade_claimed_shares.py +0 -0
  660. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0050_fees_fee_date_fees_wbportfolio_transac_1f7a29_idx.py +0 -0
  661. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0051_delete_macroreview.py +0 -0
  662. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0052_remove_cash_instrument_ptr_and_more.py +0 -0
  663. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0053_remove_product_group.py +0 -0
  664. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0054_portfolioinstrumentpreferredclassificationthroughmodel_and_more.py +0 -0
  665. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0055_remove_product__custom_management_rebates_and_more.py +0 -0
  666. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0056_remove_companyportfoliodata_assets_under_management_currency_and_more.py +0 -0
  667. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0057_alter_portfolio_preferred_instrument_classifications_and_more.py +0 -0
  668. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0058_pmsinstrument.py +0 -0
  669. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0060_alter_portfolioportfoliothroughmodel_type.py +0 -0
  670. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0061_portfolio_bank_accounts_product_bank_account_and_more.py +0 -0
  671. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0062_alter_dailyportfoliocashflow_options.py +0 -0
  672. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0063_accountreconciliation_accountreconciliationline_and_more.py +0 -0
  673. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0064_alter_portfolio_managers_portfolio_is_tracked_and_more.py +0 -0
  674. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0065_alter_portfolio_managers_claim_as_shares_and_more.py +0 -0
  675. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0066_assetposition_initial_shares_at_custodian_and_more.py +0 -0
  676. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0067_assetposition_unique_asset_position.py +0 -0
  677. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0068_trade_internal_trade_trade_marked_as_internal_and_more.py +0 -0
  678. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0069_remove_portfolio_is_invested_and_more.py +0 -0
  679. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0070_remove_assetposition_unique_asset_position_and_more.py +0 -0
  680. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0071_alter_trade_options_alter_trade_order.py +0 -0
  681. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0072_trade_diff_shares.py +0 -0
  682. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0073_remove_product_price_computation_and_more.py +0 -0
  683. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0074_alter_rebalancer_frequency_and_more.py +0 -0
  684. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0075_portfolio_initial_position_date_and_more.py +0 -0
  685. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/0076_alter_dividendtransaction_price_and_more.py +0 -0
  686. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/migrations/__init__.py +0 -0
  687. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/graphs/__init__.py +0 -0
  688. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/mixins/__init__.py +0 -0
  689. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/portfolio_cash_targets.py +0 -0
  690. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/portfolio_swing_pricings.py +0 -0
  691. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/product_groups.py +0 -0
  692. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/reconciliations/__init__.py +0 -0
  693. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/reconciliations/account_reconciliation_lines.py +0 -0
  694. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/reconciliations/reconciliations.py +0 -0
  695. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/models/registers.py +0 -0
  696. {wbportfolio-1.49.6/wbportfolio/pms → wbportfolio-1.59.3/wbportfolio/order_routing/tests}/__init__.py +0 -0
  697. {wbportfolio-1.49.6/wbportfolio/pms/analytics → wbportfolio-1.59.3/wbportfolio/pms}/__init__.py +0 -0
  698. {wbportfolio-1.49.6/wbportfolio/pms/statistics → wbportfolio-1.59.3/wbportfolio/pms/analytics}/__init__.py +0 -0
  699. {wbportfolio-1.49.6/wbportfolio/rebalancing → wbportfolio-1.59.3/wbportfolio/pms/statistics}/__init__.py +0 -0
  700. {wbportfolio-1.49.6/wbportfolio/reports → wbportfolio-1.59.3/wbportfolio/pms/trading}/__init__.py +0 -0
  701. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/preferences.py +0 -0
  702. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/rebalancing/models/__init__.py +0 -0
  703. {wbportfolio-1.49.6/wbportfolio/risk_management/tests → wbportfolio-1.59.3/wbportfolio/reports}/__init__.py +0 -0
  704. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/reports/monthly_position_report.py +0 -0
  705. {wbportfolio-1.49.6/wbportfolio/tests → wbportfolio-1.59.3/wbportfolio/risk_management}/__init__.py +0 -0
  706. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/backends/accounts.py +0 -0
  707. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/backends/liquidity_stress_instrument.py +0 -0
  708. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/backends/product_integrity.py +0 -0
  709. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/backends/stop_loss_instrument.py +0 -0
  710. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/backends/stop_loss_portfolio.py +0 -0
  711. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/backends/ucits_portfolio.py +0 -0
  712. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/conftest.py +0 -0
  713. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/test_accounts.py +0 -0
  714. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/test_controversy_portfolio.py +0 -0
  715. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/test_instrument_list_portfolio.py +0 -0
  716. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/test_liquidity_risk.py +0 -0
  717. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/test_product_integrity.py +0 -0
  718. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/risk_management/tests/test_ucits_portfolio.py +0 -0
  719. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/adjustments.py +0 -0
  720. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/assets.py +0 -0
  721. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/custodians.py +0 -0
  722. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/portfolio_cash_flow.py +0 -0
  723. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/portfolio_cash_targets.py +0 -0
  724. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/portfolio_relationship.py +0 -0
  725. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/portfolio_swing_pricing.py +0 -0
  726. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/product_group.py +0 -0
  727. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/reconciliations.py +0 -0
  728. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/registers.py +0 -0
  729. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/serializers/roles.py +0 -0
  730. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/css/macro_review.css +0 -0
  731. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/account_holding_reconciliation.md +0 -0
  732. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/aggregate_asset_position_liquidity.md +0 -0
  733. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/company.md +0 -0
  734. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/earnings_instrument.md +0 -0
  735. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/financial_analysis_instrument_ratios.md +0 -0
  736. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/financial_statistics.md +0 -0
  737. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/static/wbportfolio/markdown/documentation/person.md +0 -0
  738. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/templates/portfolio/email/customer_report.html +0 -0
  739. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/templates/portfolio/email/customer_trade_notification.html +0 -0
  740. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/templates/portfolio/email/email_base_template.html +0 -0
  741. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/templates/portfolio/email/rebalancing_report.html +0 -0
  742. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/templates/portfolio/macro/macro_review.html +0 -0
  743. {wbportfolio-1.49.6/wbportfolio/tests/pms → wbportfolio-1.59.3/wbportfolio/tests/analysis}/__init__.py +0 -0
  744. {wbportfolio-1.49.6/wbportfolio/tests/serializers → wbportfolio-1.59.3/wbportfolio/tests/models/orders}/__init__.py +0 -0
  745. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_account_reconciliation.py +0 -0
  746. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_custodians.py +0 -0
  747. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_customer_trades.py +0 -0
  748. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_dividends.py +0 -0
  749. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_instrument_mixins.py +0 -0
  750. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_merge.py +0 -0
  751. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_portfolio_cash_flow.py +0 -0
  752. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_portfolio_cash_targets.py +0 -0
  753. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_portfolio_swing_pricings.py +0 -0
  754. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_product_groups.py +0 -0
  755. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/test_roles.py +0 -0
  756. {wbportfolio-1.49.6/wbportfolio/tests/viewsets → wbportfolio-1.59.3/wbportfolio/tests/models/transactions}/__init__.py +0 -0
  757. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/transactions/test_claim.py +0 -0
  758. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/models/utils.py +0 -0
  759. {wbportfolio-1.49.6/wbportfolio/tests/viewsets/transactions → wbportfolio-1.59.3/wbportfolio/tests/pms}/__init__.py +0 -0
  760. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/serializers/test_claims.py +0 -0
  761. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/viewsets/test_assets.py +0 -0
  762. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/viewsets/test_performances.py +0 -0
  763. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/tests/viewsets/transactions/test_claims.py +0 -0
  764. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/utils.py +0 -0
  765. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/assets_and_net_new_money_progression.py +0 -0
  766. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/__init__.py +0 -0
  767. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/adjustments.py +0 -0
  768. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/claims.py +0 -0
  769. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/custodians.py +0 -0
  770. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/fees.py +0 -0
  771. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/reconciliations.py +0 -0
  772. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/registers.py +0 -0
  773. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/signals.py +0 -0
  774. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/buttons/trades.py +0 -0
  775. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/adjustments.py +0 -0
  776. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/claim.py +0 -0
  777. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/custodians.py +0 -0
  778. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/esg.py +0 -0
  779. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/portfolio_cash_flow.py +0 -0
  780. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/portfolio_relationship.py +0 -0
  781. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/positions.py +0 -0
  782. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/product_groups.py +0 -0
  783. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/product_performance.py +0 -0
  784. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/registers.py +0 -0
  785. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/display/roles.py +0 -0
  786. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/endpoints/custodians.py +0 -0
  787. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/endpoints/product_groups.py +0 -0
  788. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/endpoints/rebalancing.py +0 -0
  789. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/endpoints/reconciliations.py +0 -0
  790. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/endpoints/roles.py +0 -0
  791. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/adjustments.py +0 -0
  792. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/assets.py +0 -0
  793. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/claim.py +0 -0
  794. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/custodians.py +0 -0
  795. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/fees.py +0 -0
  796. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/instrument_prices.py +0 -0
  797. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/portfolio_cash_flow.py +0 -0
  798. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/portfolios.py +0 -0
  799. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/positions.py +0 -0
  800. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/product_groups.py +0 -0
  801. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/product_performance.py +0 -0
  802. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/products.py +0 -0
  803. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/reconciliations.py +0 -0
  804. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/registers.py +0 -0
  805. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/menu/roles.py +0 -0
  806. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/previews/__init__.py +0 -0
  807. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/previews/portfolios.py +0 -0
  808. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/adjustments.py +0 -0
  809. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/assets.py +0 -0
  810. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/assets_and_net_new_money_progression.py +0 -0
  811. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/claim.py +0 -0
  812. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/custodians.py +0 -0
  813. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/esg.py +0 -0
  814. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/instrument_prices.py +0 -0
  815. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/portfolios.py +0 -0
  816. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/positions.py +0 -0
  817. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/product_groups.py +0 -0
  818. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/product_performance.py +0 -0
  819. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/products.py +0 -0
  820. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/registers.py +0 -0
  821. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/roles.py +0 -0
  822. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/configs/titles/trades.py +0 -0
  823. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/custodians.py +0 -0
  824. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/portfolio_cash_flow.py +0 -0
  825. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/portfolio_cash_targets.py +0 -0
  826. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/portfolio_relationship.py +0 -0
  827. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/portfolio_swing_pricing.py +0 -0
  828. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/product_groups.py +0 -0
  829. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/product_performance.py +0 -0
  830. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/registers.py +0 -0
  831. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/roles.py +0 -0
  832. {wbportfolio-1.49.6 → wbportfolio-1.59.3}/wbportfolio/viewsets/transactions/mixins.py +0 -0
@@ -0,0 +1,180 @@
1
+ ~
2
+
3
+ # Docker volumes
4
+ volumes/
5
+ # Poetry auth file
6
+ auth.toml
7
+
8
+ media/*
9
+ media/
10
+ mediafiles/
11
+ mediafiles/*
12
+ test/*
13
+ staticfiles/*
14
+ staticfiles/
15
+ #
16
+ # Byte-compiled / optimized / DLL files
17
+ __pycache__/
18
+ *.py[cod]
19
+ *$py.class
20
+
21
+ # C extensions
22
+ *.so
23
+
24
+ # Distribution / packaging
25
+ .Python
26
+ build/
27
+ develop-eggs/
28
+ dist/
29
+ info/
30
+ downloads/
31
+ eggs/
32
+ .eggs/
33
+ lib/
34
+ lib64/
35
+ parts/
36
+ sdist/
37
+ var/
38
+ wheels/
39
+ share/python-wheels/
40
+ *.egg-info/
41
+ .installed.cfg
42
+ *.egg
43
+ MANIFEST
44
+
45
+ # PyInstaller
46
+ # Usually these files are written by a python script from a template
47
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
48
+ *.manifest
49
+ *.spec
50
+
51
+ # Installer logs
52
+ pip-log.txt
53
+ pip-delete-this-directory.txt
54
+
55
+ # Unit test / coverage reports
56
+ htmlcov/
57
+ .tox/
58
+ .nox/
59
+ .coverage
60
+ .coverage.*
61
+ .cache
62
+ .dccache
63
+ nosetests.xml
64
+ coverage.xml
65
+ *.cover
66
+ *.py,cover
67
+ .hypothesis/
68
+ .pytest_cache/
69
+ cover/
70
+ report.xml
71
+ */report.xml
72
+
73
+ # Translations
74
+ *.pot
75
+
76
+ # Django stuff:
77
+ *.log
78
+ local_settings.py
79
+ *.sqlite3
80
+ db.sqlite3-journal
81
+
82
+ # Flask stuff:
83
+ instance/
84
+ .webassets-cache
85
+
86
+ # Scrapy stuff:
87
+ .scrapy
88
+
89
+ # Sphinx documentation
90
+ docs/_build/
91
+
92
+ # PyBuilder
93
+ .pybuilder/
94
+ target/
95
+
96
+ # Jupyter Notebook
97
+ .ipynb_checkpoints
98
+ *.ipynb
99
+ # IPython
100
+ profile_default/
101
+ ipython_config.py
102
+
103
+ # pyenv
104
+ # For a library or package, you might want to ignore these files since the code is
105
+ # intended to run in multiple environments; otherwise, check them in:
106
+ # .python-version
107
+
108
+ # pipenv
109
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
110
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
111
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
112
+ # install all needed dependencies.
113
+ #Pipfile.lock
114
+
115
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
116
+ __pypackages__/
117
+
118
+ # Celery stuff
119
+ celerybeat-schedule
120
+ celerybeat.pid
121
+
122
+ # SageMath parsed files
123
+ *.sage.py
124
+
125
+ # Environments
126
+ .env
127
+ .envrc
128
+ .venv
129
+ env/
130
+ venv/
131
+ ENV/
132
+ env.bak/
133
+ venv.bak/
134
+ .vscode/
135
+ .idea/
136
+ .idea.bkp/
137
+
138
+ # Spyder project settings
139
+ .spyderproject
140
+ .spyproject
141
+
142
+ # Rope project settings
143
+ .ropeproject
144
+
145
+ # mkdocs documentation
146
+ /site
147
+
148
+ # mypy
149
+ .mypy_cache/
150
+ .dmypy.json
151
+ dmypy.json
152
+
153
+ # Pyre type checker
154
+ .pyre/
155
+
156
+ # pytype static type analyzer
157
+ .pytype/
158
+ crm/
159
+ # Cython debug symbols
160
+ cython_debug/
161
+
162
+ # Gitlab Runner
163
+ builds
164
+ builds/
165
+
166
+ # Integrator Office 365 : reverse proxy tunnel for outlook365
167
+ ngrok
168
+ */ngrok
169
+ /modules/**/system/
170
+
171
+ /modules/wbmailing/files/*
172
+ /modules/wbmailing/mailing/*
173
+
174
+ /projects/*/requirements.txt
175
+ public
176
+
177
+ # Ignore archive localization generated folder
178
+ backend/modules/**/archive/*
179
+ **/**/requirements.txt
180
+ CHANGELOG-*
@@ -0,0 +1,26 @@
1
+ Metadata-Version: 2.4
2
+ Name: wbportfolio
3
+ Version: 1.59.3
4
+ Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
5
+ License-File: LICENSE
6
+ Requires-Dist: cryptography==3.4.*
7
+ Requires-Dist: dateparser==1.*
8
+ Requires-Dist: django-storages==1.14.*
9
+ Requires-Dist: fuzzywuzzy==0.*
10
+ Requires-Dist: jinjasql2==0.1.*
11
+ Requires-Dist: msoffcrypto-tool==4.10.*
12
+ Requires-Dist: networkx>=3.4.2
13
+ Requires-Dist: pydot>=3.0.4
14
+ Requires-Dist: python-levenshtein==0.*
15
+ Requires-Dist: reportlab==3.*
16
+ Requires-Dist: scipy>=1
17
+ Requires-Dist: skfolio==0.6.*
18
+ Requires-Dist: wbcompliance
19
+ Requires-Dist: wbcore
20
+ Requires-Dist: wbcrm
21
+ Requires-Dist: wbfdm
22
+ Requires-Dist: wbmailing
23
+ Requires-Dist: wbnews
24
+ Requires-Dist: wbreport
25
+ Requires-Dist: xlrd==2.*
26
+ Requires-Dist: xlsxwriter==3.*
@@ -0,0 +1,57 @@
1
+ [project]
2
+ name = "wbportfolio"
3
+ description = ""
4
+ authors = [{ name = "Christopher Wittlinger", email = "c.wittlinger@stainly.com"}]
5
+ dynamic = ["version"]
6
+
7
+ dependencies = [
8
+ "wbcore",
9
+ "wbcrm",
10
+ "wbfdm",
11
+ "wbcompliance",
12
+ "wbnews",
13
+ "wbreport",
14
+ "wbmailing",
15
+ "cryptography == 3.4.*",
16
+ # Reporting Tools
17
+ "xlrd == 2.*",
18
+ "XlsxWriter == 3.*",
19
+ # MS Office Crypto Tools
20
+ "msoffcrypto-tool == 4.10.*",
21
+ # String pattern matching
22
+ "dateparser == 1.*",
23
+ "scipy >= 1",
24
+ "fuzzywuzzy == 0.*",
25
+ "python-Levenshtein == 0.*",
26
+ "reportlab == 3.*",
27
+ "django-storages == 1.14.*", # handling silk file is dependant of the django storage version. Version 1.14.* drops support for django 4
28
+ "jinjasql2 == 0.1.*",
29
+ "skfolio == 0.6.*",
30
+ "pydot>=3.0.4",
31
+ "networkx>=3.4.2",
32
+ ]
33
+
34
+ [tool.uv.sources]
35
+ wbcore = { workspace = true }
36
+ wbcrm = { workspace = true }
37
+ wbfdm = { workspace = true }
38
+ wbcompliance = { workspace = true }
39
+ wbnews = { workspace = true }
40
+
41
+ [tool.uv]
42
+ package = true
43
+
44
+ [tool.hatch.version]
45
+ path = "../../pyproject.toml"
46
+
47
+ [tool.hatch.build]
48
+ include = ["wbportfolio/**/*"]
49
+
50
+ [build-system]
51
+ requires = ["hatchling"]
52
+ build-backend = "hatchling.build"
53
+
54
+ [tool.pyright]
55
+ venvPath = "../.."
56
+ venv = ".venv"
57
+ reportIncompatibleVariableOverride = false
@@ -0,0 +1,14 @@
1
+ # Import CRM Relevant Data
2
+ from .portfolio_relationships import PortfolioInstrumentPreferredClassificationThroughInlineModelAdmin
3
+ from .asset import AssetPositionModelAdmin
4
+ from .custodians import CustodianModelAdmin
5
+ from .products import ProductAdmin
6
+ from .indexes import IndexAdmin
7
+ from .product_groups import ProductGroupAdmin
8
+ from .portfolio import PortfolioModelAdmin
9
+ from .registers import RegisterModelAdmin
10
+ from .roles import PortfolioRoleAdmin
11
+ from .transactions import DividendAdmin, FeesAdmin, TradeAdmin
12
+ from .reconciliations import AccountReconciliationAdmin
13
+ from .orders import OrderProposalAdmin
14
+ from .rebalancing import RebalancingModelAdmin, RebalancerAdmin
@@ -0,0 +1,15 @@
1
+ from django.contrib import admin
2
+ from wbfdm.admin import InstrumentModelAdmin
3
+
4
+ from wbportfolio.models import Index
5
+
6
+
7
+ @admin.register(Index)
8
+ class IndexAdmin(InstrumentModelAdmin):
9
+ fieldsets = (
10
+ ("Instrument Information", InstrumentModelAdmin.fieldsets[0][1]),
11
+ (
12
+ "Index Information",
13
+ {"fields": (("net_asset_value_computation_method_path", "order_routing_custodian_adapter"),)},
14
+ ),
15
+ )
@@ -0,0 +1,2 @@
1
+ from .orders import OrderTabularInline
2
+ from .order_proposals import OrderProposalAdmin
@@ -0,0 +1,16 @@
1
+ from django.contrib import admin
2
+
3
+ from wbportfolio.models import OrderProposal
4
+
5
+ from .orders import OrderTabularInline
6
+
7
+
8
+ @admin.register(OrderProposal)
9
+ class OrderProposalAdmin(admin.ModelAdmin):
10
+ search_fields = ["portfolio__name", "comment"]
11
+
12
+ list_display = ("portfolio", "rebalancing_model", "trade_date", "status")
13
+ autocomplete_fields = ["portfolio", "rebalancing_model"]
14
+ inlines = [OrderTabularInline]
15
+
16
+ raw_id_fields = ["portfolio", "creator", "approver"]
@@ -0,0 +1,32 @@
1
+ from django.contrib import admin
2
+
3
+ from wbportfolio.models.orders import Order
4
+
5
+
6
+ class OrderTabularInline(admin.TabularInline):
7
+ model = Order
8
+ fk_name = "order_proposal"
9
+
10
+ readonly_fields = [
11
+ "_effective_weight",
12
+ "_target_weight",
13
+ "_effective_shares",
14
+ "_target_shares",
15
+ "total_value",
16
+ "total_value_gross",
17
+ "total_value_fx_portfolio",
18
+ "total_value_gross_fx_portfolio",
19
+ "created",
20
+ "updated",
21
+ ]
22
+
23
+ fields = [
24
+ "underlying_instrument",
25
+ "_effective_weight",
26
+ "_target_weight",
27
+ "weighting",
28
+ "shares",
29
+ "daily_return",
30
+ ]
31
+
32
+ raw_id_fields = ["underlying_instrument"]
@@ -0,0 +1,138 @@
1
+ from django.contrib import admin
2
+
3
+ from wbportfolio.models import (
4
+ DailyPortfolioCashFlow,
5
+ InstrumentPortfolioThroughModel,
6
+ Portfolio,
7
+ PortfolioBankAccountThroughModel,
8
+ PortfolioCashTarget,
9
+ PortfolioPortfolioThroughModel,
10
+ PortfolioSwingPricing,
11
+ )
12
+
13
+
14
+ @admin.register(PortfolioBankAccountThroughModel)
15
+ class PortfolioBankAccountThroughModelModelAdmin(admin.ModelAdmin):
16
+ autocomplete_fields = ["bank_account", "portfolio"]
17
+ list_display = ["bank_account", "portfolio", "portfolio_bank_account_type"]
18
+
19
+
20
+ class InstrumentPortfolioThroughModelAdmin(admin.TabularInline):
21
+ model = InstrumentPortfolioThroughModel
22
+ fk_name = "portfolio"
23
+ raw_id_fields = ["portfolio", "instrument"]
24
+
25
+
26
+ class PortfolioPortfolioThroughModelInlineAdmin(admin.TabularInline):
27
+ model = PortfolioPortfolioThroughModel
28
+ fk_name = "portfolio"
29
+ fields = ["dependency_portfolio", "type"]
30
+ autocomplete_fields = ["portfolio", "dependency_portfolio"]
31
+
32
+
33
+ @admin.register(PortfolioPortfolioThroughModel)
34
+ class PortfolioPortfolioThroughModelModelAdmin(admin.ModelAdmin):
35
+ list_display = ["portfolio", "dependency_portfolio", "type"]
36
+
37
+
38
+ class PortfolioBankAccountThroughModelAdmin(admin.TabularInline):
39
+ model = PortfolioBankAccountThroughModel
40
+ fields = ["bank_account", "portfolio_bank_account_type"]
41
+
42
+
43
+ @admin.register(Portfolio)
44
+ class PortfolioModelAdmin(admin.ModelAdmin):
45
+ search_fields = ("name",)
46
+
47
+ fieldsets = (
48
+ (
49
+ "Main Information",
50
+ {
51
+ "fields": (
52
+ ("name", "updated_at"),
53
+ ("currency", "hedged_currency"),
54
+ (
55
+ "invested_timespan",
56
+ "is_manageable",
57
+ "is_active",
58
+ ),
59
+ ("is_tracked", "only_weighting", "is_lookthrough"),
60
+ )
61
+ },
62
+ ),
63
+ (
64
+ "OMS",
65
+ {
66
+ "fields": (
67
+ "default_order_proposal_min_order_value",
68
+ "default_order_proposal_min_weighting",
69
+ "default_order_proposal_total_cash_weight",
70
+ )
71
+ },
72
+ ),
73
+ )
74
+ readonly_fields = ["updated_at"]
75
+ list_display = (
76
+ "is_active",
77
+ "name",
78
+ "currency",
79
+ "hedged_currency",
80
+ "is_manageable",
81
+ "is_tracked",
82
+ "is_lookthrough",
83
+ )
84
+ inlines = [
85
+ PortfolioBankAccountThroughModelAdmin,
86
+ InstrumentPortfolioThroughModelAdmin,
87
+ # PortfolioInstrumentPreferredClassificationThroughInlineModelAdmin,
88
+ PortfolioPortfolioThroughModelInlineAdmin,
89
+ ]
90
+ raw_id_fields = [
91
+ "depends_on",
92
+ "preferred_instrument_classifications",
93
+ "currency",
94
+ "hedged_currency",
95
+ ]
96
+ autocomplete_fields = ["currency", "hedged_currency"]
97
+
98
+ def get_queryset(self, request):
99
+ return Portfolio.all_objects.all()
100
+
101
+ def update_preferred_classification_per_instrument(self, request, queryset):
102
+ for portfolio in queryset.all():
103
+ portfolio.update_preferred_classification_per_instrument()
104
+
105
+ actions = [update_preferred_classification_per_instrument]
106
+
107
+
108
+ @admin.register(DailyPortfolioCashFlow)
109
+ class DailyPortfolioCashFlowModelAdmin(admin.ModelAdmin):
110
+ autocomplete_fields = ["portfolio"]
111
+ raw_id_fields = ["import_source"]
112
+ list_display = [
113
+ "portfolio",
114
+ "value_date",
115
+ ]
116
+ readonly_fields = [
117
+ "estimated_total_assets",
118
+ "true_cash",
119
+ "true_cash_pct",
120
+ "cash_pct",
121
+ "target_cash",
122
+ "excess_cash",
123
+ "min_target_cash_pct",
124
+ "target_cash_pct",
125
+ "max_target_cash_pct",
126
+ "proposed_rebalancing",
127
+ "rebalancing",
128
+ ]
129
+
130
+
131
+ @admin.register(PortfolioCashTarget)
132
+ class PortfolioCashTargetModelAdmin(admin.ModelAdmin):
133
+ autocomplete_fields = ["portfolio"]
134
+
135
+
136
+ @admin.register(PortfolioSwingPricing)
137
+ class PortfolioSwingPricingModelAdmin(admin.ModelAdmin):
138
+ autocomplete_fields = ["portfolio"]
@@ -0,0 +1,44 @@
1
+ from django.contrib import admin
2
+ from wbfdm.admin.instruments import InstrumentModelAdmin
3
+
4
+ from wbportfolio.models import ProductGroup, ProductGroupRepresentant
5
+
6
+ from .portfolio_relationships import InstrumentPortfolioThroughModelAdmin
7
+
8
+
9
+ @admin.register(ProductGroup)
10
+ class ProductGroupAdmin(InstrumentModelAdmin):
11
+ search_fields = ("name", "currency")
12
+
13
+ autocomplete_fields = [
14
+ "management_company",
15
+ "depositary",
16
+ "transfer_agent",
17
+ "administrator",
18
+ "investment_manager",
19
+ "auditor",
20
+ "paying_agent",
21
+ "currency",
22
+ ] + InstrumentModelAdmin.autocomplete_fields
23
+
24
+ fieldsets = (
25
+ ("Instrument Information", InstrumentModelAdmin.fieldsets[0][1]),
26
+ (
27
+ "Group Information",
28
+ {
29
+ "fields": (
30
+ ("type", "category", "umbrella"),
31
+ ("management_company", "depositary", "transfer_agent", "administrator"),
32
+ ("investment_manager", "auditor", "paying_agent"),
33
+ ("net_asset_value_computation_method_path", "order_routing_custodian_adapter", "risk_scale"),
34
+ )
35
+ },
36
+ ),
37
+ )
38
+
39
+ inlines = [InstrumentPortfolioThroughModelAdmin]
40
+
41
+
42
+ @admin.register(ProductGroupRepresentant)
43
+ class ProductGroupRepresentantModelAdmin(admin.ModelAdmin):
44
+ autocomplete_fields = ["representant"]
@@ -0,0 +1,82 @@
1
+ from django.contrib import admin
2
+ from wbfdm.admin import InstrumentModelAdmin
3
+
4
+ from wbportfolio.models import FeeProductPercentage, Product
5
+
6
+ from .roles import PortfolioRoleInline
7
+
8
+
9
+ class FeeProductPercentagTabularInline(admin.TabularInline):
10
+ model = FeeProductPercentage
11
+ fk_name = "product"
12
+ fields = [
13
+ "type",
14
+ "vat_deduction",
15
+ "percent",
16
+ "timespan",
17
+ ]
18
+
19
+
20
+ @admin.register(Product)
21
+ class ProductAdmin(InstrumentModelAdmin):
22
+ search_fields = ("name", "isin", "ticker")
23
+ list_display = ("name", "ticker", "isin", "bank", "primary_benchmark", "_is_invested")
24
+ autocomplete_fields = [
25
+ "country",
26
+ "jurisdiction",
27
+ "white_label_customers",
28
+ "bank",
29
+ "default_account",
30
+ "parent",
31
+ *InstrumentModelAdmin.autocomplete_fields,
32
+ ]
33
+ fieldsets = (
34
+ ("Instrument Information", InstrumentModelAdmin.fieldsets[0][1]),
35
+ (
36
+ "Product Information",
37
+ {
38
+ "fields": (
39
+ ("share_price", "initial_high_water_mark", "bank"),
40
+ ("fee_calculation", "net_asset_value_computation_method_path", "order_routing_custodian_adapter"),
41
+ (
42
+ "white_label_customers",
43
+ "default_account",
44
+ "bank_account",
45
+ ),
46
+ )
47
+ },
48
+ ),
49
+ (
50
+ "Factsheet",
51
+ {
52
+ "fields": (
53
+ ("type_of_return", "asset_class", "legal_structure"),
54
+ ("investment_index", "liquidity", "risk_scale"),
55
+ (
56
+ "jurisdiction",
57
+ "dividend",
58
+ "termsheet",
59
+ ),
60
+ ("external_webpage", "minimum_subscription", "cut_off_time"),
61
+ )
62
+ },
63
+ ),
64
+ )
65
+
66
+ inlines = [FeeProductPercentagTabularInline, PortfolioRoleInline, *InstrumentModelAdmin.inlines]
67
+ raw_id_fields = [
68
+ "country",
69
+ "jurisdiction",
70
+ "white_label_customers",
71
+ "bank",
72
+ "default_account",
73
+ "parent",
74
+ *InstrumentModelAdmin.raw_id_fields,
75
+ ]
76
+
77
+ def update_preferred_classification_per_instrument(self, request, queryset):
78
+ for product in queryset.all():
79
+ if portfolio := product.portfolio:
80
+ portfolio.update_preferred_classification_per_instrument()
81
+
82
+ actions = [update_preferred_classification_per_instrument]
@@ -0,0 +1,26 @@
1
+ from django.contrib import admin
2
+
3
+ from wbportfolio.models import Rebalancer, RebalancingModel
4
+
5
+
6
+ @admin.register(RebalancingModel)
7
+ class RebalancingModelAdmin(admin.ModelAdmin):
8
+ search_fields = ("name",)
9
+ list_display = (
10
+ "name",
11
+ "class_path",
12
+ )
13
+
14
+
15
+ @admin.register(Rebalancer)
16
+ class RebalancerAdmin(admin.ModelAdmin):
17
+ search_fields = ("rebalancing_model__name",)
18
+ list_display = (
19
+ "computed_str",
20
+ "rebalancing_model",
21
+ "portfolio",
22
+ "parameters",
23
+ "apply_order_proposal_automatically",
24
+ "activation_date",
25
+ "frequency",
26
+ )
@@ -0,0 +1,4 @@
1
+ from .claim import ClaimModelAdmin
2
+ from .dividends import DividendAdmin
3
+ from .fees import FeesAdmin
4
+ from .trades import TradeAdmin
@@ -0,0 +1,51 @@
1
+ from django.contrib import admin
2
+
3
+ from wbportfolio.models import DividendTransaction
4
+
5
+
6
+ @admin.register(DividendTransaction)
7
+ class DividendAdmin(admin.ModelAdmin):
8
+ search_fields = ["portfolio__name", "underlying_instrument__computed_str"]
9
+ list_filter = ("distribution_method", "portfolio")
10
+ list_display = (
11
+ "distribution_method",
12
+ "portfolio",
13
+ "underlying_instrument",
14
+ "value_date",
15
+ "currency",
16
+ "currency_fx_rate",
17
+ "total_value",
18
+ "total_value_fx_portfolio",
19
+ )
20
+ fieldsets = (
21
+ (
22
+ "Dividend Information",
23
+ {
24
+ "fields": (
25
+ (
26
+ "portfolio",
27
+ "underlying_instrument",
28
+ "import_source",
29
+ ),
30
+ ("ex_date", "record_date", "value_date"),
31
+ ("currency", "currency_fx_rate"),
32
+ ("price", "shares", "retrocession"),
33
+ ("total_value", "total_value_gross"),
34
+ ("total_value_fx_portfolio", "total_value_gross_fx_portfolio"),
35
+ ("created", "updated"),
36
+ ("comment",),
37
+ )
38
+ },
39
+ ),
40
+ )
41
+ readonly_fields = [
42
+ "total_value",
43
+ "total_value_gross",
44
+ "total_value_fx_portfolio",
45
+ "total_value_gross_fx_portfolio",
46
+ "created",
47
+ "updated",
48
+ ]
49
+ autocomplete_fields = ["portfolio", "underlying_instrument", "currency"]
50
+ ordering = ("-value_date",)
51
+ raw_id_fields = ["import_source"]