wbportfolio 1.50.8__tar.gz → 1.50.10__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 (528) hide show
  1. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/PKG-INFO +1 -1
  2. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/assets.py +16 -14
  3. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/assets_and_net_new_money_progression.py +1 -1
  4. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/esg.py +2 -2
  5. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/performances.py +6 -6
  6. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/portfolios.py +2 -2
  7. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/positions.py +6 -6
  8. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/products.py +2 -2
  9. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/roles.py +1 -1
  10. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/signals.py +1 -1
  11. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/transactions/claim.py +9 -8
  12. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/transactions/fees.py +3 -2
  13. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/transactions/trades.py +1 -1
  14. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/transactions/transactions.py +2 -2
  15. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/llm/wbcrm/analyze_relationship.py +13 -12
  16. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/products.py +1 -1
  17. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/claim.py +1 -2
  18. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/.gitignore +0 -0
  19. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/LICENSE +0 -0
  20. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/pyproject.toml +0 -0
  21. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/__init__.py +0 -0
  22. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/__init__.py +0 -0
  23. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/asset.py +0 -0
  24. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/custodians.py +0 -0
  25. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/indexes.py +0 -0
  26. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/portfolio.py +0 -0
  27. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/portfolio_relationships.py +0 -0
  28. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/product_groups.py +0 -0
  29. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/products.py +0 -0
  30. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/reconciliations.py +0 -0
  31. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/registers.py +0 -0
  32. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/roles.py +0 -0
  33. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/__init__.py +0 -0
  34. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/claim.py +0 -0
  35. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/dividends.py +0 -0
  36. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/fees.py +0 -0
  37. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/rebalancing.py +0 -0
  38. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/trades.py +0 -0
  39. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/admin/transactions/transactions.py +0 -0
  40. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/analysis/__init__.py +0 -0
  41. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/analysis/claims.py +0 -0
  42. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/apps.py +0 -0
  43. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/__init__.py +0 -0
  44. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/__init__.py +0 -0
  45. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/admin.py +0 -0
  46. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/apps.py +0 -0
  47. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/configs/__init__.py +0 -0
  48. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/configs/display.py +0 -0
  49. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/configs/endpoints.py +0 -0
  50. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/configs/previews.py +0 -0
  51. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/constants.py +0 -0
  52. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/dynamic_preferences_registry.py +0 -0
  53. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/factories.py +0 -0
  54. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/filters.py +0 -0
  55. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/management.py +0 -0
  56. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/migrations/0001_initial.py +0 -0
  57. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/migrations/__init__.py +0 -0
  58. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/models.py +0 -0
  59. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/scripts.py +0 -0
  60. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/serializers.py +0 -0
  61. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/tasks.py +0 -0
  62. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/tests/__init__.py +0 -0
  63. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/tests/conftest.py +0 -0
  64. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/tests/test_models.py +0 -0
  65. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/urls.py +0 -0
  66. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/contrib/company_portfolio/viewsets.py +0 -0
  67. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/defaults/__init__.py +0 -0
  68. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/defaults/fees/__init__.py +0 -0
  69. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/defaults/fees/default.py +0 -0
  70. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/dynamic_preferences_registry.py +0 -0
  71. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/__init__.py +0 -0
  72. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/adjustments.py +0 -0
  73. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/assets.py +0 -0
  74. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/claim.py +0 -0
  75. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/custodians.py +0 -0
  76. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/dividends.py +0 -0
  77. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/fees.py +0 -0
  78. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/indexes.py +0 -0
  79. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/portfolio_cash_flow.py +0 -0
  80. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/portfolio_cash_targets.py +0 -0
  81. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/portfolio_swing_pricings.py +0 -0
  82. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/portfolios.py +0 -0
  83. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/product_groups.py +0 -0
  84. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/products.py +0 -0
  85. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/rebalancing.py +0 -0
  86. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/reconciliations.py +0 -0
  87. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/roles.py +0 -0
  88. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/trades.py +0 -0
  89. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/factories/transactions.py +0 -0
  90. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/fdm/__init__.py +0 -0
  91. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/fdm/tasks.py +0 -0
  92. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/__init__.py +0 -0
  93. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/custodians.py +0 -0
  94. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/transactions/__init__.py +0 -0
  95. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/filters/transactions/mixins.py +0 -0
  96. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/fixtures/product_factsheets.yaml +0 -0
  97. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/fixtures/wbportfolio.yaml.gz +0 -0
  98. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/fixtures/wbrisk_management.yaml.gz +0 -0
  99. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/__init__.py +0 -0
  100. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/__init__.py +0 -0
  101. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/refinitiv/adjustment.py +0 -0
  102. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/ubs/__init__.py +0 -0
  103. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/ubs/asset_position.py +0 -0
  104. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/ubs/fees.py +0 -0
  105. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/ubs/instrument_price.py +0 -0
  106. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/ubs/mixin.py +0 -0
  107. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/utils.py +0 -0
  108. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/wbfdm/__init__.py +0 -0
  109. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/wbfdm/adjustment.py +0 -0
  110. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/wbfdm/dividend.py +0 -0
  111. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/backends/wbfdm/mixin.py +0 -0
  112. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/__init__.py +0 -0
  113. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/adjustment.py +0 -0
  114. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/asset_position.py +0 -0
  115. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/dividend.py +0 -0
  116. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/fees.py +0 -0
  117. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/portfolio_cash_flow.py +0 -0
  118. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/register.py +0 -0
  119. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/handlers/trade.py +0 -0
  120. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/__init__.py +0 -0
  121. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/default_mapping.py +0 -0
  122. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/jpmorgan/__init__.py +0 -0
  123. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/jpmorgan/customer_trade.py +0 -0
  124. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/jpmorgan/fees.py +0 -0
  125. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/jpmorgan/strategy.py +0 -0
  126. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/jpmorgan/valuation.py +0 -0
  127. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/leonteq/__init__.py +0 -0
  128. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/leonteq/customer_trade.py +0 -0
  129. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/leonteq/equity.py +0 -0
  130. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/leonteq/fees.py +0 -0
  131. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/leonteq/trade.py +0 -0
  132. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/leonteq/valuation.py +0 -0
  133. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/__init__.py +0 -0
  134. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/customer_trade.py +0 -0
  135. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/d1_customer_trade.py +0 -0
  136. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/d1_equity.py +0 -0
  137. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/d1_fees.py +0 -0
  138. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/d1_trade.py +0 -0
  139. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/d1_valuation.py +0 -0
  140. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/dividend.py +0 -0
  141. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/equity.py +0 -0
  142. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/fees.py +0 -0
  143. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/trade.py +0 -0
  144. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/utils.py +0 -0
  145. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/natixis/valuation.py +0 -0
  146. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/refinitiv/__init__.py +0 -0
  147. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/refinitiv/adjustment.py +0 -0
  148. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/__init__.py +0 -0
  149. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/custodian_positions.py +0 -0
  150. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/customer_trade.py +0 -0
  151. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/customer_trade_pending_slk.py +0 -0
  152. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/customer_trade_slk.py +0 -0
  153. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/customer_trade_without_pw.py +0 -0
  154. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/equity.py +0 -0
  155. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/fees.py +0 -0
  156. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/perf_fees.py +0 -0
  157. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/portfolio_cash_flow.py +0 -0
  158. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/portfolio_future_cash_flow.py +0 -0
  159. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/registers.py +0 -0
  160. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/sylk.py +0 -0
  161. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/utils.py +0 -0
  162. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/sg_lux/valuation.py +0 -0
  163. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/societe_generale/__init__.py +0 -0
  164. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/societe_generale/customer_trade.py +0 -0
  165. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/societe_generale/strategy.py +0 -0
  166. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/societe_generale/valuation.py +0 -0
  167. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/tellco/__init__.py +0 -0
  168. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/tellco/customer_trade.py +0 -0
  169. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/tellco/equity.py +0 -0
  170. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/tellco/valuation.py +0 -0
  171. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/__init__.py +0 -0
  172. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/api/__init__.py +0 -0
  173. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/api/asset_position.py +0 -0
  174. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/api/fees.py +0 -0
  175. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/api/instrument_price.py +0 -0
  176. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/api/utils.py +0 -0
  177. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/customer_trade.py +0 -0
  178. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/equity.py +0 -0
  179. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/historical_customer_trade.py +0 -0
  180. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/ubs/valuation.py +0 -0
  181. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/__init__.py +0 -0
  182. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/asset_position.py +0 -0
  183. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/customer_trade.py +0 -0
  184. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/historical_customer_trade.py +0 -0
  185. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/instrument.py +0 -0
  186. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/management_fees.py +0 -0
  187. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/performance_fees.py +0 -0
  188. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/trade.py +0 -0
  189. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/utils.py +0 -0
  190. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/valuation.py +0 -0
  191. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/parsers/vontobel/valuation_api.py +0 -0
  192. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/resources/__init__.py +0 -0
  193. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/resources/assets.py +0 -0
  194. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/resources/trades.py +0 -0
  195. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/import_export/utils.py +0 -0
  196. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/jinja2/wbportfolio/sql/aum_nnm.sql +0 -0
  197. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/kpi_handlers/nnm.py +0 -0
  198. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/__init__.py +0 -0
  199. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/backends/__init__.py +0 -0
  200. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/backends/base.py +0 -0
  201. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/backends/constants.py +0 -0
  202. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/backends/portfolio_base.py +0 -0
  203. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/backends/portfolio_esg.py +0 -0
  204. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/tests/__init__.py +0 -0
  205. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/tests/conftest.py +0 -0
  206. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/tests/test_portfolio_base.py +0 -0
  207. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/metric/tests/test_portfolio_esg.py +0 -0
  208. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0001_initial_squashed.py +0 -0
  209. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0002_product_default_sub_account_squashed_0039_alter_assetallocation_company_and_more.py +0 -0
  210. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0040_instrument_financial_instrument.py +0 -0
  211. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0041_remove_listresearch_research_ptr_and_more.py +0 -0
  212. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0042_instrumentlist_instrumentlistthroughmodel_and_more.py +0 -0
  213. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0043_alter_instrumentlistthroughmodel_options_and_more.py +0 -0
  214. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0044_alter_instrumentlist_identifier.py +0 -0
  215. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0045_alter_instrument_financial_instrument.py +0 -0
  216. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0046_add_product_default_account.py +0 -0
  217. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0047_remove_product_default_sub_account.py +0 -0
  218. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0048_alter_trade_status.py +0 -0
  219. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0049_trade_claimed_shares.py +0 -0
  220. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0050_fees_fee_date_fees_wbportfolio_transac_1f7a29_idx.py +0 -0
  221. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0051_delete_macroreview.py +0 -0
  222. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0052_remove_cash_instrument_ptr_and_more.py +0 -0
  223. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0053_remove_product_group.py +0 -0
  224. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0054_portfolioinstrumentpreferredclassificationthroughmodel_and_more.py +0 -0
  225. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0055_remove_product__custom_management_rebates_and_more.py +0 -0
  226. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0056_remove_companyportfoliodata_assets_under_management_currency_and_more.py +0 -0
  227. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0057_alter_portfolio_preferred_instrument_classifications_and_more.py +0 -0
  228. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0058_pmsinstrument.py +0 -0
  229. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0059_fees_unique_fees.py +0 -0
  230. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0060_alter_portfolioportfoliothroughmodel_type.py +0 -0
  231. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0061_portfolio_bank_accounts_product_bank_account_and_more.py +0 -0
  232. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0062_alter_dailyportfoliocashflow_options.py +0 -0
  233. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0063_accountreconciliation_accountreconciliationline_and_more.py +0 -0
  234. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0064_alter_portfolio_managers_portfolio_is_tracked_and_more.py +0 -0
  235. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0065_alter_portfolio_managers_claim_as_shares_and_more.py +0 -0
  236. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0066_assetposition_initial_shares_at_custodian_and_more.py +0 -0
  237. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0067_assetposition_unique_asset_position.py +0 -0
  238. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0068_trade_internal_trade_trade_marked_as_internal_and_more.py +0 -0
  239. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0069_remove_portfolio_is_invested_and_more.py +0 -0
  240. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0070_remove_assetposition_unique_asset_position_and_more.py +0 -0
  241. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0071_alter_trade_options_alter_trade_order.py +0 -0
  242. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0072_trade_diff_shares.py +0 -0
  243. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0073_remove_product_price_computation_and_more.py +0 -0
  244. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0074_alter_rebalancer_frequency_and_more.py +0 -0
  245. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0075_portfolio_initial_position_date_and_more.py +0 -0
  246. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/0076_alter_dividendtransaction_price_and_more.py +0 -0
  247. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/migrations/__init__.py +0 -0
  248. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/__init__.py +0 -0
  249. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/adjustments.py +0 -0
  250. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/asset.py +0 -0
  251. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/custodians.py +0 -0
  252. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/exceptions.py +0 -0
  253. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/graphs/__init__.py +0 -0
  254. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/graphs/portfolio.py +0 -0
  255. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/graphs/utils.py +0 -0
  256. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/indexes.py +0 -0
  257. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/mixins/__init__.py +0 -0
  258. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/mixins/instruments.py +0 -0
  259. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/mixins/liquidity_stress_test.py +0 -0
  260. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/portfolio.py +0 -0
  261. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/portfolio_cash_flow.py +0 -0
  262. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/portfolio_cash_targets.py +0 -0
  263. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/portfolio_relationship.py +0 -0
  264. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/portfolio_swing_pricings.py +0 -0
  265. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/product_groups.py +0 -0
  266. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/reconciliations/__init__.py +0 -0
  267. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/reconciliations/account_reconciliation_lines.py +0 -0
  268. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/reconciliations/account_reconciliations.py +0 -0
  269. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/reconciliations/reconciliations.py +0 -0
  270. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/registers.py +0 -0
  271. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/roles.py +0 -0
  272. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/signals.py +0 -0
  273. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/__init__.py +0 -0
  274. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/dividends.py +0 -0
  275. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/expiry.py +0 -0
  276. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/fees.py +0 -0
  277. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/rebalancing.py +0 -0
  278. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/trade_proposals.py +0 -0
  279. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/trades.py +0 -0
  280. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/transactions/transactions.py +0 -0
  281. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/models/utils.py +0 -0
  282. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/permissions.py +0 -0
  283. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/__init__.py +0 -0
  284. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/analytics/__init__.py +0 -0
  285. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/analytics/portfolio.py +0 -0
  286. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/statistics/__init__.py +0 -0
  287. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/trading/__init__.py +0 -0
  288. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/trading/handler.py +0 -0
  289. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/pms/typing.py +0 -0
  290. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/preferences.py +0 -0
  291. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/__init__.py +0 -0
  292. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/base.py +0 -0
  293. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/decorators.py +0 -0
  294. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/models/__init__.py +0 -0
  295. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/models/composite.py +0 -0
  296. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/models/equally_weighted.py +0 -0
  297. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/models/market_capitalization_weighted.py +0 -0
  298. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/rebalancing/models/model_portfolio.py +0 -0
  299. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/reports/__init__.py +0 -0
  300. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/reports/monthly_position_report.py +0 -0
  301. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/__init__.py +0 -0
  302. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/__init__.py +0 -0
  303. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/accounts.py +0 -0
  304. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/controversy_portfolio.py +0 -0
  305. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/exposure_portfolio.py +0 -0
  306. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/instrument_list_portfolio.py +0 -0
  307. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/liquidity_risk.py +0 -0
  308. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/liquidity_stress_instrument.py +0 -0
  309. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/mixins.py +0 -0
  310. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/product_integrity.py +0 -0
  311. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/stop_loss_instrument.py +0 -0
  312. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/stop_loss_portfolio.py +0 -0
  313. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/backends/ucits_portfolio.py +0 -0
  314. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/__init__.py +0 -0
  315. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/conftest.py +0 -0
  316. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_accounts.py +0 -0
  317. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_controversy_portfolio.py +0 -0
  318. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_exposure_portfolio.py +0 -0
  319. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_instrument_list_portfolio.py +0 -0
  320. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_liquidity_risk.py +0 -0
  321. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_product_integrity.py +0 -0
  322. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_stop_loss_instrument.py +0 -0
  323. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_stop_loss_portfolio.py +0 -0
  324. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/risk_management/tests/test_ucits_portfolio.py +0 -0
  325. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/__init__.py +0 -0
  326. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/adjustments.py +0 -0
  327. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/assets.py +0 -0
  328. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/custodians.py +0 -0
  329. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/portfolio_cash_flow.py +0 -0
  330. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/portfolio_cash_targets.py +0 -0
  331. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/portfolio_relationship.py +0 -0
  332. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/portfolio_swing_pricing.py +0 -0
  333. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/portfolios.py +0 -0
  334. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/positions.py +0 -0
  335. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/product_group.py +0 -0
  336. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/products.py +0 -0
  337. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/rebalancing.py +0 -0
  338. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/reconciliations.py +0 -0
  339. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/registers.py +0 -0
  340. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/roles.py +0 -0
  341. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/signals.py +0 -0
  342. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/__init__.py +0 -0
  343. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/claim.py +0 -0
  344. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/dividends.py +0 -0
  345. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/expiry.py +0 -0
  346. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/fees.py +0 -0
  347. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/trade_proposals.py +0 -0
  348. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/trades.py +0 -0
  349. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/serializers/transactions/transactions.py +0 -0
  350. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/css/macro_review.css +0 -0
  351. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/account_holding_reconciliation.md +0 -0
  352. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/aggregate_asset_position_liquidity.md +0 -0
  353. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/company.md +0 -0
  354. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/earnings_instrument.md +0 -0
  355. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/financial_analysis_instrument_ratios.md +0 -0
  356. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/financial_statistics.md +0 -0
  357. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/static/wbportfolio/markdown/documentation/person.md +0 -0
  358. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tasks.py +0 -0
  359. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/templates/portfolio/email/customer_report.html +0 -0
  360. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/templates/portfolio/email/customer_trade_notification.html +0 -0
  361. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/templates/portfolio/email/email_base_template.html +0 -0
  362. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/templates/portfolio/email/rebalancing_report.html +0 -0
  363. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/templates/portfolio/macro/macro_review.html +0 -0
  364. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/__init__.py +0 -0
  365. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/conftest.py +0 -0
  366. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/__init__.py +0 -0
  367. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_account_reconciliation.py +0 -0
  368. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_assets.py +0 -0
  369. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_custodians.py +0 -0
  370. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_customer_trades.py +0 -0
  371. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_dividends.py +0 -0
  372. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_imports.py +0 -0
  373. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_instrument_mixins.py +0 -0
  374. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_merge.py +0 -0
  375. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_portfolio_cash_flow.py +0 -0
  376. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_portfolio_cash_targets.py +0 -0
  377. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_portfolio_swing_pricings.py +0 -0
  378. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_portfolios.py +0 -0
  379. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_product_groups.py +0 -0
  380. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_products.py +0 -0
  381. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_roles.py +0 -0
  382. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/test_splits.py +0 -0
  383. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/transactions/__init__.py +0 -0
  384. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/transactions/test_claim.py +0 -0
  385. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/transactions/test_fees.py +0 -0
  386. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/transactions/test_rebalancing.py +0 -0
  387. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/transactions/test_trade_proposals.py +0 -0
  388. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/transactions/test_trades.py +0 -0
  389. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/models/utils.py +0 -0
  390. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/pms/__init__.py +0 -0
  391. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/pms/test_analytics.py +0 -0
  392. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/rebalancing/__init__.py +0 -0
  393. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/rebalancing/test_models.py +0 -0
  394. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/serializers/__init__.py +0 -0
  395. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/serializers/test_claims.py +0 -0
  396. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/signals.py +0 -0
  397. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/tests.py +0 -0
  398. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/viewsets/__init__.py +0 -0
  399. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/viewsets/test_assets.py +0 -0
  400. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/viewsets/test_performances.py +0 -0
  401. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/viewsets/test_products.py +0 -0
  402. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/viewsets/transactions/__init__.py +0 -0
  403. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/tests/viewsets/transactions/test_claims.py +0 -0
  404. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/urls.py +0 -0
  405. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/utils.py +0 -0
  406. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/__init__.py +0 -0
  407. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/adjustments.py +0 -0
  408. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/assets.py +0 -0
  409. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/assets_and_net_new_money_progression.py +0 -0
  410. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/charts/__init__.py +0 -0
  411. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/charts/assets.py +0 -0
  412. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/__init__.py +0 -0
  413. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/__init__.py +0 -0
  414. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/adjustments.py +0 -0
  415. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/assets.py +0 -0
  416. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/claims.py +0 -0
  417. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/custodians.py +0 -0
  418. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/fees.py +0 -0
  419. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/mixins.py +0 -0
  420. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/portfolios.py +0 -0
  421. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/products.py +0 -0
  422. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/reconciliations.py +0 -0
  423. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/registers.py +0 -0
  424. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/signals.py +0 -0
  425. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/trade_proposals.py +0 -0
  426. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/buttons/trades.py +0 -0
  427. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/__init__.py +0 -0
  428. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/adjustments.py +0 -0
  429. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/assets.py +0 -0
  430. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/claim.py +0 -0
  431. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/custodians.py +0 -0
  432. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/esg.py +0 -0
  433. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/fees.py +0 -0
  434. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/portfolio_cash_flow.py +0 -0
  435. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/portfolio_relationship.py +0 -0
  436. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/portfolios.py +0 -0
  437. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/positions.py +0 -0
  438. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/product_groups.py +0 -0
  439. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/product_performance.py +0 -0
  440. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/products.py +0 -0
  441. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/rebalancing.py +0 -0
  442. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/reconciliations.py +0 -0
  443. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/registers.py +0 -0
  444. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/roles.py +0 -0
  445. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/trade_proposals.py +0 -0
  446. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/trades.py +0 -0
  447. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/display/transactions.py +0 -0
  448. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/__init__.py +0 -0
  449. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/adjustments.py +0 -0
  450. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/assets.py +0 -0
  451. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/claim.py +0 -0
  452. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/custodians.py +0 -0
  453. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/esg.py +0 -0
  454. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/fees.py +0 -0
  455. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/portfolio_relationship.py +0 -0
  456. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/portfolios.py +0 -0
  457. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/positions.py +0 -0
  458. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/product_groups.py +0 -0
  459. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/product_performance.py +0 -0
  460. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/products.py +0 -0
  461. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/rebalancing.py +0 -0
  462. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/reconciliations.py +0 -0
  463. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/roles.py +0 -0
  464. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/trade_proposals.py +0 -0
  465. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/trades.py +0 -0
  466. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/endpoints/transactions.py +0 -0
  467. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/__init__.py +0 -0
  468. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/adjustments.py +0 -0
  469. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/assets.py +0 -0
  470. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/claim.py +0 -0
  471. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/custodians.py +0 -0
  472. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/fees.py +0 -0
  473. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/instrument_prices.py +0 -0
  474. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/portfolio_cash_flow.py +0 -0
  475. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/portfolios.py +0 -0
  476. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/positions.py +0 -0
  477. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/product_groups.py +0 -0
  478. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/product_performance.py +0 -0
  479. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/products.py +0 -0
  480. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/reconciliations.py +0 -0
  481. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/registers.py +0 -0
  482. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/roles.py +0 -0
  483. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/trades.py +0 -0
  484. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/menu/transactions.py +0 -0
  485. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/previews/__init__.py +0 -0
  486. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/previews/portfolios.py +0 -0
  487. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/__init__.py +0 -0
  488. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/adjustments.py +0 -0
  489. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/assets.py +0 -0
  490. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/assets_and_net_new_money_progression.py +0 -0
  491. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/claim.py +0 -0
  492. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/custodians.py +0 -0
  493. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/esg.py +0 -0
  494. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/fees.py +0 -0
  495. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/instrument_prices.py +0 -0
  496. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/portfolios.py +0 -0
  497. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/positions.py +0 -0
  498. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/product_groups.py +0 -0
  499. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/product_performance.py +0 -0
  500. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/products.py +0 -0
  501. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/registers.py +0 -0
  502. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/roles.py +0 -0
  503. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/trades.py +0 -0
  504. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/configs/titles/transactions.py +0 -0
  505. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/custodians.py +0 -0
  506. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/esg.py +0 -0
  507. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/mixins.py +0 -0
  508. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/portfolio_cash_flow.py +0 -0
  509. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/portfolio_cash_targets.py +0 -0
  510. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/portfolio_relationship.py +0 -0
  511. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/portfolio_swing_pricing.py +0 -0
  512. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/portfolios.py +0 -0
  513. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/positions.py +0 -0
  514. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/product_groups.py +0 -0
  515. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/product_performance.py +0 -0
  516. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/products.py +0 -0
  517. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/reconciliations.py +0 -0
  518. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/registers.py +0 -0
  519. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/roles.py +0 -0
  520. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/signals.py +0 -0
  521. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/__init__.py +0 -0
  522. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/claim.py +0 -0
  523. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/fees.py +0 -0
  524. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/mixins.py +0 -0
  525. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/rebalancing.py +0 -0
  526. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/trade_proposals.py +0 -0
  527. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/trades.py +0 -0
  528. {wbportfolio-1.50.8 → wbportfolio-1.50.10}/wbportfolio/viewsets/transactions/transactions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wbportfolio
3
- Version: 1.50.8
3
+ Version: 1.50.10
4
4
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
5
5
  License-File: LICENSE
6
6
  Requires-Dist: cryptography==3.4.*
@@ -123,7 +123,7 @@ class DateFilterMixin:
123
123
 
124
124
  class AssetPositionFilter(wb_filters.FilterSet):
125
125
  date = wb_filters.DateFilter(
126
- label="Date", lookup_expr="exact", field_name="date", default=get_latest_asset_position, required=True
126
+ label="Date", lookup_expr="exact", field_name="date", initial=get_latest_asset_position, required=True
127
127
  )
128
128
 
129
129
  underlying_instrument__is_cash = wb_filters.BooleanFilter(
@@ -178,7 +178,7 @@ class AssetPositionFilter(wb_filters.FilterSet):
178
178
  filter_params=get_asset_filter_param,
179
179
  )
180
180
  hide_empty_position = wb_filters.BooleanFilter(
181
- default=False, method="boolean_hide_empty_position", label="Hide Empty Position"
181
+ initial=False, method="boolean_hide_empty_position", label="Hide Empty Position"
182
182
  )
183
183
 
184
184
  total_value_fx_usd = wb_filters.NumberFilter(label="Total Value ($)")
@@ -261,7 +261,7 @@ class AssetPositionFilter(wb_filters.FilterSet):
261
261
 
262
262
  class AssetPositionPortfolioFilter(AssetPositionFilter):
263
263
  portfolio_instrument = portfolio = None
264
- aggregate = wb_filters.BooleanFilter(default=False, label="Aggregate", method="filter_aggregate")
264
+ aggregate = wb_filters.BooleanFilter(initial=False, required=True, label="Aggregate", method="filter_aggregate")
265
265
 
266
266
  def filter_aggregate(self, queryset, name, value):
267
267
  if value:
@@ -314,14 +314,14 @@ class AssetPositionInstrumentFilter(AssetPositionFilter):
314
314
  label="Date",
315
315
  lookup_expr="exact",
316
316
  field_name="date",
317
- default=get_latest_asset_position,
317
+ initial=get_latest_asset_position,
318
318
  method="filter_date",
319
319
  required=True,
320
320
  )
321
321
  filter_last_positions = wb_filters.BooleanFilter(label="Fetch last position", method="fake_filter")
322
322
 
323
323
  hide_aggregated_position = wb_filters.BooleanFilter(
324
- default=False, method="boolean_hide_aggregated_position", label="Hide Position from Aggregated Product"
324
+ initial=False, method="boolean_hide_aggregated_position", label="Hide Position from Aggregated Product"
325
325
  )
326
326
 
327
327
  def boolean_hide_aggregated_position(self, queryset, name, value):
@@ -368,7 +368,7 @@ class CashPositionPortfolioFilterSet(wb_filters.FilterSet):
368
368
  )
369
369
 
370
370
  date = wb_filters.DateFilter(
371
- label="Date", lookup_expr="exact", field_name="date", default=get_latest_asset_position, required=True
371
+ label="Date", lookup_expr="exact", field_name="date", initial=get_latest_asset_position, required=True
372
372
  )
373
373
 
374
374
  class Meta:
@@ -394,14 +394,14 @@ class DistributionFilter(wb_filters.FilterSet):
394
394
  label="Date",
395
395
  lookup_expr="exact",
396
396
  field_name="date",
397
- default=latest_portfolio_date_based_on_instrument,
397
+ initial=latest_portfolio_date_based_on_instrument,
398
398
  required=True,
399
399
  )
400
400
 
401
401
  group_by = wb_filters.ChoiceFilter(
402
402
  label="Group By",
403
403
  choices=AssetPositionGroupBy.choices(),
404
- default=AssetPositionGroupBy.INDUSTRY.name,
404
+ initial=AssetPositionGroupBy.INDUSTRY.name,
405
405
  method="fake_filter",
406
406
  clearable=False,
407
407
  required=True,
@@ -414,13 +414,13 @@ class DistributionFilter(wb_filters.FilterSet):
414
414
  value_key=Portfolio.get_representation_value_key(),
415
415
  label_key=Portfolio.get_representation_label_key(),
416
416
  filter_params=get_portfolio_filter_params,
417
- default=get_portfolio_default,
417
+ initial=get_portfolio_default,
418
418
  required=True,
419
419
  clearable=False,
420
420
  )
421
421
 
422
422
  group_by_classification_group = wb_filters.ModelChoiceFilter(
423
- default=lambda k, v, f: get_default_classification_group().id,
423
+ initial=lambda k, v, f: get_default_classification_group().id,
424
424
  method=lambda queryset, label, value: queryset,
425
425
  label="Group by Classification Group",
426
426
  queryset=ClassificationGroup.objects.all(),
@@ -445,7 +445,7 @@ class ContributionChartFilter(wb_filters.FilterSet):
445
445
  label="Date Range",
446
446
  required=True,
447
447
  clearable=False,
448
- default=current_financial_month,
448
+ initial=current_financial_month,
449
449
  )
450
450
  hedged_currency = wb_filters.ModelChoiceFilter(
451
451
  label="Hedged Currency",
@@ -454,7 +454,7 @@ class ContributionChartFilter(wb_filters.FilterSet):
454
454
  value_key=Currency.get_representation_value_key(),
455
455
  label_key=Currency.get_representation_label_key(),
456
456
  method=lambda queryset, label, value: queryset,
457
- default=get_default_hedged_currency,
457
+ initial=get_default_hedged_currency,
458
458
  )
459
459
 
460
460
  class Meta:
@@ -463,7 +463,9 @@ class ContributionChartFilter(wb_filters.FilterSet):
463
463
 
464
464
 
465
465
  class CompositionContributionChartFilter(ContributionChartFilter):
466
- show_lookthrough = wb_filters.BooleanFilter(label="Show Lookthrough", default=False, method="fake_filter")
466
+ show_lookthrough = wb_filters.BooleanFilter(
467
+ label="Show Lookthrough", initial=False, required=True, method="fake_filter"
468
+ )
467
469
 
468
470
 
469
471
  class AssetPositionUnderlyingInstrumentChartFilter(DateFilterMixin, wb_filters.FilterSet):
@@ -481,7 +483,7 @@ class AssetPositionUnderlyingInstrumentChartFilter(DateFilterMixin, wb_filters.F
481
483
 
482
484
 
483
485
  class CompositionModelPortfolioPandasFilter(PandasFilterSetMixin, wb_filters.FilterSet):
484
- date = wb_filters.DateFilter(label="Date", lookup_expr="exact", default=get_latest_asset_position, required=True)
486
+ date = wb_filters.DateFilter(label="Date", lookup_expr="exact", initial=get_latest_asset_position, required=True)
485
487
 
486
488
  class Meta:
487
489
  model = AssetPosition
@@ -12,7 +12,7 @@ class AssetsAndNetNewMoneyProgressionFilterSet(filters.FilterSet):
12
12
  method=lambda queryset, label, value: queryset,
13
13
  required=True,
14
14
  clearable=False,
15
- default=financial_year_to_date,
15
+ initial=financial_year_to_date,
16
16
  )
17
17
 
18
18
  product = filters.ModelChoiceFilter(
@@ -8,12 +8,12 @@ from .assets import get_latest_asset_position
8
8
 
9
9
  class ESGMetricAggregationPortfolioPandasFilterSet(wb_filters.FilterSet):
10
10
  date = wb_filters.DateFilter(
11
- label="Date", lookup_expr="exact", field_name="date", default=get_latest_asset_position, required=True
11
+ label="Date", lookup_expr="exact", field_name="date", initial=get_latest_asset_position, required=True
12
12
  )
13
13
 
14
14
  esg_aggregation = wb_filters.ChoiceFilter(
15
15
  choices=ESGAggregation.choices(),
16
- default=ESGAggregation.GHG_EMISSIONS_SCOPE_1.name,
16
+ initial=ESGAggregation.GHG_EMISSIONS_SCOPE_1.name,
17
17
  required=True,
18
18
  method="fake_filter",
19
19
  )
@@ -21,20 +21,20 @@ class PerformancePandasFilter(PandasFilterSetMixin, BaseProductFilterSet):
21
21
  AUM = "AUM", "AUM"
22
22
  PRICE = "PRICE", "Price"
23
23
 
24
- is_forex_fix = wb_filters.BooleanFilter(label="Fix Forex rate", method="fake_filter", default=False)
24
+ is_forex_fix = wb_filters.BooleanFilter(label="Fix Forex rate", method="fake_filter", initial=False, required=True)
25
25
 
26
26
  date = wb_filters.FinancialPerformanceDateRangeFilter(
27
27
  label="Date Range",
28
28
  method=lambda queryset, label, value: queryset,
29
29
  required=True,
30
30
  clearable=False,
31
- default=current_financial_month,
31
+ initial=current_financial_month,
32
32
  )
33
33
 
34
34
  performance_by = wb_filters.ChoiceFilter(
35
35
  label="Performance By",
36
36
  choices=PerformanceBy.choices,
37
- default=PerformanceBy.PRICE.name,
37
+ initial=PerformanceBy.PRICE.name,
38
38
  method="fake_filter",
39
39
  clearable=False,
40
40
  required=True,
@@ -91,7 +91,7 @@ class PerformancePandasFilter(PandasFilterSetMixin, BaseProductFilterSet):
91
91
 
92
92
 
93
93
  class ProductPerformanceNetNewMoneyFilter(PandasFilterSetMixin, BaseProductFilterSet):
94
- is_active = wb_filters.BooleanFilter(label="Is Active", method="filter_active_products", default=True)
94
+ is_active = wb_filters.BooleanFilter(label="Is Active", method="filter_active_products", initial=True)
95
95
  net_negative_money__gte = wb_filters.NumberFilter(
96
96
  label="Net Negative money", lookup_expr="gte", field_name="net_negative_money"
97
97
  )
@@ -126,7 +126,7 @@ class ProductPerformanceNetNewMoneyFilter(PandasFilterSetMixin, BaseProductFilte
126
126
  method=lambda queryset, label, value: queryset,
127
127
  required=True,
128
128
  clearable=False,
129
- default=last_period_date_range,
129
+ initial=last_period_date_range,
130
130
  )
131
131
 
132
132
  def filter_active_products(self, queryset, name, value):
@@ -164,7 +164,7 @@ class PerformanceComparisonFilter(PandasFilterSetMixin, BaseProductFilterSet):
164
164
  method="fake_filter",
165
165
  )
166
166
  compare_primary_benchmark = wb_filters.BooleanFilter(
167
- default=False, label="Compare against primary benchmark", method="fake_filter"
167
+ initial=False, label="Compare against primary benchmark", method="fake_filter"
168
168
  )
169
169
 
170
170
  class Meta:
@@ -6,7 +6,7 @@ from wbportfolio.models import Portfolio
6
6
 
7
7
 
8
8
  class PortfolioFilterSet(wb_filters.FilterSet):
9
- is_tracked = wb_filters.BooleanFilter(default=True, label="Is tracked")
9
+ is_tracked = wb_filters.BooleanFilter(initial=True, label="Is tracked")
10
10
  instrument = wb_filters.ModelChoiceFilter(
11
11
  label="Instrument",
12
12
  queryset=Instrument.objects.all(),
@@ -37,7 +37,7 @@ class PortfolioFilterSet(wb_filters.FilterSet):
37
37
 
38
38
 
39
39
  class PortfolioTreeGraphChartFilterSet(wb_filters.FilterSet):
40
- date = wb_filters.DateFilter(method="fake_filter", default=get_latest_asset_position, required=True)
40
+ date = wb_filters.DateFilter(method="fake_filter", initial=get_latest_asset_position, required=True)
41
41
 
42
42
  class Meta:
43
43
  model = Portfolio
@@ -80,20 +80,20 @@ class AssetPositionPandasFilter(DateFilterMixin, PandasFilterSetMixin, wb_filter
80
80
  label="Date Range",
81
81
  required=True,
82
82
  clearable=False,
83
- default=current_financial_month,
83
+ initial=current_financial_month,
84
84
  )
85
85
 
86
86
  group_by = wb_filters.ChoiceFilter(
87
87
  label="Group By",
88
88
  choices=GroupbyChoice.choices,
89
- default=GroupbyChoice.UNDERLYING_INSTRUMENT,
89
+ initial=GroupbyChoice.UNDERLYING_INSTRUMENT,
90
90
  method="fake_filter",
91
91
  clearable=False,
92
92
  required=True,
93
93
  )
94
94
 
95
95
  groupby_classification_height = wb_filters.NumberFilter(
96
- method="fake_filter", label="Classification Height (groupby)", default=0, clearable=False, required=True
96
+ method="fake_filter", label="Classification Height (groupby)", initial=0, clearable=False, required=True
97
97
  )
98
98
 
99
99
  class Meta:
@@ -168,17 +168,17 @@ class AggregatedAssetPositionLiquidityFilter(PandasFilterSetMixin, wb_filters.Fi
168
168
  historic_date = wb_filters.DateFilter(
169
169
  label="Historic Date",
170
170
  method=lambda queryset, label, value: queryset,
171
- default=get_latest_date_based_on_multiple_models,
171
+ initial=get_latest_date_based_on_multiple_models,
172
172
  required=True,
173
173
  )
174
174
  compared_date = wb_filters.DateFilter(
175
175
  label="Compared Date",
176
176
  method=lambda queryset, label, value: queryset,
177
- default=get_latest_end_quarter_date_asset_position,
177
+ initial=get_latest_end_quarter_date_asset_position,
178
178
  required=True,
179
179
  )
180
180
  bigger_than_x = wb_filters.NumberFilter(
181
- label="Bigger Than..", method=lambda queryset, label, value: queryset, default=1.00, required=True, precision=2
181
+ label="Bigger Than..", method=lambda queryset, label, value: queryset, initial=1.00, required=True, precision=2
182
182
  )
183
183
 
184
184
  class Meta:
@@ -42,7 +42,7 @@ class BaseProductFilterSet(InstrumentFilterSet):
42
42
  label_key=ProductGroup.get_representation_label_key(),
43
43
  )
44
44
  is_invested = wb_filters.BooleanFilter(label="Invested")
45
- is_active = wb_filters.BooleanFilter(label="Only Active", method="filter_is_active", default=True)
45
+ is_active = wb_filters.BooleanFilter(label="Only Active", method="filter_is_active", initial=True)
46
46
 
47
47
  class Meta:
48
48
  model = Product
@@ -141,7 +141,7 @@ class ProductFeeFilter(BaseProductFilterSet):
141
141
  method=lambda queryset, label, value: queryset,
142
142
  required=True,
143
143
  clearable=False,
144
- default=last_period_date_range(),
144
+ initial=last_period_date_range(),
145
145
  )
146
146
 
147
147
  def filter_active_products(self, queryset, name, value):
@@ -6,7 +6,7 @@ from wbportfolio.models import PortfolioRole
6
6
 
7
7
 
8
8
  class PortfolioRoleFilterSet(wb_filters.FilterSet):
9
- is_active = wb_filters.BooleanFilter(method="filter_is_active", default=True, label="Is Active")
9
+ is_active = wb_filters.BooleanFilter(method="filter_is_active", initial=True, label="Is Active")
10
10
 
11
11
  def filter_is_active(self, queryset, name, value):
12
12
  if value is True:
@@ -68,6 +68,6 @@ def add_classification_instrument_filter(sender, request=None, *args, **kwargs):
68
68
 
69
69
  return {
70
70
  "only_invested": wb_filters.BooleanFilter(
71
- method=_filter_invested, label="Invested Instruments (last date)", default=False
71
+ method=_filter_invested, label="Invested Instruments (last date)", initial=False
72
72
  )
73
73
  }
@@ -231,7 +231,7 @@ class ClaimGroupByFilter(CommissionBaseFilterSet):
231
231
  group_by = wb_filters.ChoiceFilter(
232
232
  label="Group By",
233
233
  choices=ClaimGroupbyChoice.choices(),
234
- default=ClaimGroupbyChoice.PRODUCT.name,
234
+ initial=ClaimGroupbyChoice.PRODUCT.name,
235
235
  method=lambda queryset, label, value: queryset,
236
236
  required=True,
237
237
  clearable=False,
@@ -242,11 +242,11 @@ class ClaimGroupByFilter(CommissionBaseFilterSet):
242
242
  method=lambda queryset, label, value: queryset,
243
243
  required=True,
244
244
  clearable=False,
245
- default=year_to_date_range,
245
+ initial=year_to_date_range,
246
246
  )
247
247
 
248
248
  groupby_classification_group = wb_filters.ModelChoiceFilter(
249
- default=lambda k, v, f: get_default_classification_group().id,
249
+ initial=lambda k, v, f: get_default_classification_group().id,
250
250
  method=lambda queryset, label, value: queryset,
251
251
  label="Group by Classification Group",
252
252
  queryset=ClassificationGroup.objects.all(),
@@ -324,7 +324,8 @@ class ConsolidatedTradeSummaryTableFilterSet(PandasFilterSetMixin, ClaimGroupByF
324
324
  class DistributionNNMChartFilter(ClaimGroupByFilter):
325
325
  percent = wb_filters.BooleanFilter(
326
326
  method="fake_filter",
327
- default=False,
327
+ initial=False,
328
+ required=True,
328
329
  help_text="True if the value are displayed in percentage of the initial total AUM",
329
330
  label="Show percentage",
330
331
  )
@@ -338,10 +339,10 @@ class CumulativeNNMChartFilter(ClaimGroupByFilter):
338
339
  groupby_classification_group = group_by = None
339
340
 
340
341
  hide_projected_monthly_nnm_target = wb_filters.BooleanFilter(
341
- default=True, label="Hide Target line", method=lambda queryset, label, value: queryset
342
+ initial=True, required=True, label="Hide Target line", method=lambda queryset, label, value: queryset
342
343
  )
343
344
  projected_monthly_nnm_target = wb_filters.NumberFilter(
344
- default=lambda k, v, f: get_monthly_nnm_target(),
345
+ initial=lambda k, v, f: get_monthly_nnm_target(),
345
346
  method=lambda queryset, label, value: queryset,
346
347
  label="Projected Monthly NNM Target",
347
348
  )
@@ -369,7 +370,7 @@ class ProfitAndLossPandasFilter(PandasFilterSetMixin, ClaimFilter):
369
370
  method=lambda queryset, label, value: queryset,
370
371
  required=True,
371
372
  clearable=False,
372
- default=current_financial_quarter,
373
+ initial=current_financial_quarter,
373
374
  )
374
375
 
375
376
  class Meta:
@@ -426,7 +427,7 @@ class NegativeTermimalAccountPerProductFilterSet(wb_filters.FilterSet):
426
427
  sum_shares__lte = wb_filters.NumberFilter(lookup_expr="lte", field_name="sum_shares", label="Total Shares")
427
428
 
428
429
  only_approved = wb_filters.BooleanFilter(
429
- default=False, label="Only Approved claims", method="filter_only_approve_claims"
430
+ initial=False, label="Only Approved claims", method="filter_only_approve_claims"
430
431
  )
431
432
 
432
433
  def filter_only_approve_claims(self, queryset, name, value):
@@ -18,7 +18,8 @@ class FeesFilter(TransactionFilterSet):
18
18
  fee_date = wb_filters.DateRangeFilter(
19
19
  method=wb_filters.DateRangeFilter.base_date_range_filter_method,
20
20
  label="Date Range",
21
- default=get_transaction_default_date_range,
21
+ initial=get_transaction_default_date_range,
22
+ required=True,
22
23
  )
23
24
  total_value_usd__gte = total_value_usd__lte = transaction_underlying_type = transaction_date = None
24
25
 
@@ -59,7 +60,7 @@ class FeesAggregatedFilter(PandasFilterSetMixin, wb_filters.FilterSet):
59
60
  method=wb_filters.DateRangeFilter.base_date_range_filter_method,
60
61
  required=True,
61
62
  clearable=False,
62
- default=current_quarter_date_range,
63
+ initial=current_quarter_date_range,
63
64
  )
64
65
 
65
66
  class Meta:
@@ -71,7 +71,7 @@ class TradeFilter(OppositeSharesFieldMethodMixin, TransactionFilterSet):
71
71
  # )
72
72
  total_value_usd__gte = total_value_usd__lte = transaction_underlying_type = None
73
73
  marked_for_deletion = wb_filters.BooleanFilter(
74
- label="Marked For Deletion", default=False, field_name="marked_for_deletion", lookup_expr="exact"
74
+ label="Marked For Deletion", initial=False, field_name="marked_for_deletion", lookup_expr="exact"
75
75
  )
76
76
  pivot_date = wb_filters.DateFilter(hidden=True, method="filter_pivot_date")
77
77
 
@@ -47,7 +47,7 @@ class TransactionFilterSet(wb_filters.FilterSet):
47
47
  transaction_date = wb_filters.DateRangeFilter(
48
48
  method=wb_filters.DateRangeFilter.base_date_range_filter_method,
49
49
  label="Date Range",
50
- default=get_transaction_default_date_range,
50
+ initial=get_transaction_default_date_range,
51
51
  )
52
52
 
53
53
  portfolio = wb_filters.ModelChoiceFilter(
@@ -94,6 +94,6 @@ class TransactionPortfolioFilterSet(TransactionFilterSet):
94
94
  label="Transaction Date",
95
95
  lookup_expr="exact",
96
96
  field_name="transaction_date",
97
- default=get_transaction_lte_default,
97
+ initial=get_transaction_lte_default,
98
98
  required=True,
99
99
  )
@@ -1,5 +1,4 @@
1
- import json
2
- from typing import TYPE_CHECKING
1
+ from typing import TYPE_CHECKING, Any
3
2
 
4
3
  from django.db.models import F, FloatField, Sum
5
4
  from django.db.models.functions import Cast, ExtractYear
@@ -11,7 +10,7 @@ if TYPE_CHECKING:
11
10
  from wbcrm.models import Account
12
11
 
13
12
 
14
- def get_holding_prompt(account: "Account") -> list["BaseMessage"]:
13
+ def get_holding_prompt(account: "Account") -> tuple[list["BaseMessage"], dict[str, Any]]:
15
14
  from wbportfolio.models import Product
16
15
  from wbportfolio.models.transactions.claim import Claim
17
16
 
@@ -23,19 +22,21 @@ def get_holding_prompt(account: "Account") -> list["BaseMessage"]:
23
22
 
24
23
  performances = {}
25
24
  for product_id, product_name in products:
26
- performances[product_name] = Instrument.extract_annual_performance_df(
27
- Product.objects.get(id=product_id).get_prices_df()
28
- ).to_dict()
25
+ performances[product_name] = (
26
+ Instrument.extract_annual_performance_df(Product.objects.get(id=product_id).get_prices_df())
27
+ .set_index("year")["performance"]
28
+ .to_dict()
29
+ )
29
30
 
30
31
  return [
31
32
  SystemMessage(
32
33
  "The following products are held by the account holder. Analyze their performances and check correlations between the holdings and their performances/interactions."
33
34
  ),
34
- HumanMessage(json.dumps(performances)),
35
- ]
35
+ HumanMessage("Performances per product ISIN per year: {performances}"),
36
+ ], {"performances": performances}
36
37
 
37
38
 
38
- def get_performances_prompt(account: "Account") -> list["BaseMessage"]:
39
+ def get_performances_prompt(account: "Account") -> tuple[list["BaseMessage"], dict[str, Any]]:
39
40
  from wbportfolio.models.transactions.claim import Claim
40
41
 
41
42
  holdings = (
@@ -48,11 +49,11 @@ def get_performances_prompt(account: "Account") -> list["BaseMessage"]:
48
49
  product_isin=F("product__isin"),
49
50
  )
50
51
  .values("product_name", "product_isin", "sum_shares", "year")
51
- )
52
+ ).order_by("year", "product")
52
53
 
53
54
  return [
54
55
  SystemMessage(
55
56
  "The following holdings (subscriptions/redemptions) have been found for this account. Please include this data in the analysis and check if there is any correlation between the holding data and the interactions."
56
57
  ),
57
- HumanMessage(json.dumps(list(holdings.order_by("year", "product")))),
58
- ]
58
+ HumanMessage("List of holdings for the account: {holdings}"),
59
+ ], {"holdings": list(holdings)}
@@ -34,11 +34,11 @@ from wbcrm.models.accounts import Account
34
34
  from wbfdm.models.instruments.instrument_prices import InstrumentPrice
35
35
  from wbfdm.models.instruments.instruments import InstrumentManager, InstrumentType
36
36
 
37
- from wbportfolio.models.llm.wbcrm.analyze_relationship import get_holding_prompt
38
37
  from wbportfolio.models.portfolio_relationship import InstrumentPortfolioThroughModel
39
38
 
40
39
  from ..preferences import get_product_termination_notice_period
41
40
  from . import PortfolioRole
41
+ from .llm.wbcrm.analyze_relationship import get_holding_prompt
42
42
  from .mixins.instruments import PMSInstrument, PMSInstrumentAbstractModel
43
43
 
44
44
 
@@ -35,9 +35,8 @@ from wbcrm.models import AccountRole
35
35
  from wbcrm.models.accounts import Account
36
36
  from wbfdm.models.instruments.instrument_prices import InstrumentPrice
37
37
 
38
- from wbportfolio.models.llm.wbcrm.analyze_relationship import get_performances_prompt
39
-
40
38
  from ..custodians import Custodian
39
+ from ..llm.wbcrm.analyze_relationship import get_performances_prompt
41
40
  from ..roles import PortfolioRole
42
41
  from .trades import Trade
43
42
 
File without changes
File without changes