wbportfolio 1.51.0__py2.py3-none-any.whl → 1.51.1__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.
- wbportfolio/analysis/claims.py +9 -13
- wbportfolio/serializers/signals.py +1 -1
- wbportfolio/viewsets/configs/menu/trades.py +0 -1
- {wbportfolio-1.51.0.dist-info → wbportfolio-1.51.1.dist-info}/METADATA +1 -1
- {wbportfolio-1.51.0.dist-info → wbportfolio-1.51.1.dist-info}/RECORD +7 -7
- {wbportfolio-1.51.0.dist-info → wbportfolio-1.51.1.dist-info}/WHEEL +0 -0
- {wbportfolio-1.51.0.dist-info → wbportfolio-1.51.1.dist-info}/licenses/LICENSE +0 -0
wbportfolio/analysis/claims.py
CHANGED
|
@@ -57,15 +57,15 @@ class ConsolidatedTradeSummary:
|
|
|
57
57
|
self.pivot = pivot
|
|
58
58
|
self.pivot_label = pivot_label
|
|
59
59
|
self.queryset = self.queryset.annotate(
|
|
60
|
-
net_value=InstrumentPrice.subquery_closest_value(
|
|
61
|
-
"net_value", date_name="date", instrument_pk_name="product__pk", date_lookup="exact"
|
|
62
|
-
),
|
|
63
|
-
fx_rate=CurrencyFXRates.get_fx_rates_subquery("date", lookup_expr="exact"),
|
|
64
|
-
aum=ExpressionWrapper(F("fx_rate") * F("net_value") * F("shares"), output_field=DecimalField()),
|
|
65
60
|
internal_trade=F("trade__marked_as_internal"),
|
|
66
61
|
date_considered=ExpressionWrapper(
|
|
67
62
|
Greatest("trade__transaction_date", "date") + 1, output_field=DateField()
|
|
68
63
|
),
|
|
64
|
+
net_value=InstrumentPrice.subquery_closest_value(
|
|
65
|
+
"net_value", date_name="date_considered", instrument_pk_name="product__pk", date_lookup="exact"
|
|
66
|
+
),
|
|
67
|
+
fx_rate=CurrencyFXRates.get_fx_rates_subquery("date_considered", lookup_expr="exact"),
|
|
68
|
+
aum=ExpressionWrapper(F("fx_rate") * F("net_value") * F("shares"), output_field=DecimalField()),
|
|
69
69
|
)
|
|
70
70
|
self.queryset = Account.annotate_root_account_info(self.queryset)
|
|
71
71
|
|
|
@@ -154,7 +154,7 @@ class ConsolidatedTradeSummary:
|
|
|
154
154
|
def get_aum_df(self) -> pd.DataFrame:
|
|
155
155
|
df = self.df.copy().drop(columns=["internal_trade"])
|
|
156
156
|
df.loc[df.date <= self.start_date, "sum_shares_start"] = df.shares
|
|
157
|
-
df.loc[df.date
|
|
157
|
+
df.loc[df.date < self.end_date, "sum_shares_end"] = df.shares
|
|
158
158
|
df = df.fillna(0)
|
|
159
159
|
# Prepare dataframe
|
|
160
160
|
df["sum_aum_start"] = df.sum_shares_start * df.price_start
|
|
@@ -190,7 +190,7 @@ class ConsolidatedTradeSummary:
|
|
|
190
190
|
df.loc[df["aum"] < 0, "aum"] = 0
|
|
191
191
|
elif only_negative:
|
|
192
192
|
df.loc[df["aum"] > 0, "aum"] = 0
|
|
193
|
-
df = df[(df["date"]
|
|
193
|
+
df = df[((df["date"] > self.start_date) & (df["date"] <= self.end_date))]
|
|
194
194
|
df["date"] = pd.to_datetime(df["date"])
|
|
195
195
|
df["period"] = "sum_nnm_" + df.date.dt.year.astype(str) + "-" + df.date.dt.month.map("{:02}".format)
|
|
196
196
|
df = df[["id", "period", "aum"]].groupby(["id", "period"]).sum().reset_index()
|
|
@@ -228,12 +228,8 @@ class ConsolidatedTradeSummary:
|
|
|
228
228
|
),
|
|
229
229
|
fill_value=0,
|
|
230
230
|
)
|
|
231
|
-
df = df.reset_index()
|
|
232
|
-
return (
|
|
233
|
-
df.groupby("id")
|
|
234
|
-
.apply(lambda o: list(zip(o["date"].dt.strftime("%Y-%m-%d"), o["aum_sparkline"])))
|
|
235
|
-
.rename("aum_sparkline")
|
|
236
|
-
)
|
|
231
|
+
df = df.reset_index(level=1)[["date", "aum_sparkline"]].apply(tuple, axis=1).rename("aum_sparkline")
|
|
232
|
+
return df.groupby("id").apply(list)
|
|
237
233
|
return pd.DataFrame()
|
|
238
234
|
|
|
239
235
|
def get_initial_investment_date_df(self) -> pd.DataFrame:
|
|
@@ -140,7 +140,7 @@ def claim_adding_additional_resource(sender, serializer, instance, request, user
|
|
|
140
140
|
start = current_quarter_date_start()
|
|
141
141
|
return {
|
|
142
142
|
"claims": reverse("wbportfolio:entry-claim-list", args=[instance.id], request=request),
|
|
143
|
-
"aum": f'{reverse("wbportfolio:aumtable-list", args=[], request=request)}?group_by=PRODUCT&account_owner={instance.id}&
|
|
143
|
+
"aum": f'{reverse("wbportfolio:aumtable-list", args=[], request=request)}?group_by=PRODUCT&account_owner={instance.id}&date={start:%Y-%m-%d},{date.today():%Y-%m-%d}',
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
|
|
@@ -11,7 +11,6 @@ TRADE_MENUITEM = MenuItem(
|
|
|
11
11
|
SUBSCRIPTION_REDEMPTION_MENUITEM = MenuItem(
|
|
12
12
|
label="Subscription/Redemption",
|
|
13
13
|
endpoint="wbportfolio:subscriptionredemption-list",
|
|
14
|
-
# endpoint_get_parameters={'is_customer_trade': True},
|
|
15
14
|
permission=ItemPermission(
|
|
16
15
|
permissions=["wbportfolio.view_trade"], method=lambda request: is_internal_user(request.user)
|
|
17
16
|
),
|
|
@@ -25,7 +25,7 @@ wbportfolio/admin/transactions/rebalancing.py,sha256=FUMazUUxp7P2M9YhWpqKCS-Em4m
|
|
|
25
25
|
wbportfolio/admin/transactions/trades.py,sha256=QCYMtP6ZBEEy6iMTdFKg3HjTe5DvXdPu5PqNmEwB0Cw,1708
|
|
26
26
|
wbportfolio/admin/transactions/transactions.py,sha256=xxy9J8zO0gtqzVUP_Y2OjTXfkNGqrW9f4wWmITir7HQ,1275
|
|
27
27
|
wbportfolio/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
wbportfolio/analysis/claims.py,sha256=
|
|
28
|
+
wbportfolio/analysis/claims.py,sha256=islJVmHg6jKr6Q1b84Vt5Au2bzy9aDjWGEVGNtPFQd4,10688
|
|
29
29
|
wbportfolio/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
30
|
wbportfolio/contrib/company_portfolio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
31
|
wbportfolio/contrib/company_portfolio/admin.py,sha256=roUsuOjYDWX0OGWVBjCcW3MAcwJHJYHnqZ_pLpwakmQ,549
|
|
@@ -339,7 +339,7 @@ wbportfolio/serializers/rebalancing.py,sha256=PloLwOcgDfsna3-LRGLFQ4eYJvlMbhI0rk
|
|
|
339
339
|
wbportfolio/serializers/reconciliations.py,sha256=oFvGCAGioAOBK3xXjfwjMVYOXv3AbSyMg6YK6Olp6ow,7373
|
|
340
340
|
wbportfolio/serializers/registers.py,sha256=zhdKH_mHEBE0VOhm6xpY54bTMtcSaY5BskEaJxtFd5Q,2737
|
|
341
341
|
wbportfolio/serializers/roles.py,sha256=T-9NqTldpvaEMFy-Bib5MB6MeboygEOqcMP61mzzD3Q,2146
|
|
342
|
-
wbportfolio/serializers/signals.py,sha256=
|
|
342
|
+
wbportfolio/serializers/signals.py,sha256=1rf3EPmDAPCuUUEmg9A2Z8d1nHSz_mw4EnuLYg8cqvA,7277
|
|
343
343
|
wbportfolio/serializers/transactions/__init__.py,sha256=5ekvvAKnuEt8eBQfIhJ2ZXosWuHSEQvxEZWfDiPGbdw,896
|
|
344
344
|
wbportfolio/serializers/transactions/claim.py,sha256=kC4E2RZRrpd9i8tGfoiV-gpWDk3ikR5F1Wf0v_IGIvw,11599
|
|
345
345
|
wbportfolio/serializers/transactions/dividends.py,sha256=EULwKDumHBv4r2HsdEGZMZGFaye4dRUNNyXg6-wZXzc,520
|
|
@@ -494,7 +494,7 @@ wbportfolio/viewsets/configs/menu/products.py,sha256=EvxfcijRir1s4QPIPbseDbRNs53
|
|
|
494
494
|
wbportfolio/viewsets/configs/menu/reconciliations.py,sha256=AkIu5h2nd5JGteAWTSQFTjP8egPES8fR1xlBKU3X8EM,277
|
|
495
495
|
wbportfolio/viewsets/configs/menu/registers.py,sha256=s4TU9y5nTPWHf8ycWg-cu4mp7LvyXnUwk3PAOG7vyMw,349
|
|
496
496
|
wbportfolio/viewsets/configs/menu/roles.py,sha256=rWS0SQdTgDJ2Hzyt8JdlrUCy1gjLVghzZRH61-mrP9U,642
|
|
497
|
-
wbportfolio/viewsets/configs/menu/trades.py,sha256=
|
|
497
|
+
wbportfolio/viewsets/configs/menu/trades.py,sha256=Hkvo6Eosk0NLL5V4xk7SLgDRmnjlkjMuoZXWatFARX4,617
|
|
498
498
|
wbportfolio/viewsets/configs/menu/transactions.py,sha256=ErSoDRsyf6PTvOjY9VRvU0cviKNQsN-_adxYR0qwMhw,301
|
|
499
499
|
wbportfolio/viewsets/configs/previews/__init__.py,sha256=hzKMMlZf9hJ-p4WpCN44CzjzNYp1gKiRrGfH181gm2I,47
|
|
500
500
|
wbportfolio/viewsets/configs/previews/portfolios.py,sha256=uAQfvChGcBaVW-oNyXqByjGGMupvW288-2nxpkU41Kw,523
|
|
@@ -524,7 +524,7 @@ wbportfolio/viewsets/transactions/rebalancing.py,sha256=6rIrdK0rtKL1afJ-tYfAGdQV
|
|
|
524
524
|
wbportfolio/viewsets/transactions/trade_proposals.py,sha256=Uk-K-x4MWKzsciRveALA5Fup6zBkin0z4bIedCIqolM,5988
|
|
525
525
|
wbportfolio/viewsets/transactions/trades.py,sha256=-yJ4j8NJTu2VWyhCq5BXGNND_925Ietoxx9k07SLVh0,21634
|
|
526
526
|
wbportfolio/viewsets/transactions/transactions.py,sha256=ixDp-nsNA8t_A06rBCT19hOMJHy0iRmdz1XKdV1OwAs,4450
|
|
527
|
-
wbportfolio-1.51.
|
|
528
|
-
wbportfolio-1.51.
|
|
529
|
-
wbportfolio-1.51.
|
|
530
|
-
wbportfolio-1.51.
|
|
527
|
+
wbportfolio-1.51.1.dist-info/METADATA,sha256=4kMtnYfNmkkp0V3LGDW8Ci5GkUwDD8Ynb5n68U9jhiE,702
|
|
528
|
+
wbportfolio-1.51.1.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
|
|
529
|
+
wbportfolio-1.51.1.dist-info/licenses/LICENSE,sha256=jvfVH0SY8_YMHlsJHKe_OajiscQDz4lpTlqT6x24sVw,172
|
|
530
|
+
wbportfolio-1.51.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|