wbportfolio 1.55.8__py2.py3-none-any.whl → 1.59.4__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of wbportfolio might be problematic. Click here for more details.

Files changed (128) hide show
  1. wbportfolio/admin/orders/order_proposals.py +2 -0
  2. wbportfolio/admin/orders/orders.py +2 -0
  3. wbportfolio/admin/portfolio.py +11 -5
  4. wbportfolio/api_clients/ubs.py +23 -11
  5. wbportfolio/contrib/company_portfolio/configs/display.py +22 -10
  6. wbportfolio/contrib/company_portfolio/configs/previews.py +3 -3
  7. wbportfolio/contrib/company_portfolio/filters.py +10 -10
  8. wbportfolio/contrib/company_portfolio/models.py +69 -39
  9. wbportfolio/contrib/company_portfolio/scripts.py +7 -2
  10. wbportfolio/contrib/company_portfolio/serializers.py +32 -22
  11. wbportfolio/contrib/company_portfolio/tasks.py +12 -1
  12. wbportfolio/factories/assets.py +1 -1
  13. wbportfolio/factories/orders/order_proposals.py +3 -1
  14. wbportfolio/factories/orders/orders.py +8 -3
  15. wbportfolio/factories/product_groups.py +3 -3
  16. wbportfolio/factories/products.py +3 -3
  17. wbportfolio/filters/assets.py +0 -1
  18. wbportfolio/filters/orders/order_proposals.py +3 -6
  19. wbportfolio/filters/portfolios.py +18 -1
  20. wbportfolio/filters/positions.py +0 -1
  21. wbportfolio/filters/transactions/fees.py +0 -2
  22. wbportfolio/filters/transactions/trades.py +0 -1
  23. wbportfolio/import_export/backends/ubs/__init__.py +1 -0
  24. wbportfolio/import_export/backends/ubs/trade.py +48 -0
  25. wbportfolio/import_export/handlers/asset_position.py +9 -5
  26. wbportfolio/import_export/handlers/dividend.py +1 -1
  27. wbportfolio/import_export/handlers/fees.py +2 -2
  28. wbportfolio/import_export/handlers/trade.py +4 -4
  29. wbportfolio/import_export/parsers/default_mapping.py +1 -1
  30. wbportfolio/import_export/parsers/jpmorgan/customer_trade.py +2 -2
  31. wbportfolio/import_export/parsers/jpmorgan/fees.py +2 -2
  32. wbportfolio/import_export/parsers/jpmorgan/strategy.py +59 -85
  33. wbportfolio/import_export/parsers/jpmorgan/valuation.py +2 -2
  34. wbportfolio/import_export/parsers/leonteq/trade.py +2 -1
  35. wbportfolio/import_export/parsers/natixis/equity.py +22 -4
  36. wbportfolio/import_export/parsers/natixis/utils.py +13 -19
  37. wbportfolio/import_export/parsers/sg_lux/equity.py +4 -3
  38. wbportfolio/import_export/parsers/sg_lux/sylk.py +12 -11
  39. wbportfolio/import_export/parsers/sg_lux/valuation.py +4 -2
  40. wbportfolio/import_export/parsers/societe_generale/strategy.py +3 -3
  41. wbportfolio/import_export/parsers/tellco/customer_trade.py +2 -1
  42. wbportfolio/import_export/parsers/tellco/valuation.py +4 -3
  43. wbportfolio/import_export/parsers/ubs/api/trade.py +39 -0
  44. wbportfolio/import_export/parsers/ubs/equity.py +2 -1
  45. wbportfolio/import_export/parsers/ubs/valuation.py +2 -1
  46. wbportfolio/import_export/resources/trades.py +1 -1
  47. wbportfolio/import_export/utils.py +3 -1
  48. wbportfolio/metric/backends/base.py +2 -2
  49. wbportfolio/migrations/0089_orderproposal_min_weighting.py +71 -0
  50. wbportfolio/migrations/0090_dividendtransaction_price_fx_portfolio_and_more.py +44 -0
  51. wbportfolio/migrations/0091_remove_order_execution_confirmed_and_more.py +32 -0
  52. wbportfolio/migrations/0092_order_quantization_error_alter_orderproposal_status.py +49 -0
  53. wbportfolio/migrations/0093_remove_portfolioportfoliothroughmodel_unique_primary_and_more.py +35 -0
  54. wbportfolio/models/adjustments.py +1 -1
  55. wbportfolio/models/asset.py +7 -3
  56. wbportfolio/models/builder.py +25 -5
  57. wbportfolio/models/custodians.py +3 -3
  58. wbportfolio/models/exceptions.py +1 -1
  59. wbportfolio/models/graphs/portfolio.py +1 -1
  60. wbportfolio/models/graphs/utils.py +11 -11
  61. wbportfolio/models/mixins/liquidity_stress_test.py +1 -1
  62. wbportfolio/models/orders/order_proposals.py +620 -490
  63. wbportfolio/models/orders/orders.py +237 -75
  64. wbportfolio/models/portfolio.py +79 -18
  65. wbportfolio/models/portfolio_relationship.py +6 -0
  66. wbportfolio/models/products.py +3 -0
  67. wbportfolio/models/rebalancing.py +4 -1
  68. wbportfolio/models/roles.py +4 -10
  69. wbportfolio/models/transactions/claim.py +6 -5
  70. wbportfolio/models/transactions/dividends.py +1 -0
  71. wbportfolio/models/transactions/trades.py +4 -0
  72. wbportfolio/models/transactions/transactions.py +16 -4
  73. wbportfolio/models/utils.py +100 -1
  74. wbportfolio/order_routing/__init__.py +16 -0
  75. wbportfolio/order_routing/adapters/__init__.py +14 -6
  76. wbportfolio/order_routing/adapters/ubs.py +104 -70
  77. wbportfolio/order_routing/router.py +33 -0
  78. wbportfolio/order_routing/tests/test_router.py +110 -0
  79. wbportfolio/permissions.py +7 -0
  80. wbportfolio/pms/trading/__init__.py +0 -1
  81. wbportfolio/pms/trading/optimizer.py +61 -0
  82. wbportfolio/pms/typing.py +115 -103
  83. wbportfolio/rebalancing/models/composite.py +1 -1
  84. wbportfolio/rebalancing/models/market_capitalization_weighted.py +1 -5
  85. wbportfolio/risk_management/backends/__init__.py +1 -0
  86. wbportfolio/risk_management/backends/controversy_portfolio.py +2 -2
  87. wbportfolio/risk_management/backends/esg_aggregation_portfolio.py +64 -0
  88. wbportfolio/risk_management/backends/exposure_portfolio.py +4 -4
  89. wbportfolio/risk_management/backends/instrument_list_portfolio.py +3 -3
  90. wbportfolio/risk_management/tests/test_esg_aggregation_portfolio.py +49 -0
  91. wbportfolio/risk_management/tests/test_exposure_portfolio.py +1 -1
  92. wbportfolio/risk_management/tests/test_stop_loss_instrument.py +2 -2
  93. wbportfolio/risk_management/tests/test_stop_loss_portfolio.py +1 -1
  94. wbportfolio/serializers/orders/order_proposals.py +6 -2
  95. wbportfolio/serializers/orders/orders.py +119 -26
  96. wbportfolio/serializers/transactions/claim.py +2 -2
  97. wbportfolio/tasks.py +42 -4
  98. wbportfolio/tests/models/orders/test_order_proposals.py +345 -48
  99. wbportfolio/tests/models/test_portfolios.py +9 -9
  100. wbportfolio/tests/models/test_splits.py +1 -6
  101. wbportfolio/tests/models/test_utils.py +140 -0
  102. wbportfolio/tests/models/transactions/test_rebalancing.py +1 -1
  103. wbportfolio/tests/rebalancing/test_models.py +2 -2
  104. wbportfolio/tests/viewsets/test_products.py +1 -0
  105. wbportfolio/urls.py +1 -1
  106. wbportfolio/viewsets/charts/assets.py +8 -4
  107. wbportfolio/viewsets/configs/buttons/assets.py +1 -1
  108. wbportfolio/viewsets/configs/buttons/mixins.py +2 -2
  109. wbportfolio/viewsets/configs/buttons/portfolios.py +45 -1
  110. wbportfolio/viewsets/configs/display/reconciliations.py +4 -4
  111. wbportfolio/viewsets/esg.py +3 -5
  112. wbportfolio/viewsets/orders/configs/buttons/order_proposals.py +74 -15
  113. wbportfolio/viewsets/orders/configs/buttons/orders.py +104 -0
  114. wbportfolio/viewsets/orders/configs/displays/order_proposals.py +30 -30
  115. wbportfolio/viewsets/orders/configs/displays/orders.py +56 -17
  116. wbportfolio/viewsets/orders/configs/endpoints/order_proposals.py +1 -1
  117. wbportfolio/viewsets/orders/configs/endpoints/orders.py +10 -8
  118. wbportfolio/viewsets/orders/order_proposals.py +92 -21
  119. wbportfolio/viewsets/orders/orders.py +79 -26
  120. wbportfolio/viewsets/portfolios.py +24 -0
  121. {wbportfolio-1.55.8.dist-info → wbportfolio-1.59.4.dist-info}/METADATA +1 -1
  122. {wbportfolio-1.55.8.dist-info → wbportfolio-1.59.4.dist-info}/RECORD +125 -115
  123. {wbportfolio-1.55.8.dist-info → wbportfolio-1.59.4.dist-info}/WHEEL +1 -1
  124. wbportfolio/fdm/tasks.py +0 -42
  125. wbportfolio/models/orders/routing.py +0 -54
  126. wbportfolio/pms/trading/handler.py +0 -211
  127. /wbportfolio/{fdm → order_routing/tests}/__init__.py +0 -0
  128. {wbportfolio-1.55.8.dist-info → wbportfolio-1.59.4.dist-info}/licenses/LICENSE +0 -0
@@ -2,16 +2,16 @@ wbportfolio/__init__.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
2
2
  wbportfolio/apps.py,sha256=tybcoLFiw5tLdGHYV68X96n6jNZqx4BYx7Ao8mPflH8,749
3
3
  wbportfolio/constants.py,sha256=86bfJ-xAyJQGv8DDxhVP_BM7Jr_lxQMhe4SkrxpfN_c,119
4
4
  wbportfolio/dynamic_preferences_registry.py,sha256=SV-4JWBZBYhXt5cNMglx-yRJhxpejP_jo157ghjq2q0,2294
5
- wbportfolio/permissions.py,sha256=F147DXfitbw6IdMQGEFfymCJkiG5YGkWKsLdVVliPyw,320
5
+ wbportfolio/permissions.py,sha256=pGrNX_t0e2s1PNHHIRzipV2hmJmP62pDvUDpIwPQSow,511
6
6
  wbportfolio/preferences.py,sha256=JpowIFTrnjfomogJNrYmmfv7V35bRZNNGL_zooKzEhc,465
7
- wbportfolio/tasks.py,sha256=619LS4AN1-5RqdtwwLODdXA-IJKs5OA93JyLEnIJy4g,1969
8
- wbportfolio/urls.py,sha256=PE9UwW2RR8FEUnPc3foaDIW7T49vTwO1TyBPYaSorw0,10539
7
+ wbportfolio/tasks.py,sha256=fjmG0FrCkwoHKDk7re6-vjKpI0q_HFtYLF8cddZHvnw,3243
8
+ wbportfolio/urls.py,sha256=t6KnbqaZpg9JLbKfWQG90dh0zgArtTAZSKNT4ZpJeak,10539
9
9
  wbportfolio/utils.py,sha256=QZ4t0j2NwKYmgWJM77yvXSp-8wVcZmFvNi5_v7YA3ac,750
10
10
  wbportfolio/admin/__init__.py,sha256=oTmHrq_4H4OyEna3R_3tIh7pyCyNYVsMDD8y06IYMfQ,675
11
11
  wbportfolio/admin/asset.py,sha256=Nukw4axCnctQFlAtPkPJyalEga7RtTp7jr138MOdWSM,1254
12
12
  wbportfolio/admin/custodians.py,sha256=rJ9wFdiFM5t3WrmAfNXWzjxDAWrbnlSstfNjQxSmTNE,332
13
13
  wbportfolio/admin/indexes.py,sha256=XPiVGBRDD7SV7YvSDv9pAo513IjIbEOBS_pcvVP_UfQ,440
14
- wbportfolio/admin/portfolio.py,sha256=ihAYlvx7vvRbFMIKobo-VokYfvlTowGDzcSmlXHCJDY,3873
14
+ wbportfolio/admin/portfolio.py,sha256=OiUFpxqK7V0iL8dO6LxE_LOepvr20b2CIDRiKPkdEns,4063
15
15
  wbportfolio/admin/portfolio_relationships.py,sha256=mLRQUvezcUQfEls0p6pe0P1qVf335zD5pX4eRVf119M,711
16
16
  wbportfolio/admin/product_groups.py,sha256=0iXpoj-gGwLeF6BmCohX7d5qrVhCgIxNWUQmJcM67q0,1391
17
17
  wbportfolio/admin/products.py,sha256=vEtUpSlnCLLCs4SXkI5UFO7iPsXhRUk7PsNvfD7FS40,2550
@@ -20,8 +20,8 @@ wbportfolio/admin/reconciliations.py,sha256=s7aYxdJE6jX72bnKCrj-YdZBl9bFV_n44Bo2
20
20
  wbportfolio/admin/registers.py,sha256=N5zcfFgxR9H37YEJxFIBif7v5uLN2mGNV3lf9c5OYnw,505
21
21
  wbportfolio/admin/roles.py,sha256=h7d0aYBctghj1zFphWkMVHywnCjF8bewVbk8lq1IX8U,446
22
22
  wbportfolio/admin/orders/__init__.py,sha256=m5iZgRJfsorMe7o-vt4qL3Jn1QMRJFXzJQSa1fljfvQ,87
23
- wbportfolio/admin/orders/order_proposals.py,sha256=xcJp7CsBM5fgsqmBYvUWz7utSKZrJj-Pxiymp303fwI,422
24
- wbportfolio/admin/orders/orders.py,sha256=iozEJGWEplncjRw2cM4SoJx2dZxR1sRZvxl0bRpLbz4,658
23
+ wbportfolio/admin/orders/order_proposals.py,sha256=RU5RpAtJUhhhvfLhALmCMm-RserVLYszdswjHa7FFII,480
24
+ wbportfolio/admin/orders/orders.py,sha256=FMHuBWRVft5jc_11bfVpINl8c4F1PXZNC_rfCdeNtxI,705
25
25
  wbportfolio/admin/transactions/__init__.py,sha256=WJRFKwreNwFsQdSrjaK7HUZAzlnSeYNdciLyeoOzFRg,131
26
26
  wbportfolio/admin/transactions/claim.py,sha256=DaE5vtmSlt_ya55bCAM75UD8smNisA5kl5jrAANm0yA,613
27
27
  wbportfolio/admin/transactions/dividends.py,sha256=2Hx0yvcMp0VvzYfuO_jl-9KFrpq6RUd5S7NVrc10Rsg,1604
@@ -30,7 +30,7 @@ wbportfolio/admin/transactions/trades.py,sha256=LanpSm6iaR9cmNvSJwpRFPkOgN46K_Y9
30
30
  wbportfolio/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  wbportfolio/analysis/claims.py,sha256=wcTniEVdDnmME8LHrYbo-WWpQ5EzNPgAT2KJIGQ0IIA,10688
32
32
  wbportfolio/api_clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- wbportfolio/api_clients/ubs.py,sha256=pB_urTr8x8YCW28c_hK7DeCzAx07VeLZ27TamrZln2k,6598
33
+ wbportfolio/api_clients/ubs.py,sha256=39WtXlDzwt-XBKSBhJLtHJ6EMrkuUe0R-KdG-rrojw4,7149
34
34
  wbportfolio/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
35
  wbportfolio/contrib/company_portfolio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  wbportfolio/contrib/company_portfolio/admin.py,sha256=roUsuOjYDWX0OGWVBjCcW3MAcwJHJYHnqZ_pLpwakmQ,549
@@ -38,18 +38,18 @@ wbportfolio/contrib/company_portfolio/apps.py,sha256=0oNM07ecjGE4nU0zzUWuQI_LPq4
38
38
  wbportfolio/contrib/company_portfolio/constants.py,sha256=5twPBUq9MlNzepwkmleA0pm_eeTlg2e3VqLP8OFfKVE,62
39
39
  wbportfolio/contrib/company_portfolio/dynamic_preferences_registry.py,sha256=k69EVXR2n9Ovzy4rmXCFCQRt0YampqniG7tlkcc9dN0,2700
40
40
  wbportfolio/contrib/company_portfolio/factories.py,sha256=LvEYhBURUz3aK5KtTshBZpU66ph_DbLXKKDzf3Sw4Vo,1243
41
- wbportfolio/contrib/company_portfolio/filters.py,sha256=dSFPojkTJaHlXyi8CTLii64ilBEV14Z8uKPlHOIOhDY,4850
41
+ wbportfolio/contrib/company_portfolio/filters.py,sha256=jLDo3PRhofuqR2EA7G2R2aiAd_pTCZO4BvUZh0AN1HQ,4995
42
42
  wbportfolio/contrib/company_portfolio/management.py,sha256=CofBifGGGKfA06uWRDWXY_9y7y-PGNRz3VhsVaDeAz8,857
43
- wbportfolio/contrib/company_portfolio/models.py,sha256=dfrIR6sI3He1TIHCjdAP3yIZ0cPvc97ZUX_ZzkkhzGg,12943
44
- wbportfolio/contrib/company_portfolio/scripts.py,sha256=THDWK967NdEOD9gtAjIgtJzZAvu1FAQjp58VIZLyQpo,2304
45
- wbportfolio/contrib/company_portfolio/serializers.py,sha256=Y4Osxp0M7m_wy7DSbOt7ESfbob8KrfPBCnbzAuEsmmk,12160
46
- wbportfolio/contrib/company_portfolio/tasks.py,sha256=ZXezolvlj8_b5hvfcjH5IO5tXvwb8goNG8xPfk6YFNA,835
43
+ wbportfolio/contrib/company_portfolio/models.py,sha256=0YlWZfpBTUy4nCE0FYY6Kqcx3H28-AbeIVXgxcF6hM0,13963
44
+ wbportfolio/contrib/company_portfolio/scripts.py,sha256=wFfc1L-it0UTaBwNFs8hhGARbJoaNzmnlsXh6KEbslU,2497
45
+ wbportfolio/contrib/company_portfolio/serializers.py,sha256=-ewPrtu8Z1WT2iU3MzDm1BfdFa75GJ8JpS2dTw25CY4,12570
46
+ wbportfolio/contrib/company_portfolio/tasks.py,sha256=nIBTqC36JCakCug7YVt1aBqai5bKDsgZd2HS7Jwpf5U,1384
47
47
  wbportfolio/contrib/company_portfolio/urls.py,sha256=eyq6IpaDPG1oL8-AqPS5nC5BeFewKPA1BN_HI7M3i1c,1118
48
48
  wbportfolio/contrib/company_portfolio/viewsets.py,sha256=o-_D_bEt283xngDbsMwdRQxFyuK7rfSChI8u5dGYyLM,8312
49
49
  wbportfolio/contrib/company_portfolio/configs/__init__.py,sha256=AVH0v-uOJBPRKggz7fO7IpRyVJ1YlQiF-if_cMsOvvM,72
50
- wbportfolio/contrib/company_portfolio/configs/display.py,sha256=D_OxIGlNivNIKqNlvIB4YeBS6fyrDqM77FoccmZJ9-o,6294
50
+ wbportfolio/contrib/company_portfolio/configs/display.py,sha256=BfQgIltW128ee3-8BdirIxDc6e6jBfDvBdBoAFn2ssA,6768
51
51
  wbportfolio/contrib/company_portfolio/configs/endpoints.py,sha256=QWkxvGOjCyPtB9cIc9hQHcqkeZv_KEvfGue-JgAn2p4,1662
52
- wbportfolio/contrib/company_portfolio/configs/previews.py,sha256=UwJ2kMEkV2bszlmSPZAN_DrCCVEUFhF9_dLn7u5c9mY,1384
52
+ wbportfolio/contrib/company_portfolio/configs/previews.py,sha256=pSZTESST-s8yBhKDcnpB_eGjufrp4NYAqlIGxEN8TOM,1395
53
53
  wbportfolio/contrib/company_portfolio/migrations/0001_initial.py,sha256=WAB7FJL4PdMhQAB-k_tZcMZ2SjAOmqHKj86NrzxWbXE,9856
54
54
  wbportfolio/contrib/company_portfolio/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  wbportfolio/contrib/company_portfolio/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -60,7 +60,7 @@ wbportfolio/defaults/fees/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
60
60
  wbportfolio/defaults/fees/default.py,sha256=rUXZS6b5LFdrJQSTl8nPoboy1V2L8g0bekXbYFbNAoU,3711
61
61
  wbportfolio/factories/__init__.py,sha256=vIN2mLspNAmRKUjnUpmzpOuyJ9zxJmymrIt64aCITEs,1224
62
62
  wbportfolio/factories/adjustments.py,sha256=aOHXJLy7DW4k1hcRBZteEe2mKe_wQg7z0bVnzvXCl4A,615
63
- wbportfolio/factories/assets.py,sha256=1i7xDT6bpvnYQiEJpmukWadSvS1asQC-QuUJ1PCll0U,3173
63
+ wbportfolio/factories/assets.py,sha256=cw-nNzZ4FXBy9u_Iy8JOU4euQt-CDBjLGRBWa9mySFg,3173
64
64
  wbportfolio/factories/claim.py,sha256=LQzz8EbIveOYpMY-JOMR8ba-taoX3u53zjBwxiydtrM,1629
65
65
  wbportfolio/factories/custodians.py,sha256=XrNcpNhE4Rbv0y159E_MbP1TAQwe9POab-_RHOHy1Uk,311
66
66
  wbportfolio/factories/dividends.py,sha256=8JxViNnFPZy8aXMoeDsa6asaqdBJ5ujfFQ9IqeNXnVQ,798
@@ -70,75 +70,74 @@ wbportfolio/factories/portfolio_cash_flow.py,sha256=e8LWkk5Gy0FU4HoCL9xPseCtLlVI
70
70
  wbportfolio/factories/portfolio_cash_targets.py,sha256=6bYaKjV56yRbjRaQzime218Dho652pcpkAqwhq63D3g,678
71
71
  wbportfolio/factories/portfolio_swing_pricings.py,sha256=CLT9AgZKPwChfPDATl-r2r8IVsM5U6S5gDJ8BzsweyI,828
72
72
  wbportfolio/factories/portfolios.py,sha256=kZDuBXnGiMrliQ67UfXHQElv5y1nVLXN_7Au3RnZr-8,1553
73
- wbportfolio/factories/product_groups.py,sha256=JMtG301j5XehB3qmNSbXt6af56Y9uvG3fgbCMf9FCSc,1987
74
- wbportfolio/factories/products.py,sha256=N0V6sM_98sC6l8qN78wgfmtpYq7O2c5rW5hT5ZM5gsA,2880
73
+ wbportfolio/factories/product_groups.py,sha256=0vo3wjHBST3kmkXYt3llSUFN8QEomAQLDpt2hSBkkvw,1951
74
+ wbportfolio/factories/products.py,sha256=yNGCCqKFNhTI76Qb046s8I34V26cuyMtJ64Ugxpznnc,2868
75
75
  wbportfolio/factories/rebalancing.py,sha256=I6_c_gDuhBYsmDPOU_b8e9W-Aa8I95gWXS_K8N5-xiQ,719
76
76
  wbportfolio/factories/reconciliations.py,sha256=Ne3rBZ_yvjlAtWW7qDLprHrLhNCtLL_RXU3yDHc3s3c,916
77
77
  wbportfolio/factories/roles.py,sha256=tot54YX70sNqZrAg5zGJTHd7_PFjZed_mny4lGlnwEA,857
78
78
  wbportfolio/factories/trades.py,sha256=ZHfj20KjeTu57sNaZzfSw2JqCoI9q4BjfPp5qRMVsro,1387
79
79
  wbportfolio/factories/orders/__init__.py,sha256=QG7on_F9GiuJgvGbM0BNDVdfGwwBz_WGbmCFNbKPZzc,83
80
- wbportfolio/factories/orders/order_proposals.py,sha256=3QGG6eI2sWYGJenn17gz37A2PJgjZLlPqAsqci1lFXI,702
81
- wbportfolio/factories/orders/orders.py,sha256=tTw2U-xvUsFpG4zad3KCHZPQx1FVg-zPjwEN73XEOjg,907
82
- wbportfolio/fdm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- wbportfolio/fdm/tasks.py,sha256=v7UmrQhHAgJOQ3AC3VRvJ4YIKveqsqyWnvM33UQOUDI,1367
80
+ wbportfolio/factories/orders/order_proposals.py,sha256=wFwYtbixQ1q7rgIfpS8RmsIpcx4qjQph2UUk1kG5mD8,834
81
+ wbportfolio/factories/orders/orders.py,sha256=_E5Gn0VFQ3wzDWN18_AABuY4HJlGPQ07Suv5BYWbFKw,1153
84
82
  wbportfolio/filters/__init__.py,sha256=m44CdyYMtku8rMGyiX8KSmMdvyqaElKW4UMkEqOC1VM,1374
85
- wbportfolio/filters/assets.py,sha256=rvBNtQ8OcvYXSmaVdgjH7IITvaBZ558Y9sCj0B_WDpw,18866
83
+ wbportfolio/filters/assets.py,sha256=1nf8rswmwYPEI_pbD107f4SkyJjKLJMqrUEjp7oHFtQ,18793
86
84
  wbportfolio/filters/assets_and_net_new_money_progression.py,sha256=IYl_qMFO9QKhXhCTtz2JrOjlAKdEkykNlu4DO_H7HkQ,1403
87
85
  wbportfolio/filters/custodians.py,sha256=pStQgPQPhPpnt57_V7BuXbFXmRiZBEAiEeMFuQmt2NE,287
88
86
  wbportfolio/filters/esg.py,sha256=ZEUQh3IQxLSshVrgtPqHC_ToirrllkCXR_KzUlCUtkA,688
89
87
  wbportfolio/filters/performances.py,sha256=xJC7fe8XNPz159cewMD8Es8u89vzgpZT4D2Gm1YToM8,7340
90
- wbportfolio/filters/portfolios.py,sha256=rQL77Cs1YVR8I_kSZwYppJ9yPj8ebWrDQHs_sOI_Ndk,2247
91
- wbportfolio/filters/positions.py,sha256=7eMqwqnNd_owi2Mg-1Uf9K9K9SHSgdZ8CcYgWw49qgI,8548
88
+ wbportfolio/filters/portfolios.py,sha256=JQ9vpuUPp50YVk-W-UksrcH_2ljXQgcpMvitrs5or20,2994
89
+ wbportfolio/filters/positions.py,sha256=JymXAxo3t_t-5g0yzIHNz9s0MmuozEuK6itwpg7hsec,8475
92
90
  wbportfolio/filters/products.py,sha256=jOoRKDm_2n2a-Y1dHWl1zjdrwy4Cek57Qa3Q10p_zzY,6492
93
91
  wbportfolio/filters/roles.py,sha256=jb8WLzZ_e03x8XkAWuYAdPgMyre3h-rtgYXKJ3dqkhw,920
94
92
  wbportfolio/filters/signals.py,sha256=XZ1d50yas47Xy57ZfmvCVjMSKojaoqrc5FHJBcVadtk,3144
95
93
  wbportfolio/filters/orders/__init__.py,sha256=Bfr7ZrKJYIiQoji7S7YZWMiYXjsq9B_AoBF98aNZvZ4,87
96
- wbportfolio/filters/orders/order_proposals.py,sha256=V_lICJBEG1aOVaYiaIi1KcIn8uEJvtXrEzrP9tz4Xuw,2315
94
+ wbportfolio/filters/orders/order_proposals.py,sha256=XVdZOnECN6DPLz4xpmsu1ZtJW2V3sZdjf2pFN_dyOAk,2214
97
95
  wbportfolio/filters/orders/orders.py,sha256=eRVb9w7zHq6bPnHOd3gC1k6OJYSpQ6PeXxu2dxJe1A0,289
98
96
  wbportfolio/filters/transactions/__init__.py,sha256=TXiHB7_ItZPVcXCCGejpLBRD4R7rtt3Qrq59z8D5ChA,582
99
97
  wbportfolio/filters/transactions/claim.py,sha256=eSykgNzcytMWWTmlGlaqBuh98vfOKoTLvA3cglc_jZ0,17951
100
- wbportfolio/filters/transactions/fees.py,sha256=SdUaFCdsET9s2FpBA41I8Fw7Zfd_ZGoDGXs-_q3gtq8,1754
98
+ wbportfolio/filters/transactions/fees.py,sha256=osm7vOqoKFJi3KaylIr5axHmmhDzd4rKSvU8zs-nVRk,1608
101
99
  wbportfolio/filters/transactions/mixins.py,sha256=TEV3MUsiQTeu4NdFYHMIIMonmC7CdFF80JTpWYIvfRQ,550
102
- wbportfolio/filters/transactions/trades.py,sha256=uJHaEwaOBGAnLf9OEWf1-F1FKFP_pnjYEFhIW5g2Stc,10064
100
+ wbportfolio/filters/transactions/trades.py,sha256=7k_r1m1zDiQWCx3g6eUeWjPV18bbU4EV2Jeic9FjnyA,9991
103
101
  wbportfolio/filters/transactions/utils.py,sha256=hU133SdUDuD30wy9QLvCCJbGsiZzxvdOp8xtnGbUzaU,1510
104
102
  wbportfolio/fixtures/product_factsheets.yaml,sha256=z5o-viDbgwWkssDJXZYayasFgw1nJ0uiOiYrJNDkRtg,5455
105
103
  wbportfolio/fixtures/wbportfolio.yaml.gz,sha256=902nxQZM6VcVcc0wI9AYaSedcJIfsK5letLF31j1Jdg,1479453
106
104
  wbportfolio/fixtures/wbrisk_management.yaml.gz,sha256=alFDRu8S9R6IsaIkpJe_v36B2GvHgHeNJVumUB5m_NQ,155413
107
105
  wbportfolio/import_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
- wbportfolio/import_export/utils.py,sha256=mzybnwU2y-NOk43QDNDlOCaSPO-0BFlSX_X8uxplNiY,1083
106
+ wbportfolio/import_export/utils.py,sha256=Za6gycrXxXIupqn5EJdgEWaee7FPtk0R33kJm4uogos,1145
109
107
  wbportfolio/import_export/backends/__init__.py,sha256=Ki5jE95usAbxfV3zeZMkAmjh7G8TodBkKTDBPa_HJX0,40
110
108
  wbportfolio/import_export/backends/utils.py,sha256=nM0i5rhQ66Vgm7WH3jIiNvNGuC-Cy_vtXkSzrUiGc0Q,1355
111
109
  wbportfolio/import_export/backends/refinitiv/adjustment.py,sha256=ahVjWMHY1FuuDnMeascAlVUa3Mys6rvROG1uKDq6QeA,1554
112
- wbportfolio/import_export/backends/ubs/__init__.py,sha256=jHm6zfyZPfvdzyMfJGngGbwROxtYWyJdpQorpleVKMA,82
110
+ wbportfolio/import_export/backends/ubs/__init__.py,sha256=e-ICyD15SmjAFgzGhOU6Rk9rkCDJRocND-d0FvJWDbg,103
113
111
  wbportfolio/import_export/backends/ubs/asset_position.py,sha256=Nqe_M3T2CHFs-vxmzyTcdaEdlmfbAjtJJL5U0Bc_MXI,1942
114
112
  wbportfolio/import_export/backends/ubs/fees.py,sha256=rwZIHfJbvB1xdHruz0INDNWlt40Dj9kw2zDOto8rkq0,2532
115
113
  wbportfolio/import_export/backends/ubs/instrument_price.py,sha256=Bj00tfwUK5t2Q7C2bc2djhvlIkZ8ozZ9hqQP9W1sVRI,1974
116
114
  wbportfolio/import_export/backends/ubs/mixin.py,sha256=Y0od5nmGwwUN7Bh7UYYbebLNrfpx0PaM1KhCRymNu10,483
115
+ wbportfolio/import_export/backends/ubs/trade.py,sha256=DD-k4pGNbYtxaYYQykyre9n1t2nz1soUmNdOPCAi_GI,2041
117
116
  wbportfolio/import_export/backends/wbfdm/__init__.py,sha256=k02E8ynHxTo65JV_TJ1ng6mpLuWomFpLFkyaRxr9SE4,50
118
117
  wbportfolio/import_export/backends/wbfdm/adjustment.py,sha256=CpkVNNlDSVui00Aihq-1i_Vc_kqi2gjODxWb7K0vsWM,1822
119
118
  wbportfolio/import_export/backends/wbfdm/dividend.py,sha256=iAQXnYPXmtG_Jrc8THAJ5laSKGgDcrlkxhQTD8rZEhg,526
120
119
  wbportfolio/import_export/backends/wbfdm/mixin.py,sha256=JNtjgqGLson1nu_Chqb8MWyuiF3Ws8ox2vapxIRBYKE,400
121
120
  wbportfolio/import_export/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
121
  wbportfolio/import_export/handlers/adjustment.py,sha256=6bdTIYFmc8_HFxcdwtnYwglMyCfAD8XrTIrEb2zWY0g,1757
123
- wbportfolio/import_export/handlers/asset_position.py,sha256=LcJaHwxqoRWclBDOhaxTI7_MFqUXtUt99EJsV45ZqSo,9125
124
- wbportfolio/import_export/handlers/dividend.py,sha256=F0oLfNt2B_QQAjHBCRpxa5HSkfkAYdal_NjLJGtVckY,4408
125
- wbportfolio/import_export/handlers/fees.py,sha256=BOFHAvSTlvVLaxnm6KD_fcza1TlPc02HOR9J0_jjswI,2495
122
+ wbportfolio/import_export/handlers/asset_position.py,sha256=ruZoAiwhDmJaiD-OVSZGJ66QrObBeU_JySxsxFmZY30,9305
123
+ wbportfolio/import_export/handlers/dividend.py,sha256=34iu1SfnyCVSObklo9eiF-ECTQhSvkiZn2pUmrWOaV4,4408
124
+ wbportfolio/import_export/handlers/fees.py,sha256=RoOaBwnIMzCx5q7qSzCQbS3L_eOa9Y-RSZ_ZG3QHbNo,2507
126
125
  wbportfolio/import_export/handlers/orders.py,sha256=GU3_tIy-tAw9aU-ifsnmMZPBB9sqfkFC_S1d9VziTwg,3136
127
126
  wbportfolio/import_export/handlers/portfolio_cash_flow.py,sha256=W7QPNqEvvsq0RS016EAFBp1ezvc6G9Rk-hviRZh8o6Y,2737
128
127
  wbportfolio/import_export/handlers/register.py,sha256=sYyXkE8b1DPZ5monxylZn0kjxLVdNYYZR-p61dwEoDM,2271
129
- wbportfolio/import_export/handlers/trade.py,sha256=xHg_4LMuMFRN49vEguIBDujM7vZxuhnEYMj95ZJ3s0E,11175
128
+ wbportfolio/import_export/handlers/trade.py,sha256=d0FSyUQLX8JKBl2fA9BF-AiXCO6TNUWE-oHL5NJavQE,11201
130
129
  wbportfolio/import_export/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- wbportfolio/import_export/parsers/default_mapping.py,sha256=KrO-X5CvQCeQoBYzFDxavoQGriyUSeI2QDx5ar_zo7A,1405
130
+ wbportfolio/import_export/parsers/default_mapping.py,sha256=YdqvoRNo4CbMnMpeYA5DSHSj9fc7rZA4_q9Zeojg344,1393
132
131
  wbportfolio/import_export/parsers/jpmorgan/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
- wbportfolio/import_export/parsers/jpmorgan/customer_trade.py,sha256=fj80hTkNxMR8boz1FzNoIJcwL1WuoVxX4_HV5o4CHL0,2812
134
- wbportfolio/import_export/parsers/jpmorgan/fees.py,sha256=_I3WdPcu5Z0cblOVnkDgOVm9tmH2YhgXdJqRwpkkcwA,2075
135
- wbportfolio/import_export/parsers/jpmorgan/strategy.py,sha256=OAIKv9NyKj8WiWLXsVIj7ujjfxBl5OLCNNXlx0oJIiE,4463
136
- wbportfolio/import_export/parsers/jpmorgan/valuation.py,sha256=GjOi5sztimefGNI2EgMtyTsdm_pwqR-Cyv_rEwwrr6Y,1214
132
+ wbportfolio/import_export/parsers/jpmorgan/customer_trade.py,sha256=yv01rA9KNzjqe24Ho647fSoPl34jG9Z-QFe0iaKRZKA,2868
133
+ wbportfolio/import_export/parsers/jpmorgan/fees.py,sha256=9F5fZP3rUwUZFq4UPQZRo1zdKsT-E9AHfr12DLFUB-g,2096
134
+ wbportfolio/import_export/parsers/jpmorgan/strategy.py,sha256=g9m59M6uCexV9u9U7x7zkhwhw6P5_tVGAYcX85q2uXE,3420
135
+ wbportfolio/import_export/parsers/jpmorgan/valuation.py,sha256=exNIIyxRwdGw-FWjbGUeqeIiXPkSmHWVrUDAdwD7H4g,1235
137
136
  wbportfolio/import_export/parsers/leonteq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
137
  wbportfolio/import_export/parsers/leonteq/customer_trade.py,sha256=GdqCRWx-D-Z8yvBQU41MWj4j-X2BAnbJ6oAL6sdTnIQ,1896
139
138
  wbportfolio/import_export/parsers/leonteq/equity.py,sha256=Lr3nRPBa9Vg3_CQnuwpzyY0W8fG_pba0spASec9fYeU,3758
140
139
  wbportfolio/import_export/parsers/leonteq/fees.py,sha256=SJaYGURhSdBCf4jFaQAN9t5noT_nU9XpQbaLIs2nNQo,2652
141
- wbportfolio/import_export/parsers/leonteq/trade.py,sha256=C52EbtkdNoezIxqhSXAKmMZjOvqAzryu1HbgFOemTxI,3349
140
+ wbportfolio/import_export/parsers/leonteq/trade.py,sha256=pKtUT7kcZ6YkSS_eYAUsWjGiTpf-ODU3YhZRUS8O828,3371
142
141
  wbportfolio/import_export/parsers/leonteq/valuation.py,sha256=s9ovRv4Cx4cFQhjElPCTrguy4Q3iCzbt22TS7Kc3Jl0,1259
143
142
  wbportfolio/import_export/parsers/natixis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
143
  wbportfolio/import_export/parsers/natixis/customer_trade.py,sha256=YFqneuhkwGEF5NSZ6r2Fgf8xnOUCgVN2Vjv0oyPDlIY,2498
@@ -148,10 +147,10 @@ wbportfolio/import_export/parsers/natixis/d1_fees.py,sha256=RmzwlNqLSlGDp7JMTwHu
148
147
  wbportfolio/import_export/parsers/natixis/d1_trade.py,sha256=JsAVgRH2iBo096Spz8ThJOGPpOCPyYrJ9GJ1XnzjBJQ,2092
149
148
  wbportfolio/import_export/parsers/natixis/d1_valuation.py,sha256=M12am0ZenUJxkvEGp6tM1HfeukqYS3b6tfbyfC0XwvY,1216
150
149
  wbportfolio/import_export/parsers/natixis/dividend.py,sha256=qx8DXu6NXMy1M_iunA4ITM845_6iNd1aoVCdoAKDNsY,1964
151
- wbportfolio/import_export/parsers/natixis/equity.py,sha256=GSObiFxvhlbGuSZnJq-D8yRgLlsAxJ4oMxYeR6GmFNE,2501
150
+ wbportfolio/import_export/parsers/natixis/equity.py,sha256=oitpx_OYrsGbrYodoF37zjNzsigy2pkTRJ_E6TWpPYU,3341
152
151
  wbportfolio/import_export/parsers/natixis/fees.py,sha256=oIC9moGm4s-6525q4_Syt4Yexj3SDgB5kYSfcsdzLcY,1666
153
152
  wbportfolio/import_export/parsers/natixis/trade.py,sha256=BJum1W0fYe9emHU7RgL-AjHkiclrckQYkG8VkyCnfvM,2579
154
- wbportfolio/import_export/parsers/natixis/utils.py,sha256=oa9ENQDfOp2dWfg-ohA5TanCCMx56BnZkQ-U6XlVaBs,2782
153
+ wbportfolio/import_export/parsers/natixis/utils.py,sha256=ImBHHLkC621ZrUDWI2p-F3AGElprT1FVb7xkPwKwvx0,2490
155
154
  wbportfolio/import_export/parsers/natixis/valuation.py,sha256=qk5eDz-b9bIttDGnZxQZnm9pDIalb-LCGxmeTyMKRmQ,1523
156
155
  wbportfolio/import_export/parsers/refinitiv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
156
  wbportfolio/import_export/parsers/refinitiv/adjustment.py,sha256=64AQoLOZQWn5HCLpflJ4OgQB3gCB3w_6Y4YLhcmuClg,819
@@ -161,32 +160,33 @@ wbportfolio/import_export/parsers/sg_lux/customer_trade.py,sha256=gTEUIaxlZvXXCg
161
160
  wbportfolio/import_export/parsers/sg_lux/customer_trade_pending_slk.py,sha256=WyRpKXkNhpK4H9aNjW7_ggcCGlN_-9ETlR1QsE9xl_k,5068
162
161
  wbportfolio/import_export/parsers/sg_lux/customer_trade_slk.py,sha256=D_1c0v6lTXkopjZzr9pQb575HxrMFe91tKk8xT1X3Ns,3604
163
162
  wbportfolio/import_export/parsers/sg_lux/customer_trade_without_pw.py,sha256=nMYV9-OwY_TagU36Ab0dOweZYzVriFWHXPYjauBg2Yk,2034
164
- wbportfolio/import_export/parsers/sg_lux/equity.py,sha256=IRwjeQmNFGuALUCWpWXWtflUEjl5qKyJumlQIAHmOPk,6076
163
+ wbportfolio/import_export/parsers/sg_lux/equity.py,sha256=ABDvdVmpGE13RUkKpC6OpgrrQ91U45lbmG_r3JRx4b4,6119
165
164
  wbportfolio/import_export/parsers/sg_lux/fees.py,sha256=AK2TGOjI3JrOjtACEQd-4ffuedtIus-_gWug6wN6RQs,1846
166
165
  wbportfolio/import_export/parsers/sg_lux/perf_fees.py,sha256=6HAV3Pu2aaYARjMQvN24Op2rru_YdjeI9J9ADDQVH8s,1513
167
166
  wbportfolio/import_export/parsers/sg_lux/portfolio_cash_flow.py,sha256=ftLKWukUl9AcGWHQmJZnShVZpkO4rOl04PGlLcalDdQ,889
168
167
  wbportfolio/import_export/parsers/sg_lux/portfolio_future_cash_flow.py,sha256=2kkEOwZz1hwiPB9rlMp_vkv5azMrJUfyWl7GMaAwGUc,1074
169
168
  wbportfolio/import_export/parsers/sg_lux/registers.py,sha256=NPkIAY5vJ40_EweQNjgiDVpi-HBK2OFFjwxXhWp85d0,6288
170
- wbportfolio/import_export/parsers/sg_lux/sylk.py,sha256=1ThyjneFFe_gNLDHeXQFdWIyanyktxm62P-Ta5Sm1v4,7656
169
+ wbportfolio/import_export/parsers/sg_lux/sylk.py,sha256=vwOjvOUulrFIxB8C47eu2y9vBgN8BzT6KaXeLtVR1bI,7707
171
170
  wbportfolio/import_export/parsers/sg_lux/utils.py,sha256=xrtEkdz_ypGFRTWn3-Kz6GzqhxY9mexSdWImBEc9xT8,1307
172
- wbportfolio/import_export/parsers/sg_lux/valuation.py,sha256=tmc-KHcRUHjTZVck8vzUIoN4Fcb-_zevmET4ZkkRlak,1788
171
+ wbportfolio/import_export/parsers/sg_lux/valuation.py,sha256=Y2SUBsswsWf9uUUkiO7SMSBQHGTJj4qu9aL7AfvH4-o,1832
173
172
  wbportfolio/import_export/parsers/societe_generale/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
173
  wbportfolio/import_export/parsers/societe_generale/customer_trade.py,sha256=eUgd_ZwK8WZh8-oXTLH4t_F9fXE6SCSOreIqXwVwT0w,2110
175
- wbportfolio/import_export/parsers/societe_generale/strategy.py,sha256=b0U3ZU1pyi5dbE678lD2M636v8mw6KjVBFUwJbP6yqk,4503
174
+ wbportfolio/import_export/parsers/societe_generale/strategy.py,sha256=pY80JDCa0ITVHNZkM2VYY_75elSCV7zlo1qh1ZXVEW0,4513
176
175
  wbportfolio/import_export/parsers/societe_generale/valuation.py,sha256=mxaV2cL5WKg2omrwLxcYkeLnb95S-NpG15FTGAJRy58,1225
177
176
  wbportfolio/import_export/parsers/tellco/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
- wbportfolio/import_export/parsers/tellco/customer_trade.py,sha256=U04YVJHxQLWxpN8z4DkcK4p0lK1YpA8iDnRsjgNoprY,2126
177
+ wbportfolio/import_export/parsers/tellco/customer_trade.py,sha256=UAVcEC7Ff2Qa2-vnL2-NaRxFrqxA9HW0erMBm2RzrbQ,2157
179
178
  wbportfolio/import_export/parsers/tellco/equity.py,sha256=3mPqh-kridsNCy5K4sa43SRsZIzNnRCr_3qGYlm356Q,3353
180
- wbportfolio/import_export/parsers/tellco/valuation.py,sha256=QM8fYYOESGocACSbJnqD-1TtSYxOXOkkT7oLY6XY10Y,1642
179
+ wbportfolio/import_export/parsers/tellco/valuation.py,sha256=LwZLY1sy2sIjZXMezfZkBzvc6MeluM8xnuuDn4QGDQs,1685
181
180
  wbportfolio/import_export/parsers/ubs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
181
  wbportfolio/import_export/parsers/ubs/customer_trade.py,sha256=PYXVZRBoI0B6NJGhHoTboBzfA-U16hrIDDdPu--RLNs,2089
183
- wbportfolio/import_export/parsers/ubs/equity.py,sha256=a3Hv6kjE__VUSdkE2TJ4NBCyVvnt34bPO-uZPR7pcEM,3471
182
+ wbportfolio/import_export/parsers/ubs/equity.py,sha256=_QMvNbwPCT20rbPtobGhG5vXLHglh8Bu45taDXIIBhs,3493
184
183
  wbportfolio/import_export/parsers/ubs/historical_customer_trade.py,sha256=1IggU7Ogg8-gdwLqBtz-FZ6l-UKsjbtM-KomM8u6QpA,1746
185
- wbportfolio/import_export/parsers/ubs/valuation.py,sha256=6P71APM4xGoAadCywO6DBz42xL1bClacf242pb25w_s,1597
184
+ wbportfolio/import_export/parsers/ubs/valuation.py,sha256=Mz1uq7ftQgcBFVEfp3E0NfeTPQLj4i07HUTRF3jqCds,1619
186
185
  wbportfolio/import_export/parsers/ubs/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
186
  wbportfolio/import_export/parsers/ubs/api/asset_position.py,sha256=vDpGuHDvn0c-x72WVQtIqUc15UxoAQL-XFOsKzNoBjk,4136
188
187
  wbportfolio/import_export/parsers/ubs/api/fees.py,sha256=W6KfZn185nwXePwxL90Jp3Y_HCtkEzivuSSv2IfT2qs,1068
189
188
  wbportfolio/import_export/parsers/ubs/api/instrument_price.py,sha256=gRAfB6BWbMEadIEe24b5nyOyg8owXKAen_Oo0ls8rvQ,565
189
+ wbportfolio/import_export/parsers/ubs/api/trade.py,sha256=WmiZAC-3NPOamiOa52KCq8R1b9lZ0laF9vQDZnwXnpY,1788
190
190
  wbportfolio/import_export/parsers/ubs/api/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
191
  wbportfolio/import_export/parsers/vontobel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
192
  wbportfolio/import_export/parsers/vontobel/asset_position.py,sha256=IQTvGqp7smZUph1Km2Gx5X7RD_P8GDEYPwS3-Tzu78o,4031
@@ -201,7 +201,7 @@ wbportfolio/import_export/parsers/vontobel/valuation.py,sha256=iav8_xYpTJchmTa7K
201
201
  wbportfolio/import_export/parsers/vontobel/valuation_api.py,sha256=z9b5zKS-Dz907Mrbg7rJjFVJocSutEiS6oo2ICTjpUI,980
202
202
  wbportfolio/import_export/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
203
  wbportfolio/import_export/resources/assets.py,sha256=zjgHlQWpud41jHrKdRyqGUt1KUJQm9Z7pt0uVh4qBWQ,2234
204
- wbportfolio/import_export/resources/trades.py,sha256=-HJPVYNuMRmCu4XpD00fYlRYu3N-Ys_JpyxE0HIU5bM,1723
204
+ wbportfolio/import_export/resources/trades.py,sha256=85iAnf-GKT2EZjsbKmcIZ1g2FTarTwnix-PRgdSG8jA,1725
205
205
  wbportfolio/jinja2/wbportfolio/sql/aum_nnm.sql,sha256=V3fm1bWs-0Cz5Y4LK78dkbuyxqg6VUfsE4JXsIQHQac,4408
206
206
  wbportfolio/kpi_handlers/nnm.py,sha256=hCn0oG0C-6dQ0G-6S4r31nAS633NZdlOT-ntZrzvXZI,7180
207
207
  wbportfolio/locale/de/LC_MESSAGES/django.mo,sha256=FfQ5HV2xg7ZrJASidRJ4L-gCAbPNeQnFm940aRbb0js,378
@@ -212,7 +212,7 @@ wbportfolio/locale/fr/LC_MESSAGES/django.mo,sha256=t4lh3zX7kshbDAFzXa5HU_YGPXkPz
212
212
  wbportfolio/locale/fr/LC_MESSAGES/django.po,sha256=EdY0xnTQG8al2Fi_Ml2rxEZ7cr-YhRkAT2G3ABjhAZI,5266
213
213
  wbportfolio/metric/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
214
  wbportfolio/metric/backends/__init__.py,sha256=jfim5By5KqXfraENRFlhXy3i3gIzmElD6sfwL3qK2KM,108
215
- wbportfolio/metric/backends/base.py,sha256=Dv9uTAPizUJtGraTPMaSnrqWpJJSr-ftPid4wttQhkI,2787
215
+ wbportfolio/metric/backends/base.py,sha256=y4bwa7DW5GmTjSmdHgtOnz3BmMlMi_xuoyB0zk_p86Y,2789
216
216
  wbportfolio/metric/backends/constants.py,sha256=NU5BlMb_HIiN9NWtw_hSfWK0y0q4W9-HQG7eJoZqI_g,7373
217
217
  wbportfolio/metric/backends/portfolio_base.py,sha256=9gC2RhBVt9R38rEIvBmWdgUC6mEOP5vFqEEew_sWIeU,10012
218
218
  wbportfolio/metric/backends/portfolio_esg.py,sha256=MSiki-ZN-7YF0gev1kGFDrbfBi8Nfw6yJeLZlSRy6tw,2442
@@ -271,74 +271,82 @@ wbportfolio/migrations/0085_order_desired_target_weight.py,sha256=L8p5t4PqjWIwqw
271
271
  wbportfolio/migrations/0086_orderproposal_total_cash_weight.py,sha256=IE65OYYBOSQjj6znl9jmsMalxDmKdnHV1DbVz_ZX_M4,689
272
272
  wbportfolio/migrations/0087_product_order_routing_custodian_adapter.py,sha256=4OHTjdXNwJ-My8EgUGYWM_vRBccjYgghjN4fLV0n1yQ,4564
273
273
  wbportfolio/migrations/0088_orderproposal_total_effective_portfolio_contribution.py,sha256=6Q41GSbWg_L8r6FUcQ9MrdpRazOdUlc7tD8_bmg8a3Y,521
274
+ wbportfolio/migrations/0089_orderproposal_min_weighting.py,sha256=DgJdIRka1eZSrEZqkUBHiVPpCfOvChWPrWdx-ZExO6Q,3906
275
+ wbportfolio/migrations/0090_dividendtransaction_price_fx_portfolio_and_more.py,sha256=2HOOaTe9dV5RKKLFNXJwP6u3NMBFZwv7ctN_EJ6Z6A8,2447
276
+ wbportfolio/migrations/0091_remove_order_execution_confirmed_and_more.py,sha256=-Xh7ktEyJD9g2yEl8LngeEyDAPo7oEuVz089gwaF-3I,1568
277
+ wbportfolio/migrations/0092_order_quantization_error_alter_orderproposal_status.py,sha256=3pEr0ALMvz0FQBpP1Yehq9R0pwRYyagjMlqjosHAzZg,2057
278
+ wbportfolio/migrations/0093_remove_portfolioportfoliothroughmodel_unique_primary_and_more.py,sha256=oYcBc65cwcYKBC8T4GoUOhDkNxZEbHm9-VV911eWXN4,1714
274
279
  wbportfolio/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
280
  wbportfolio/models/__init__.py,sha256=qU4e7HKyh8NL_0Mg92PcbHTewCv7Ya2gei1DMGe1LWE,980
276
- wbportfolio/models/adjustments.py,sha256=osXWkJZOiansPWYPyHtl7Z121zDWi7u1YMtrBQtbHVo,10272
277
- wbportfolio/models/asset.py,sha256=K0cvK-g1dUmQLjVAboUm3zDb4YGW_Wu9eRMdhfEMSck,39123
278
- wbportfolio/models/builder.py,sha256=txZE_gEDgkPgSxSF0AlvZiRyhRQixD4Ame0wEF6Fjoo,14028
279
- wbportfolio/models/custodians.py,sha256=owTiS2Vm5CRKzh9M_P9GOVg-s-ndQ9UvRmw3yZP7cw0,3815
280
- wbportfolio/models/exceptions.py,sha256=3ix0tWUO-O6jpz8f07XIwycw2x3JFRoWzjwil8FVA2Q,52
281
+ wbportfolio/models/adjustments.py,sha256=bexLAv5ywa397XTmJOoMArHe6LhlQnpuNlMj4zknQzA,10288
282
+ wbportfolio/models/asset.py,sha256=zVJm3M5FIYYEMLl3mS0GxWfotadRgItOgIpNIto-0jw,39345
283
+ wbportfolio/models/builder.py,sha256=iSAUGatyUnww-FKpnYy90xVJ_gg27y0H2ATjvsTAxtw,14946
284
+ wbportfolio/models/custodians.py,sha256=QhSC3mfd6rSPp8wizabLbKmFDrrskZTSkxNdBJMdtCk,3815
285
+ wbportfolio/models/exceptions.py,sha256=EZnqSr5PxikiS4oDknRakEmlninJh_c-tOHRYv3IMjE,57
281
286
  wbportfolio/models/indexes.py,sha256=gvW4K9U9Bj8BmVCqFYdWiXvDWhjHINRON8XhNsZUiQY,639
282
- wbportfolio/models/portfolio.py,sha256=fuYvHx4D3GqHjO0cBqe09M-t-t6jUzuOMh2ikTbykMo,54640
287
+ wbportfolio/models/portfolio.py,sha256=OoOJIAakOm9ghO7YN1h6WV3Pn9IKrmjEyZogtYpnWK4,57656
283
288
  wbportfolio/models/portfolio_cash_flow.py,sha256=uElG7IJUBY8qvtrXftOoskX6EA-dKgEG1JJdvHeWV7g,7336
284
289
  wbportfolio/models/portfolio_cash_targets.py,sha256=WmgG-etPisZsh2yaFQpz7EkpvAudKBEzqPsO715w52U,1498
285
- wbportfolio/models/portfolio_relationship.py,sha256=ZGECiPZiLdlk4uSamOrEfuzO0hduK6OMKJLUSnh5_kc,5190
290
+ wbportfolio/models/portfolio_relationship.py,sha256=sJaEghyMPcPThUR5s7a2h8f78YyjvaV22xJFl5-i_tU,5387
286
291
  wbportfolio/models/portfolio_swing_pricings.py,sha256=_LqYC1VRjnnFFmVqFPRdnbgYsVxocMVpClTk2dnooig,1778
287
292
  wbportfolio/models/product_groups.py,sha256=qoT8qv6tRdD6zmNDxsHO6dtnWw1-TRnyS5NqOq_gwhI,7901
288
- wbportfolio/models/products.py,sha256=8XXx6sN3cUCls_TlwAc8-vL1bNn0JQRAxeCeyLJlmG8,23177
289
- wbportfolio/models/rebalancing.py,sha256=Mw24JO4C8jRA6U7dgsNR8usgIO1VqMgsVs94HdC07cE,7729
293
+ wbportfolio/models/products.py,sha256=EBU6zBMPhT3GYhwQIQt3VAAehlFs3szbJRUytg8aY_c,23260
294
+ wbportfolio/models/rebalancing.py,sha256=cV2LBnKPGCrrazHCRwDw7TxXp-2ouQqy2qezPTYEQ8c,7829
290
295
  wbportfolio/models/registers.py,sha256=qA6T33t4gxFYnabQFBMd90WGIr6wxxirDLKDFqjOfok,4667
291
- wbportfolio/models/roles.py,sha256=wF5Atp0xsJxDrYjmFw9XHgEOe_4C-lm4pppeYdymOrA,7343
296
+ wbportfolio/models/roles.py,sha256=3tuQAQ3Bw5AVWAwiaukHTgGq1_bcod7p5cttS3uQnU0,7193
292
297
  wbportfolio/models/signals.py,sha256=jZKC43nIqVdLapwo3getIMSqPUwbK5M36MmvA50jY24,1041
293
- wbportfolio/models/utils.py,sha256=iBdMjRCvr6aOL0nLgfSCWUKe0h39h3IGmUbYo6l9t6w,394
298
+ wbportfolio/models/utils.py,sha256=xKOEbfU3z_gsM34WEWytaxokKmaoBWQs0ZVqeb995Ec,4546
294
299
  wbportfolio/models/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
- wbportfolio/models/graphs/portfolio.py,sha256=NwkehWvTcyTYrKO5ku3eNNaYLuBwuLdSbTEuugGuSIU,6541
296
- wbportfolio/models/graphs/utils.py,sha256=1AMpEE9mDuUZ82XgN2irxjCW1-LmziROhKevEBo0mJE,2347
300
+ wbportfolio/models/graphs/portfolio.py,sha256=hqR50U5uo5OX1-Yjo6To3ukVrFbUkrc3dIe72Gl_7z0,6546
301
+ wbportfolio/models/graphs/utils.py,sha256=4QlUkRaTToXwkHBWEPj_eWABntpgl-8gkTqEEfwuiys,2347
297
302
  wbportfolio/models/llm/wbcrm/analyze_relationship.py,sha256=etKdmt9m6Ra5u7EA9t98RVSqFKpbFd4iwBVaH9T26M8,2320
298
303
  wbportfolio/models/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
299
304
  wbportfolio/models/mixins/instruments.py,sha256=SuMPquQ93D4pZMK-4hQbJtV58_NOyf3wVOctQq7LNXQ,7054
300
- wbportfolio/models/mixins/liquidity_stress_test.py,sha256=iQVzT3QM7VtHnqfj9gT6KUIe4wC4MJXery-AXJHUYns,58820
305
+ wbportfolio/models/mixins/liquidity_stress_test.py,sha256=I_pgJ3QVFBtq0SeljJerhtlrZESRDNAe4On6QfMHvXc,58834
301
306
  wbportfolio/models/orders/__init__.py,sha256=EH9UacGR3npBMje5FGTeLOh1xqFBh9kc24WbGmBIA3g,69
302
- wbportfolio/models/orders/order_proposals.py,sha256=1ce97DXjzZ4MsUAgA_GlnofnztAf0Y6zR1etZs-LrFI,57120
303
- wbportfolio/models/orders/orders.py,sha256=kiVmVeW2D1bAuT983nSeIug6uoZ78IZovuAgls-CO8w,10150
304
- wbportfolio/models/orders/routing.py,sha256=OpeP-rfMm1UN7a3vbNxBEQxqtGfE57AeGWnbTZa1fRQ,2223
307
+ wbportfolio/models/orders/order_proposals.py,sha256=MyekmFaNj-Tp-n_VEV37P0nSsUQZr4rs0BxIANhdOIo,63164
308
+ wbportfolio/models/orders/orders.py,sha256=8baGMzzC-TvJG5ieRp8gaYFygxo2VQKvXgNm4w6AcWM,17018
305
309
  wbportfolio/models/reconciliations/__init__.py,sha256=MXH5fZIPGDRBgJkO6wVu_NLRs8fkP1im7G6d-h36lQY,127
306
310
  wbportfolio/models/reconciliations/account_reconciliation_lines.py,sha256=QP6M7hMcyFbuXBa55Y-azui6Dl_WgbzMntEqWzQkbfM,7394
307
311
  wbportfolio/models/reconciliations/account_reconciliations.py,sha256=rofSxetFfEJov6mPyoTvGxELA16HILyJZtQvm_kwYU0,4405
308
312
  wbportfolio/models/reconciliations/reconciliations.py,sha256=kF-BNhUoT4TCn1RIgPSkdEk1iX4NQeZlGGFd_ZulAZU,686
309
313
  wbportfolio/models/transactions/__init__.py,sha256=NrnVHxcpi0Kc6SkTiSlWn4JMWoelvkE9bNouClcvqGA,133
310
- wbportfolio/models/transactions/claim.py,sha256=SF2FlwG6SRVmA_hT0NbXah5-fYejccWKAE6AY6YOYTs,25875
311
- wbportfolio/models/transactions/dividends.py,sha256=mmOdGWR35yndUMoCuG24Y6BdtxDhSk2gMQ-8LVguqzg,1890
314
+ wbportfolio/models/transactions/claim.py,sha256=A_1OBULlkOWCNr-d-g9ySSTeqCdao4_7BDwChBpB7io,25900
315
+ wbportfolio/models/transactions/dividends.py,sha256=KNqOMRv6KB_Du5dyap3Q7f9AZ9dMAxpaY9I7-YuNNjs,1914
312
316
  wbportfolio/models/transactions/fees.py,sha256=wJtlzbBCAq1UHvv0wqWTE2BEjCF5RMtoaSDS3kODFRo,7112
313
- wbportfolio/models/transactions/trades.py,sha256=2cDNjf1hJwFwrDT1SLacUU-Nkt5kU62zjI3WIj_Q0vQ,16340
314
- wbportfolio/models/transactions/transactions.py,sha256=6resBETl_3an6TFLdnSYLXt6QKg5m4JpC9XAGvEK2Ts,3817
315
- wbportfolio/order_routing/__init__.py,sha256=kYloUGytPBNB8KVy5ysm9PlEEU_sGPk5c3ch46dXeJo,604
316
- wbportfolio/order_routing/adapters/__init__.py,sha256=YiM5FFvLucDTBgIn3mCBjKNSRU7K2pokHdbWBoaZA94,1549
317
- wbportfolio/order_routing/adapters/ubs.py,sha256=_Z9-j1a6_F08VlNIjLLn5XmhoKSZQTTH14lGeTgbu9A,6328
317
+ wbportfolio/models/transactions/trades.py,sha256=jrEzdAghYr2XIuKXK0AOJzYkdzKWobWyERcXld7DPQc,16581
318
+ wbportfolio/models/transactions/transactions.py,sha256=X7vT0t6UNHFKVU_vCZsA_YQJuOpYisF1vVEeKaZD5CA,4245
319
+ wbportfolio/order_routing/__init__.py,sha256=LVVLsZlmOhopRWclDC_cCNCZi3zr1XbtF9ZhEo6dNzo,1354
320
+ wbportfolio/order_routing/router.py,sha256=pd7_T0jMJd1i8CZ4bhUvK2R86OadCNrNd3rPckkkXYg,1337
321
+ wbportfolio/order_routing/adapters/__init__.py,sha256=SPZ9p9lo0Do0B85XrVTeQqViSjWKqkAZGHzMB27k6bM,1797
322
+ wbportfolio/order_routing/adapters/ubs.py,sha256=keojYc_rPIjYBFjXM02adZvJ93ADDWDOicLWBerJ7OQ,8157
323
+ wbportfolio/order_routing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
+ wbportfolio/order_routing/tests/test_router.py,sha256=iWEOYedSS4RnWaa8PxDtz90zz_A8HQ0tz2ENsgp1108,4677
318
325
  wbportfolio/pms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
- wbportfolio/pms/typing.py,sha256=kNesj7e-SA9lKgmdInJ94R60-pXNKm6guSj_cD3CQUE,10638
326
+ wbportfolio/pms/typing.py,sha256=IXwe9mTp9V_6BSt7rJDNHK0YP_NF_UlQO1Wl8rvVLn8,11597
320
327
  wbportfolio/pms/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
328
  wbportfolio/pms/analytics/portfolio.py,sha256=u_S-e6HUQwAyq90gweDmxyTHWrIc5nd84sLuUF2iJzA,2031
322
329
  wbportfolio/pms/analytics/utils.py,sha256=EfhKdo9B2ABaUPppb8DgZSqpNkSze8Rjej1xDjv-XcQ,282
323
330
  wbportfolio/pms/statistics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
- wbportfolio/pms/trading/__init__.py,sha256=R_yLKc54sCak8A1cW0O1Aszrcv5KV8mC_3h17Hr20e4,36
325
- wbportfolio/pms/trading/handler.py,sha256=sGwtwerozgiCVOTeQgJ0Q9g1zzQCPuydkf0aWn6NnGs,8646
331
+ wbportfolio/pms/trading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
+ wbportfolio/pms/trading/optimizer.py,sha256=-PCelOjrJxi2YO26dA1f9uAHvLNXhXNnZxrwp1J5LoM,2192
326
333
  wbportfolio/rebalancing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
327
334
  wbportfolio/rebalancing/base.py,sha256=wpeoxdkLz5osxm5mRjkOoML7YkYvwuAlqSLLtHBbWp8,984
328
335
  wbportfolio/rebalancing/decorators.py,sha256=162ZmXV2YQGI830LWvEnJ95RexMzHvaCGfcVOnXTOXM,502
329
336
  wbportfolio/rebalancing/models/__init__.py,sha256=AQjG7Tu5vlmhqncVoYOjpBKU2UIvgo9FuP2_jD2w-UI,232
330
- wbportfolio/rebalancing/models/composite.py,sha256=kDa4-Q3aMOrBGrrfIwTyjik14vF8cjfD-ArIm8FCR9A,1671
337
+ wbportfolio/rebalancing/models/composite.py,sha256=cwPPhS8pOWpXB0v9dxymVV0DKGIUwxbZwJBA0SDz0Ek,1673
331
338
  wbportfolio/rebalancing/models/equally_weighted.py,sha256=iv6FiICGQX1mPnkK2L4oDeCH_-4yF8SL8YUBzjXBZsI,1306
332
- wbportfolio/rebalancing/models/market_capitalization_weighted.py,sha256=3Lm3A4yBj_QEBw0EjTvn39f1vFzjLz_ITDUQCAXuxJg,5642
339
+ wbportfolio/rebalancing/models/market_capitalization_weighted.py,sha256=sNu3DYPlX19stqZO4c5CLubsMJJhnj3m7zYbabR05rg,5536
333
340
  wbportfolio/rebalancing/models/model_portfolio.py,sha256=_j892V6YCrXLzNZdpxuKmaNu_VYfamStwb6Z-4sECPA,1326
334
341
  wbportfolio/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
342
  wbportfolio/reports/monthly_position_report.py,sha256=e7BzjDd6eseUOwLwQJXKvWErQ58YnCsznHU2VtR6izM,2981
336
343
  wbportfolio/risk_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
- wbportfolio/risk_management/backends/__init__.py,sha256=4N3GYcIb0XgZUQWEHxCejOCRabUtLM6ha9UdOWJKUfI,368
344
+ wbportfolio/risk_management/backends/__init__.py,sha256=O_kYYcooycKFoV3NRl4EhAS02mMesg6jX8tvJWU9lVg,409
338
345
  wbportfolio/risk_management/backends/accounts.py,sha256=VMHwhzeFV2bzobb1RlEJadTVix1lkbbfdpo-zG3YN5c,7988
339
- wbportfolio/risk_management/backends/controversy_portfolio.py,sha256=ncEHyJMVomv0ehx7LoWcux1YHLV6KYYmiOkIBzJ0P1M,2852
340
- wbportfolio/risk_management/backends/exposure_portfolio.py,sha256=8T97J0pbnGdme_Ji9ntA5FV9MCouSxDz5grMvRvpl70,10760
341
- wbportfolio/risk_management/backends/instrument_list_portfolio.py,sha256=Sh8PZHHKFAl4Aw8fOlu17fUSiEFYYemb-B0iltAXc10,4186
346
+ wbportfolio/risk_management/backends/controversy_portfolio.py,sha256=VXNOd9QxzdbCxfs05QCC0K7YtneV9n-05zhuAinbIy8,2847
347
+ wbportfolio/risk_management/backends/esg_aggregation_portfolio.py,sha256=RyUvXZuB5wALuh34NZOikzMfVKrbZG4XdOssHbO8dwo,2994
348
+ wbportfolio/risk_management/backends/exposure_portfolio.py,sha256=QDNAz_bdj9ds9YhKPHFCTX3eWSkzk9jnkQhfTpZrk6E,10783
349
+ wbportfolio/risk_management/backends/instrument_list_portfolio.py,sha256=_ZRM2OI_qIF24aBfObkV0LWoZ1nKZN-qGXdclIo4nzw,4247
342
350
  wbportfolio/risk_management/backends/liquidity_risk.py,sha256=OnuUypmN86RDnch1JOb8UJo5j1z1_X7sjazqAo7cbwM,3694
343
351
  wbportfolio/risk_management/backends/liquidity_stress_instrument.py,sha256=oitzsaZu-HhYn9Avku3322GtDmf6QGsfyRzGPGZoM1Y,3612
344
352
  wbportfolio/risk_management/backends/mixins.py,sha256=g0hkQRjn3-S6vMIai6t2_tf6uWoG_D3WdamQwDTlMu0,10052
@@ -350,12 +358,13 @@ wbportfolio/risk_management/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
350
358
  wbportfolio/risk_management/tests/conftest.py,sha256=ChVocx8SDmh13ixkRmnKe_MMudQAX0495o7nG4NDlsg,440
351
359
  wbportfolio/risk_management/tests/test_accounts.py,sha256=q9Z3hDw0Yw86VealdmUfiJBkzRcqDwfybteGxS0hAJA,3990
352
360
  wbportfolio/risk_management/tests/test_controversy_portfolio.py,sha256=TrvDQ8JEXYFMl7z6MsPAAXV5d8LILO1RYRjMtF9YVTU,1366
353
- wbportfolio/risk_management/tests/test_exposure_portfolio.py,sha256=hKTygdBdZB-ZEIL_-J3QZBvPGtb1N5FWQBBS3rT8lrs,5536
361
+ wbportfolio/risk_management/tests/test_esg_aggregation_portfolio.py,sha256=oywRg2RXMR0SeQEMUkcRoB_1HfWa6Sk3XPJikKCC8qA,1569
362
+ wbportfolio/risk_management/tests/test_exposure_portfolio.py,sha256=nlEm63OovBKxw0NgE93mY4lvN6i79iS1bHEYeejBkc4,5541
354
363
  wbportfolio/risk_management/tests/test_instrument_list_portfolio.py,sha256=1pAsuMhxOWZHxQnVlTnRuzq8qIe6_86EYbkTnPlWRjE,2763
355
364
  wbportfolio/risk_management/tests/test_liquidity_risk.py,sha256=UtzBrW7LeY0Z0ARX9pg4CUjgdw8u5Hfrdkddro5EEZ8,1713
356
365
  wbportfolio/risk_management/tests/test_product_integrity.py,sha256=wqJ4b5DO2BrEVQF4eVX2B9AvfrRMAyC_lppGrgKc_ug,1959
357
- wbportfolio/risk_management/tests/test_stop_loss_instrument.py,sha256=ZueuA9qQOv6JdKuRiPLGV3auOLRnoUCZzfqcQzGJGig,4197
358
- wbportfolio/risk_management/tests/test_stop_loss_portfolio.py,sha256=_CLyC4mWPCP92LuERk6gnrr-JG78WCB83ezl5fPugLo,5195
366
+ wbportfolio/risk_management/tests/test_stop_loss_instrument.py,sha256=OczeyM32uPtND4_Tk4Y1saPqI3XURTQKDKydv_-FRF0,4175
367
+ wbportfolio/risk_management/tests/test_stop_loss_portfolio.py,sha256=O30YW4NMV0Ja2AGA-EQsu17--9H_Yz66r5IAM6xDM94,5184
359
368
  wbportfolio/risk_management/tests/test_ucits_portfolio.py,sha256=UcZLhatl8iU9AhNNYv6OBs_cjILZKaws2nvUen6orkc,1807
360
369
  wbportfolio/serializers/__init__.py,sha256=l05IdXIG5POdXDRy3mk5ZlFJknE-FVla64tGB9TigW0,1817
361
370
  wbportfolio/serializers/adjustments.py,sha256=0yTPgDjGRyzSa-ecCklENKtLJXZhq1dryMI3nTRsQRo,783
@@ -375,10 +384,10 @@ wbportfolio/serializers/registers.py,sha256=zhdKH_mHEBE0VOhm6xpY54bTMtcSaY5BskEa
375
384
  wbportfolio/serializers/roles.py,sha256=T-9NqTldpvaEMFy-Bib5MB6MeboygEOqcMP61mzzD3Q,2146
376
385
  wbportfolio/serializers/signals.py,sha256=hD6R4oFtwhvnsJPteytPKy2JwEelmxrapdfoLSnluaE,7053
377
386
  wbportfolio/serializers/orders/__init__.py,sha256=PKJRksA1pWsh8nVfGASoB0m3LyUzVRnq1m9VPp90J7k,271
378
- wbportfolio/serializers/orders/order_proposals.py,sha256=wIxnTY35dn7gH1kj9wGHnl2lOrR6ikRdqxXrSf85tT0,4762
379
- wbportfolio/serializers/orders/orders.py,sha256=7zIl5lwt7RatSVcrmNmLpWX2r2VkND33HQOUkryGjYo,7582
387
+ wbportfolio/serializers/orders/order_proposals.py,sha256=EOcWpBgoDWs1Zpg6E-RDPrPUL8ZiV9fXZoIWAOZwUZA,4919
388
+ wbportfolio/serializers/orders/orders.py,sha256=7gQTO_ToJ0Gxqfjtb86P2Rlrk8g8JKZPPXZhPHAvPnA,11972
380
389
  wbportfolio/serializers/transactions/__init__.py,sha256=-7Pan4n7YI3iDvGXff6okzk4ycEURRxp5n_SHCY_g_I,493
381
- wbportfolio/serializers/transactions/claim.py,sha256=kC4E2RZRrpd9i8tGfoiV-gpWDk3ikR5F1Wf0v_IGIvw,11599
390
+ wbportfolio/serializers/transactions/claim.py,sha256=mEt67F2v8HC6roemDT3S0dD0cZIVl1U9sASbLW3Vpyo,11611
382
391
  wbportfolio/serializers/transactions/dividends.py,sha256=ADXf9cXe8rq55lC_a8vIzViGLmQ-yDXkgR54k2m-N0w,1814
383
392
  wbportfolio/serializers/transactions/fees.py,sha256=3mBzs6vdfST9roeQB-bmLJhipY7i5jBtAXjoTTE-GOg,2388
384
393
  wbportfolio/serializers/transactions/trades.py,sha256=4Q7LhSlkGzd2UlTJFHcHufj6U9LLOKzr-POM9_IQ3Sc,9741
@@ -413,29 +422,30 @@ wbportfolio/tests/models/test_merge.py,sha256=sdsjiZsmR6vsUKwTa5kkvL6QTeAZqtd_EP
413
422
  wbportfolio/tests/models/test_portfolio_cash_flow.py,sha256=X8dsXexsb1b0lBiuGzu40ps_Az_1UmmKT0eo1vbXH94,5792
414
423
  wbportfolio/tests/models/test_portfolio_cash_targets.py,sha256=q8QWAwt-kKRkLC0E05GyRhF_TTQXIi8bdHjXVU0fCV0,965
415
424
  wbportfolio/tests/models/test_portfolio_swing_pricings.py,sha256=kr2AOcQkyg2pX3ULjU-o9ye-NVpjMrrfoe-DVbYCbjs,1656
416
- wbportfolio/tests/models/test_portfolios.py,sha256=qaNTgvtxSROpjPtzSffLMrnsOJYjftN8gNhqmAm8fLE,53819
425
+ wbportfolio/tests/models/test_portfolios.py,sha256=89jcMQWDwVLXtt0NbJY0zNQl6Bv_XDmbhyV2ixE3YPQ,53821
417
426
  wbportfolio/tests/models/test_product_groups.py,sha256=AcdxhurV-n_bBuUsfD1GqVtwLFcs7VI2CRrwzsIUWbU,3337
418
427
  wbportfolio/tests/models/test_products.py,sha256=zB3xDGk7k7omI61hU9cnU96oBc3ICiMaYtFC9pidars,9965
419
428
  wbportfolio/tests/models/test_roles.py,sha256=4Cn7WyrA2ztJNeWLk5cy9kYo5XLWMbFSvo1O-9JYxeA,3323
420
- wbportfolio/tests/models/test_splits.py,sha256=ytKcHsI_90kj1L4s8It-KEcc24rkDcElxwQ8q0QxEvk,9689
429
+ wbportfolio/tests/models/test_splits.py,sha256=0PvW6WunBByDYRhtFV2LbK-DV92q-1s3kn45NvBL5Es,9500
430
+ wbportfolio/tests/models/test_utils.py,sha256=OgPZysn-QfXaS7epR2Tyz7YkcNngDF5EPXhEeg2100s,5452
421
431
  wbportfolio/tests/models/utils.py,sha256=ORNJq6NMo1Za22jGZXfTfKeNEnTRlfEt_8SJ6xLaQWg,325
422
432
  wbportfolio/tests/models/orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
423
- wbportfolio/tests/models/orders/test_order_proposals.py,sha256=WxZgoN0J7rF5TVa_hmXZdYnUXtrU0eH-U9CW1NWNBIM,34123
433
+ wbportfolio/tests/models/orders/test_order_proposals.py,sha256=975p3X5eh5V3_F3MfhTzQuxmAtOZXaQ6vfDd-3hM28E,48457
424
434
  wbportfolio/tests/models/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
425
435
  wbportfolio/tests/models/transactions/test_claim.py,sha256=NG3BKB-FVcIDgHSJHCjImxgMM3ISVUMl24xUPmEcPec,5570
426
436
  wbportfolio/tests/models/transactions/test_fees.py,sha256=tAp18x2wCNQr11LUnLtHNbBDbbX0v1DZnmW7i-cEi5Q,2423
427
- wbportfolio/tests/models/transactions/test_rebalancing.py,sha256=JgBKrBFBU3lz1CiGU_Hk3ak6bnekWyK5kVZ1HxaoiCU,4058
437
+ wbportfolio/tests/models/transactions/test_rebalancing.py,sha256=_JcX3ctaomnPgchxmswBmgtbrNmcowqFxCrgLlUBaAk,4060
428
438
  wbportfolio/tests/models/transactions/test_trades.py,sha256=q54umbOG1GUAxE4ruYadaS6IqZAFoxQ5Ux_g94CcmWQ,8867
429
439
  wbportfolio/tests/pms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
430
440
  wbportfolio/tests/pms/test_analytics.py,sha256=KzgZqZ9yYB1gsokw6IU-uKYWr1eFHWyFte8RSpMVRg8,1897
431
441
  wbportfolio/tests/rebalancing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
432
- wbportfolio/tests/rebalancing/test_models.py,sha256=sJnVWM1kWUKeK3et2HiJb8RjL1DmU8JDHNHqFPhVhDw,7747
442
+ wbportfolio/tests/rebalancing/test_models.py,sha256=LXsG_PbRRO9HwBKcV4WcCQIW9jY1I4EcZ8zZSY_wmRg,7751
433
443
  wbportfolio/tests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
434
444
  wbportfolio/tests/serializers/test_claims.py,sha256=vQrg73xQXRFEgvx3KI9ivFre_wpBFzdO0p0J13PkvdY,582
435
445
  wbportfolio/tests/viewsets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
436
446
  wbportfolio/tests/viewsets/test_assets.py,sha256=-RKdU23dxXEW8f3ZQu3a15U9ljTej3FflGtDEahENsI,2568
437
447
  wbportfolio/tests/viewsets/test_performances.py,sha256=Cx5FqPO4K8G7F6-rqiiSDmFNYJPyv999pvR-KCO1FYY,3877
438
- wbportfolio/tests/viewsets/test_products.py,sha256=VsLW5iazAGch8yxH0jTgcc2fn4L7iZ2gPw7PmqQL60g,4270
448
+ wbportfolio/tests/viewsets/test_products.py,sha256=4w2Pn4rApWjolKVL9VuTGgz-bv-jF8GFVT9x5D5MbTk,4296
439
449
  wbportfolio/tests/viewsets/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
450
  wbportfolio/tests/viewsets/transactions/test_claims.py,sha256=QEZfMAW07dyoZ63t2umSwGOqvaTULfYfbN_F4ZoSAcw,6368
441
451
  wbportfolio/viewsets/__init__.py,sha256=nmWLARDxraY09h4-dpfbOWlx1OylZz3_DpGk_gvJv-o,2475
@@ -443,13 +453,13 @@ wbportfolio/viewsets/adjustments.py,sha256=ugbX4aFRCaD4Yj1hxL-VIPaNI7GF_wt0FrkN6
443
453
  wbportfolio/viewsets/assets.py,sha256=v0GvRb3Hoj26H4NmLB_d3iqdG1c1e9SsZrvzkzg9Jvg,16404
444
454
  wbportfolio/viewsets/assets_and_net_new_money_progression.py,sha256=Jl4vEQP4N2OFL5IGBXoKcj-0qaPviU0I8npvQLw4Io0,4464
445
455
  wbportfolio/viewsets/custodians.py,sha256=CTFqkqVP1R3AV7lhdvcdICxB5DfwDYCyikNSI5kbYEo,2322
446
- wbportfolio/viewsets/esg.py,sha256=27MxxdXQH3Cq_1UEYmcrF7htUOg6i81fUpbVQXAAKJI,6985
456
+ wbportfolio/viewsets/esg.py,sha256=K0NH4C5wA5wu-hLdGRtRHMALr2z3DaILSAPcgeK9nAA,6911
447
457
  wbportfolio/viewsets/mixins.py,sha256=XvIoyv0T9Gi_HCuPtjFX8IGZeuskmcL669IeKyLXlRI,1791
448
458
  wbportfolio/viewsets/portfolio_cash_flow.py,sha256=jkBfdZRQ3KsxGMJpltRjmdrZ2qEFJq5edunUUs5ju2g,1297
449
459
  wbportfolio/viewsets/portfolio_cash_targets.py,sha256=CvHlrDE8qnnnfRpTYnFu-Uu15MDbF5d5gTmEKth2S24,322
450
460
  wbportfolio/viewsets/portfolio_relationship.py,sha256=RGyvxd8NfFEs8YdqEvVD3VbrISvAO5UtCTlocSIuWQw,2109
451
461
  wbportfolio/viewsets/portfolio_swing_pricing.py,sha256=-57l3WLQZRslIV67OT0ucHE5JXTtTtLvd3t7MppdVn8,357
452
- wbportfolio/viewsets/portfolios.py,sha256=cF1XnSM6oQFgwYMo6wMF0u7WCwyPGdTTa3FUJI91mB0,14430
462
+ wbportfolio/viewsets/portfolios.py,sha256=PEKXKWUuQ6biDeBb-SZmTCP8SF8HZjdgEVfllkrEXgs,15689
453
463
  wbportfolio/viewsets/positions.py,sha256=fYmkcYwNybeEZejMZVvel8yFdr7ob_jG8t6ar7snD58,13236
454
464
  wbportfolio/viewsets/product_groups.py,sha256=YvmuXPPy98K1J_rz6YPsx9gNK-tCS2P-wc1uRYgfyo0,2399
455
465
  wbportfolio/viewsets/product_performance.py,sha256=dRfRgifjGS1RgZSu9uJRM0SmB7eLnNUkPuqARMO4gyo,28371
@@ -459,16 +469,16 @@ wbportfolio/viewsets/reconciliations.py,sha256=tRS7UBDtMn-07uA9QqYvnCtp_mZGVeULF
459
469
  wbportfolio/viewsets/registers.py,sha256=eOuEhW2McHsOapCKue7M4eazrJnVpCBVxImpFccq0z0,2401
460
470
  wbportfolio/viewsets/roles.py,sha256=vnzS1mlJMZS3GObrss6SfXOr3KRb-OHB1s4Msvtn7xQ,1556
461
471
  wbportfolio/viewsets/charts/__init__.py,sha256=zE3bxS0V-nM_yZ610M7qsaToNOJXvTjwFLhH1it3h4M,169
462
- wbportfolio/viewsets/charts/assets.py,sha256=P5ZQ7Kihw3Eab7n7CKxMLdkdWGyiF-qpntw_x9iRJuc,17906
472
+ wbportfolio/viewsets/charts/assets.py,sha256=shhM9O9qa4fwX3BpqBnfqhZEyPrmCwM81e56cUsqz9g,18013
463
473
  wbportfolio/viewsets/configs/__init__.py,sha256=K5opfVQvgGwSyw3XwDGkv3lo5i9jBxOJXYhLqyCdfeQ,137
464
474
  wbportfolio/viewsets/configs/buttons/__init__.py,sha256=hyvpxwh9ss8Q0xcE006qsTLuSsJeWt9saHRcU4g96tA,791
465
475
  wbportfolio/viewsets/configs/buttons/adjustments.py,sha256=sUY_3vxqP0kuqs8i5hklfboZI6QiAOrmu30eb29Xupo,492
466
- wbportfolio/viewsets/configs/buttons/assets.py,sha256=6HqSyUpczK66iL0Jg8BbvAJuci3jm8OsB9p9Nt_o14Q,5680
476
+ wbportfolio/viewsets/configs/buttons/assets.py,sha256=zKX74vr9IceOy0RdGTloqsT0YP4tQWliOVgm4kX0tao,5693
467
477
  wbportfolio/viewsets/configs/buttons/claims.py,sha256=G1GFK1jQyR9M0dyXthYA6krG2JFvHhc3D7pFh6IUQ30,3684
468
478
  wbportfolio/viewsets/configs/buttons/custodians.py,sha256=AE-VFahGreSlg5nejqQVvOy2JvpclXbgSD6bxsyqI_U,3317
469
479
  wbportfolio/viewsets/configs/buttons/fees.py,sha256=8z-qo5krw4x_9ujp0s8iR8iY8_5m-wusPNaQkjMxFSA,443
470
- wbportfolio/viewsets/configs/buttons/mixins.py,sha256=d2W3IOgmi3icTMeoO_ckec2oCXA_kiG6nOriMG7YHTI,3169
471
- wbportfolio/viewsets/configs/buttons/portfolios.py,sha256=y1sqYJwhQG9M0AgUEY8yEE3VTdhhVxoup3YBc2IRm-U,5267
480
+ wbportfolio/viewsets/configs/buttons/mixins.py,sha256=mTn6EikAU4Sob8qNquhPOdhVTA9NjUanWaye7Bz7NHo,3167
481
+ wbportfolio/viewsets/configs/buttons/portfolios.py,sha256=rnxEkzNiVS2BkYmpetYw6nxDkdLM2TC6_m7CQya0Ats,7154
472
482
  wbportfolio/viewsets/configs/buttons/products.py,sha256=4xH19uYTDL55hKrV24eeeOFrmO1vV5MAwPw5IxNKosQ,3301
473
483
  wbportfolio/viewsets/configs/buttons/reconciliations.py,sha256=lw4r22GHpqKPUF1MrB6P9dOkL-FHe5iiBJ0--f8D74E,3145
474
484
  wbportfolio/viewsets/configs/buttons/registers.py,sha256=aS89TsYHql83k-NHojOrLDqtBpnpsUUO8x63PiMfrXM,445
@@ -489,7 +499,7 @@ wbportfolio/viewsets/configs/display/product_groups.py,sha256=PwI-A0_ofShT2pub9-
489
499
  wbportfolio/viewsets/configs/display/product_performance.py,sha256=6Mme48JBn_okwClR44dBK2OK26ejvdasDvBa5DI33_0,10070
490
500
  wbportfolio/viewsets/configs/display/products.py,sha256=8Ssmb4IjqXwTX81aKmLVbmWZcD_8uHa08vieO6cgjoM,10686
491
501
  wbportfolio/viewsets/configs/display/rebalancing.py,sha256=3A5JFy6-lMcsyoUCW5qPBpwfKqVQRXUA2qDrDz4Yjlc,1108
492
- wbportfolio/viewsets/configs/display/reconciliations.py,sha256=YvMAuwmpX0HExvGsuf5UvcRQxe4eMo1iyNJX68GGC_k,6021
502
+ wbportfolio/viewsets/configs/display/reconciliations.py,sha256=E_Jab4cUMd7hhCQrdgev2ymkIqIbUh0B8TNvXiDqEWs,6025
493
503
  wbportfolio/viewsets/configs/display/registers.py,sha256=1np75exIk5rfct6UkVN_RnfJ9ozvIkcWJgFV4_4rJns,3182
494
504
  wbportfolio/viewsets/configs/display/roles.py,sha256=SFUyCdxSlHZ3NsMrJmpVBSlg-XKGaEFteV89nyLMMAQ,1815
495
505
  wbportfolio/viewsets/configs/display/trades.py,sha256=NDmv2aShfshpO1SjzPzsXvn4BswEo4JP6I_aIm9LvP0,9564
@@ -548,18 +558,18 @@ wbportfolio/viewsets/configs/titles/registers.py,sha256=-C-YeGBhGva48oER6EIQ8CxW
548
558
  wbportfolio/viewsets/configs/titles/roles.py,sha256=9LoJa3jgenXJ5UWRlIErTzdbjpSWMKsyJZtv-eDRTK4,739
549
559
  wbportfolio/viewsets/configs/titles/trades.py,sha256=29XCLxvY0Xe3a2tjCno3tN2rRXCr9RWpbWnzurJfnYI,1986
550
560
  wbportfolio/viewsets/orders/__init__.py,sha256=N8v9jdEXryOzrLlc7ML3iBCO2lmNXph9_TWoQ7PTvi4,195
551
- wbportfolio/viewsets/orders/order_proposals.py,sha256=IMiRh7kFqzmHjC34k-FjV21NSxkWVBi5NTEtUysN9qg,8302
552
- wbportfolio/viewsets/orders/orders.py,sha256=bSJ8na5XO5HcmrDdLkD6gH1G6J90nLa3bOTe89IWoAI,10922
561
+ wbportfolio/viewsets/orders/order_proposals.py,sha256=SDQkZn7xloczNufkkw2pHAxpEAGkR8KON-dGmU9CKmI,11933
562
+ wbportfolio/viewsets/orders/orders.py,sha256=JNiPYSAfg1HPRupa9FL6lhZUcAT5bVjcALbiOKabsI4,13778
553
563
  wbportfolio/viewsets/orders/configs/__init__.py,sha256=5MU57JXiKi32_PicHtiNr7YHmMN020FrlF5NFJf_Wds,94
554
564
  wbportfolio/viewsets/orders/configs/buttons/__init__.py,sha256=EHzNmAfa0UQFITEF-wxj_s4wn3Y5DE3DCbEUmmvCTIs,106
555
- wbportfolio/viewsets/orders/configs/buttons/order_proposals.py,sha256=1BPkIYv0-K2DDGa4Gua2_Pxsx7fNurTZ2tYNdL66On0,6495
556
- wbportfolio/viewsets/orders/configs/buttons/orders.py,sha256=GDO4Y33wkjhDxzpf7B1d_rKzAixegLv5rHam1DV3WkM,290
565
+ wbportfolio/viewsets/orders/configs/buttons/order_proposals.py,sha256=ejBl9C7RI2f8rUlFzK_DQt1KvULVDRUPbYDVKd884c0,9508
566
+ wbportfolio/viewsets/orders/configs/buttons/orders.py,sha256=URAJ9gzzo_TGiSL9Ojwn4upQ9dP5Buup1nW8HZonwKM,3896
557
567
  wbportfolio/viewsets/orders/configs/displays/__init__.py,sha256=__YJBbz_ZnKpE8WMMDR2PC9Nng-EVlRpGTEQucdrhRA,108
558
- wbportfolio/viewsets/orders/configs/displays/order_proposals.py,sha256=1HnQGR8WFSWHfugEhbTrCaxZ5pabzH8iaLKVBb_Fowc,7282
559
- wbportfolio/viewsets/orders/configs/displays/orders.py,sha256=R1oaDTGosL430xnYZpJz7ihnCOCO6eAFhDQz-wGYT24,7611
568
+ wbportfolio/viewsets/orders/configs/displays/order_proposals.py,sha256=nUuzypeXkoDZ8kC6SYfuVqDESTiXlh5z5-XzaFrBzPA,7267
569
+ wbportfolio/viewsets/orders/configs/displays/orders.py,sha256=zb0aWRwVH0kbxWtwo5rIcX5trJYbYOQ4Rk7RWLfvtis,9478
560
570
  wbportfolio/viewsets/orders/configs/endpoints/__init__.py,sha256=IB8GEadiEtBDclhkgpcJGXWfCF6qRK_42hxJ4pcdZDU,148
561
- wbportfolio/viewsets/orders/configs/endpoints/order_proposals.py,sha256=fY3y2YWR9nY-KE8k078NszDsnwOgqOIjHUgLvQjDivU,822
562
- wbportfolio/viewsets/orders/configs/endpoints/orders.py,sha256=Iic9RWLHiP2zxq6xve99lwVYCSMLX4T2euS7cJh-uOQ,1088
571
+ wbportfolio/viewsets/orders/configs/endpoints/order_proposals.py,sha256=dvXrz9CBoRbpubh4E4yhqU7Q1lFpM2YpbljM2OIVP5s,853
572
+ wbportfolio/viewsets/orders/configs/endpoints/orders.py,sha256=2X0Raaa720RBGnS2kXjoJ0M3NMgNEH39ZdKk1kY5v4k,1263
563
573
  wbportfolio/viewsets/orders/configs/titles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
564
574
  wbportfolio/viewsets/orders/configs/titles/orders.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
565
575
  wbportfolio/viewsets/transactions/__init__.py,sha256=1j4MPi6O6EQkm9klS4b0fhMchlt3MCkSBr86-z2Dj8Y,856
@@ -567,7 +577,7 @@ wbportfolio/viewsets/transactions/claim.py,sha256=Pb1WftoO-w-ZSTbLRhmQubhy7hgd68
567
577
  wbportfolio/viewsets/transactions/fees.py,sha256=WT2bWWfgozz4_rpyTKX7dgBBTXD-gu0nlsd2Nk2Zh1Q,7028
568
578
  wbportfolio/viewsets/transactions/mixins.py,sha256=WipvJoi5hylkpD0y9VATe30WAcwIHUIroVkK10FYw7k,636
569
579
  wbportfolio/viewsets/transactions/trades.py,sha256=xBgOGaJ8aEg-2RxEJ4FDaBs4SGwuLasun3nhpis0WQY,12363
570
- wbportfolio-1.55.8.dist-info/METADATA,sha256=JBgCNHH4seDymSNEd6z5o49vq2VI66Pg0v3tLoxJ41w,751
571
- wbportfolio-1.55.8.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
572
- wbportfolio-1.55.8.dist-info/licenses/LICENSE,sha256=jvfVH0SY8_YMHlsJHKe_OajiscQDz4lpTlqT6x24sVw,172
573
- wbportfolio-1.55.8.dist-info/RECORD,,
580
+ wbportfolio-1.59.4.dist-info/METADATA,sha256=iDknPMTyXCjPfZvOyCcgqvk8q5Jk1CNrf-zIG-tSKNM,751
581
+ wbportfolio-1.59.4.dist-info/WHEEL,sha256=aha0VrrYvgDJ3Xxl3db_g_MDIW-ZexDdrc_m-Hk8YY4,105
582
+ wbportfolio-1.59.4.dist-info/licenses/LICENSE,sha256=jvfVH0SY8_YMHlsJHKe_OajiscQDz4lpTlqT6x24sVw,172
583
+ wbportfolio-1.59.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
wbportfolio/fdm/tasks.py DELETED
@@ -1,42 +0,0 @@
1
- from celery import shared_task
2
- from wbfdm.models import Controversy, Instrument
3
-
4
- from wbportfolio.models import AssetPosition, Portfolio
5
-
6
-
7
- @shared_task(queue="portfolio")
8
- def synchronize_portfolio_controversies():
9
- active_portfolios = Portfolio.objects.filter_active_and_tracked()
10
- qs = (
11
- AssetPosition.objects.filter(portfolio__in=active_portfolios)
12
- .values("underlying_instrument")
13
- .distinct("underlying_instrument")
14
- )
15
- objs = {}
16
- securities = Instrument.objects.filter(id__in=qs.values("underlying_instrument"))
17
- securities_mapping = {security.id: security.get_root() for security in securities}
18
- for controversy in securities.dl.esg_controversies():
19
- instrument = securities_mapping[controversy["instrument_id"]]
20
- obj = Controversy.dict_to_model(controversy, instrument)
21
- objs[obj.external_id] = obj
22
-
23
- Controversy.objects.bulk_create(
24
- objs.values(),
25
- update_fields=[
26
- "instrument",
27
- "headline",
28
- "description",
29
- "source",
30
- "direct_involvement",
31
- "company_response",
32
- "review",
33
- "initiated",
34
- "flag",
35
- "status",
36
- "type",
37
- "severity",
38
- ],
39
- unique_fields=["external_id"],
40
- update_conflicts=True,
41
- batch_size=10000,
42
- )