wbfdm 1.50.15__py2.py3-none-any.whl → 1.51.0__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 wbfdm might be problematic. Click here for more details.
- wbfdm/analysis/financial_analysis/statement_with_estimates.py +5 -5
- wbfdm/locale/de/LC_MESSAGES/django.po +257 -0
- wbfdm/locale/fr/LC_MESSAGES/django.po +257 -0
- wbfdm/viewsets/configs/display/instruments.py +1 -1
- wbfdm/viewsets/financial_analysis/statement_with_estimates.py +6 -2
- wbfdm/viewsets/statements/statements.py +2 -2
- {wbfdm-1.50.15.dist-info → wbfdm-1.51.0.dist-info}/METADATA +1 -1
- {wbfdm-1.50.15.dist-info → wbfdm-1.51.0.dist-info}/RECORD +9 -7
- {wbfdm-1.50.15.dist-info → wbfdm-1.51.0.dist-info}/WHEEL +0 -0
|
@@ -230,7 +230,7 @@ class StatementWithEstimates:
|
|
|
230
230
|
df[Financial.ENTERPRISE_VALUE.value] = (
|
|
231
231
|
df.get(MarketData.MARKET_CAPITALIZATION.value, empty_series)
|
|
232
232
|
+ df.get(Financial.NET_DEBT.value, empty_series)
|
|
233
|
-
- df.get(Financial.CASH_EQUIVALENTS, empty_series)
|
|
233
|
+
- df.get(Financial.CASH_EQUIVALENTS.value, empty_series)
|
|
234
234
|
)
|
|
235
235
|
|
|
236
236
|
# Calculate a couple of variables
|
|
@@ -251,7 +251,7 @@ class StatementWithEstimates:
|
|
|
251
251
|
df["price_sales_ratio"] = pd.concat(
|
|
252
252
|
[
|
|
253
253
|
yearly_df.get(MarketData.MARKET_CAPITALIZATION.value, yearly_empty_series)
|
|
254
|
-
/ yearly_df.get(Financial.
|
|
254
|
+
/ yearly_df.get(Financial.REVENUE.value, yearly_empty_series),
|
|
255
255
|
quarterly_df.get(MarketData.MARKET_CAPITALIZATION.value, quarterly_empty_series)
|
|
256
256
|
/ quarterly_df.get(Financial.REVENUE.value, quarterly_empty_series)
|
|
257
257
|
.rolling(4, min_periods=1)
|
|
@@ -305,7 +305,7 @@ class StatementWithEstimates:
|
|
|
305
305
|
df.get(Financial.EBIT.value, empty_series) / df.get(Financial.REVENUE.value, empty_series) * 100
|
|
306
306
|
)
|
|
307
307
|
df["net_income_margin"] = (
|
|
308
|
-
df.get(Financial.NET_INCOME_REPORTED, empty_series)
|
|
308
|
+
df.get(Financial.NET_INCOME_REPORTED.value, empty_series)
|
|
309
309
|
/ df.get(Financial.REVENUE.value, empty_series)
|
|
310
310
|
* 100
|
|
311
311
|
)
|
|
@@ -344,7 +344,7 @@ class StatementWithEstimates:
|
|
|
344
344
|
)
|
|
345
345
|
|
|
346
346
|
df["price_to_tangible_bv_ratio"] = df.get(MarketData.CLOSE.value, empty_series) / df.get(
|
|
347
|
-
Financial.TANGIBLE_BOOK_VALUE_PER_SHARE, empty_series
|
|
347
|
+
Financial.TANGIBLE_BOOK_VALUE_PER_SHARE.value, empty_series
|
|
348
348
|
)
|
|
349
349
|
df["cash_shares_ratio"] = df.get(Financial.CASH_AND_SHORT_TERM_INVESTMENT.value, empty_series) / df.get(
|
|
350
350
|
Financial.DILUTED_WEIGHTED_AVG_SHARES.value, empty_series
|
|
@@ -359,7 +359,7 @@ class StatementWithEstimates:
|
|
|
359
359
|
Financial.STOCK_COMPENSATION.value, empty_series
|
|
360
360
|
) / df.get(Financial.EMPLOYEES.value, empty_series)
|
|
361
361
|
|
|
362
|
-
df["net_cash"] = df.get(Financial.CASH_EQUIVALENTS, empty_series) - df.get(
|
|
362
|
+
df["net_cash"] = df.get(Financial.CASH_EQUIVALENTS.value, empty_series) - df.get(
|
|
363
363
|
Financial.CURRENT_LIABILITIES.value, empty_series
|
|
364
364
|
)
|
|
365
365
|
df[Financial.EBIT.value] = df.get(Financial.EBIT.value, empty_series)
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
5
|
+
#
|
|
6
|
+
#, fuzzy
|
|
7
|
+
msgid ""
|
|
8
|
+
msgstr ""
|
|
9
|
+
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
|
+
"Report-Msgid-Bugs-To: \n"
|
|
11
|
+
"POT-Creation-Date: 2025-05-20 09:31+0200\n"
|
|
12
|
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
15
|
+
"Language: \n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
20
|
+
#: wbfdm/contrib/metric/filters.py:27
|
|
21
|
+
msgid "Basket Content Type"
|
|
22
|
+
msgstr ""
|
|
23
|
+
|
|
24
|
+
#: wbfdm/contrib/metric/viewsets/configs/utils.py:127
|
|
25
|
+
msgid "Fundamentals"
|
|
26
|
+
msgstr ""
|
|
27
|
+
|
|
28
|
+
#: wbfdm/models/exchanges/exchanges.py:184
|
|
29
|
+
#: wbfdm/viewsets/configs/display/instruments.py:77
|
|
30
|
+
msgid "Exchange"
|
|
31
|
+
msgstr ""
|
|
32
|
+
|
|
33
|
+
#: wbfdm/models/exchanges/exchanges.py:185
|
|
34
|
+
msgid "Exchanges"
|
|
35
|
+
msgstr ""
|
|
36
|
+
|
|
37
|
+
#: wbfdm/models/instruments/instrument_requests.py:116
|
|
38
|
+
#: wbfdm/models/instruments/instrument_requests.py:182
|
|
39
|
+
msgid "An instrument already exists with the proposed identifier"
|
|
40
|
+
msgstr ""
|
|
41
|
+
|
|
42
|
+
#: wbfdm/viewsets/configs/buttons/classifications.py:10
|
|
43
|
+
msgid "Tree Chart"
|
|
44
|
+
msgstr ""
|
|
45
|
+
|
|
46
|
+
#: wbfdm/viewsets/configs/buttons/classifications.py:11
|
|
47
|
+
msgid "Icicle Chart"
|
|
48
|
+
msgstr ""
|
|
49
|
+
|
|
50
|
+
#: wbfdm/viewsets/configs/display/classifications.py:40
|
|
51
|
+
msgid "Child Classifications"
|
|
52
|
+
msgstr ""
|
|
53
|
+
|
|
54
|
+
#: wbfdm/viewsets/configs/display/classifications.py:43
|
|
55
|
+
msgid "Instruments"
|
|
56
|
+
msgstr ""
|
|
57
|
+
|
|
58
|
+
#: wbfdm/viewsets/configs/display/classifications.py:69
|
|
59
|
+
msgid "Classification"
|
|
60
|
+
msgstr ""
|
|
61
|
+
|
|
62
|
+
#: wbfdm/viewsets/configs/display/classifications.py:112
|
|
63
|
+
msgid "Related Instruments"
|
|
64
|
+
msgstr ""
|
|
65
|
+
|
|
66
|
+
#: wbfdm/viewsets/configs/display/esg.py:14
|
|
67
|
+
msgid "Initiated"
|
|
68
|
+
msgstr ""
|
|
69
|
+
|
|
70
|
+
#: wbfdm/viewsets/configs/display/esg.py:15
|
|
71
|
+
msgid "Review"
|
|
72
|
+
msgstr ""
|
|
73
|
+
|
|
74
|
+
#: wbfdm/viewsets/configs/display/esg.py:16
|
|
75
|
+
msgid "Headline"
|
|
76
|
+
msgstr ""
|
|
77
|
+
|
|
78
|
+
#: wbfdm/viewsets/configs/display/esg.py:17
|
|
79
|
+
msgid "Narrative"
|
|
80
|
+
msgstr ""
|
|
81
|
+
|
|
82
|
+
#: wbfdm/viewsets/configs/display/esg.py:18
|
|
83
|
+
msgid "Source"
|
|
84
|
+
msgstr ""
|
|
85
|
+
|
|
86
|
+
#: wbfdm/viewsets/configs/display/esg.py:19
|
|
87
|
+
msgid "Status"
|
|
88
|
+
msgstr ""
|
|
89
|
+
|
|
90
|
+
#: wbfdm/viewsets/configs/display/esg.py:20
|
|
91
|
+
msgid "Type"
|
|
92
|
+
msgstr ""
|
|
93
|
+
|
|
94
|
+
#: wbfdm/viewsets/configs/display/esg.py:21
|
|
95
|
+
msgid "Assessment"
|
|
96
|
+
msgstr ""
|
|
97
|
+
|
|
98
|
+
#: wbfdm/viewsets/configs/display/esg.py:22
|
|
99
|
+
msgid "Response"
|
|
100
|
+
msgstr ""
|
|
101
|
+
|
|
102
|
+
#: wbfdm/viewsets/configs/display/esg.py:70
|
|
103
|
+
msgid "Section"
|
|
104
|
+
msgstr ""
|
|
105
|
+
|
|
106
|
+
#: wbfdm/viewsets/configs/display/esg.py:71
|
|
107
|
+
msgid "Adverse sustainability indicator"
|
|
108
|
+
msgstr ""
|
|
109
|
+
|
|
110
|
+
#: wbfdm/viewsets/configs/display/esg.py:72
|
|
111
|
+
msgid "Metric"
|
|
112
|
+
msgstr ""
|
|
113
|
+
|
|
114
|
+
#: wbfdm/viewsets/configs/display/esg.py:73
|
|
115
|
+
msgid "Factor"
|
|
116
|
+
msgstr ""
|
|
117
|
+
|
|
118
|
+
#: wbfdm/viewsets/configs/display/esg.py:74
|
|
119
|
+
msgid "Value"
|
|
120
|
+
msgstr ""
|
|
121
|
+
|
|
122
|
+
#: wbfdm/viewsets/configs/display/instrument_lists.py:34
|
|
123
|
+
msgid "Exclusion List"
|
|
124
|
+
msgstr ""
|
|
125
|
+
|
|
126
|
+
#: wbfdm/viewsets/configs/display/instrument_lists.py:105
|
|
127
|
+
msgid "Validated"
|
|
128
|
+
msgstr ""
|
|
129
|
+
|
|
130
|
+
#: wbfdm/viewsets/configs/display/instrument_lists.py:109
|
|
131
|
+
msgid "Not Validated"
|
|
132
|
+
msgstr ""
|
|
133
|
+
|
|
134
|
+
#: wbfdm/viewsets/configs/display/instrument_requests.py:95
|
|
135
|
+
msgid "Instrument Data"
|
|
136
|
+
msgstr ""
|
|
137
|
+
|
|
138
|
+
#: wbfdm/viewsets/configs/display/instruments.py:70
|
|
139
|
+
#: wbfdm/viewsets/configs/display/officers.py:11
|
|
140
|
+
msgid "Name"
|
|
141
|
+
msgstr ""
|
|
142
|
+
|
|
143
|
+
#: wbfdm/viewsets/configs/display/instruments.py:73
|
|
144
|
+
msgid "Information"
|
|
145
|
+
msgstr ""
|
|
146
|
+
|
|
147
|
+
#: wbfdm/viewsets/configs/display/instruments.py:76
|
|
148
|
+
msgid "Instrument Type"
|
|
149
|
+
msgstr ""
|
|
150
|
+
|
|
151
|
+
#: wbfdm/viewsets/configs/display/instruments.py:78
|
|
152
|
+
msgid "ISIN"
|
|
153
|
+
msgstr ""
|
|
154
|
+
|
|
155
|
+
#: wbfdm/viewsets/configs/display/instruments.py:79
|
|
156
|
+
msgid "Ticker"
|
|
157
|
+
msgstr ""
|
|
158
|
+
|
|
159
|
+
#: wbfdm/viewsets/configs/display/instruments.py:80
|
|
160
|
+
msgid "RIC"
|
|
161
|
+
msgstr ""
|
|
162
|
+
|
|
163
|
+
#: wbfdm/viewsets/configs/display/instruments.py:81
|
|
164
|
+
msgid "Refinitiv Mnemonic"
|
|
165
|
+
msgstr ""
|
|
166
|
+
|
|
167
|
+
#: wbfdm/viewsets/configs/display/instruments.py:82
|
|
168
|
+
msgid "Description"
|
|
169
|
+
msgstr ""
|
|
170
|
+
|
|
171
|
+
#: wbfdm/viewsets/configs/display/instruments.py:83
|
|
172
|
+
msgid "Currency"
|
|
173
|
+
msgstr ""
|
|
174
|
+
|
|
175
|
+
#: wbfdm/viewsets/configs/display/instruments.py:84
|
|
176
|
+
msgid "Country"
|
|
177
|
+
msgstr ""
|
|
178
|
+
|
|
179
|
+
#: wbfdm/viewsets/configs/display/instruments.py:91
|
|
180
|
+
msgid "Extra"
|
|
181
|
+
msgstr ""
|
|
182
|
+
|
|
183
|
+
#: wbfdm/viewsets/configs/display/instruments.py:94
|
|
184
|
+
msgid "Primary"
|
|
185
|
+
msgstr ""
|
|
186
|
+
|
|
187
|
+
#: wbfdm/viewsets/configs/display/instruments.py:95
|
|
188
|
+
msgid "Investable Universe"
|
|
189
|
+
msgstr ""
|
|
190
|
+
|
|
191
|
+
#: wbfdm/viewsets/configs/display/instruments.py:96
|
|
192
|
+
msgid "Security"
|
|
193
|
+
msgstr ""
|
|
194
|
+
|
|
195
|
+
#: wbfdm/viewsets/configs/display/instruments.py:97
|
|
196
|
+
msgid "Internally Managed"
|
|
197
|
+
msgstr ""
|
|
198
|
+
|
|
199
|
+
#: wbfdm/viewsets/configs/display/instruments.py:100
|
|
200
|
+
msgid "Performance"
|
|
201
|
+
msgstr ""
|
|
202
|
+
|
|
203
|
+
#: wbfdm/viewsets/configs/display/instruments.py:330
|
|
204
|
+
msgid "Hierarchy"
|
|
205
|
+
msgstr ""
|
|
206
|
+
|
|
207
|
+
#: wbfdm/viewsets/configs/display/instruments.py:343
|
|
208
|
+
msgid "News"
|
|
209
|
+
msgstr ""
|
|
210
|
+
|
|
211
|
+
#: wbfdm/viewsets/configs/display/officers.py:10
|
|
212
|
+
msgid "Position"
|
|
213
|
+
msgstr ""
|
|
214
|
+
|
|
215
|
+
#: wbfdm/viewsets/configs/display/officers.py:12
|
|
216
|
+
msgid "Age"
|
|
217
|
+
msgstr ""
|
|
218
|
+
|
|
219
|
+
#: wbfdm/viewsets/configs/display/officers.py:13
|
|
220
|
+
msgid "Sex"
|
|
221
|
+
msgstr ""
|
|
222
|
+
|
|
223
|
+
#: wbfdm/viewsets/configs/display/officers.py:14
|
|
224
|
+
msgid "Start"
|
|
225
|
+
msgstr ""
|
|
226
|
+
|
|
227
|
+
#: wbfdm/viewsets/configs/display/prices.py:12
|
|
228
|
+
msgid "Date"
|
|
229
|
+
msgstr ""
|
|
230
|
+
|
|
231
|
+
#: wbfdm/viewsets/configs/display/prices.py:13
|
|
232
|
+
msgid "Open"
|
|
233
|
+
msgstr ""
|
|
234
|
+
|
|
235
|
+
#: wbfdm/viewsets/configs/display/prices.py:14
|
|
236
|
+
msgid "High"
|
|
237
|
+
msgstr ""
|
|
238
|
+
|
|
239
|
+
#: wbfdm/viewsets/configs/display/prices.py:15
|
|
240
|
+
msgid "Low"
|
|
241
|
+
msgstr ""
|
|
242
|
+
|
|
243
|
+
#: wbfdm/viewsets/configs/display/prices.py:16
|
|
244
|
+
msgid "Close"
|
|
245
|
+
msgstr ""
|
|
246
|
+
|
|
247
|
+
#: wbfdm/viewsets/configs/display/prices.py:17
|
|
248
|
+
msgid "Volume"
|
|
249
|
+
msgstr ""
|
|
250
|
+
|
|
251
|
+
#: wbfdm/viewsets/configs/display/prices.py:18
|
|
252
|
+
msgid "Oustanding Shares"
|
|
253
|
+
msgstr ""
|
|
254
|
+
|
|
255
|
+
#: wbfdm/viewsets/configs/display/prices.py:19
|
|
256
|
+
msgid "Market Cap."
|
|
257
|
+
msgstr ""
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
5
|
+
#
|
|
6
|
+
#, fuzzy
|
|
7
|
+
msgid ""
|
|
8
|
+
msgstr ""
|
|
9
|
+
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
|
+
"Report-Msgid-Bugs-To: \n"
|
|
11
|
+
"POT-Creation-Date: 2025-05-20 09:31+0200\n"
|
|
12
|
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
15
|
+
"Language: \n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
|
20
|
+
#: wbfdm/contrib/metric/filters.py:27
|
|
21
|
+
msgid "Basket Content Type"
|
|
22
|
+
msgstr ""
|
|
23
|
+
|
|
24
|
+
#: wbfdm/contrib/metric/viewsets/configs/utils.py:127
|
|
25
|
+
msgid "Fundamentals"
|
|
26
|
+
msgstr ""
|
|
27
|
+
|
|
28
|
+
#: wbfdm/models/exchanges/exchanges.py:184
|
|
29
|
+
#: wbfdm/viewsets/configs/display/instruments.py:77
|
|
30
|
+
msgid "Exchange"
|
|
31
|
+
msgstr ""
|
|
32
|
+
|
|
33
|
+
#: wbfdm/models/exchanges/exchanges.py:185
|
|
34
|
+
msgid "Exchanges"
|
|
35
|
+
msgstr ""
|
|
36
|
+
|
|
37
|
+
#: wbfdm/models/instruments/instrument_requests.py:116
|
|
38
|
+
#: wbfdm/models/instruments/instrument_requests.py:182
|
|
39
|
+
msgid "An instrument already exists with the proposed identifier"
|
|
40
|
+
msgstr ""
|
|
41
|
+
|
|
42
|
+
#: wbfdm/viewsets/configs/buttons/classifications.py:10
|
|
43
|
+
msgid "Tree Chart"
|
|
44
|
+
msgstr ""
|
|
45
|
+
|
|
46
|
+
#: wbfdm/viewsets/configs/buttons/classifications.py:11
|
|
47
|
+
msgid "Icicle Chart"
|
|
48
|
+
msgstr ""
|
|
49
|
+
|
|
50
|
+
#: wbfdm/viewsets/configs/display/classifications.py:40
|
|
51
|
+
msgid "Child Classifications"
|
|
52
|
+
msgstr ""
|
|
53
|
+
|
|
54
|
+
#: wbfdm/viewsets/configs/display/classifications.py:43
|
|
55
|
+
msgid "Instruments"
|
|
56
|
+
msgstr ""
|
|
57
|
+
|
|
58
|
+
#: wbfdm/viewsets/configs/display/classifications.py:69
|
|
59
|
+
msgid "Classification"
|
|
60
|
+
msgstr ""
|
|
61
|
+
|
|
62
|
+
#: wbfdm/viewsets/configs/display/classifications.py:112
|
|
63
|
+
msgid "Related Instruments"
|
|
64
|
+
msgstr ""
|
|
65
|
+
|
|
66
|
+
#: wbfdm/viewsets/configs/display/esg.py:14
|
|
67
|
+
msgid "Initiated"
|
|
68
|
+
msgstr ""
|
|
69
|
+
|
|
70
|
+
#: wbfdm/viewsets/configs/display/esg.py:15
|
|
71
|
+
msgid "Review"
|
|
72
|
+
msgstr ""
|
|
73
|
+
|
|
74
|
+
#: wbfdm/viewsets/configs/display/esg.py:16
|
|
75
|
+
msgid "Headline"
|
|
76
|
+
msgstr ""
|
|
77
|
+
|
|
78
|
+
#: wbfdm/viewsets/configs/display/esg.py:17
|
|
79
|
+
msgid "Narrative"
|
|
80
|
+
msgstr ""
|
|
81
|
+
|
|
82
|
+
#: wbfdm/viewsets/configs/display/esg.py:18
|
|
83
|
+
msgid "Source"
|
|
84
|
+
msgstr ""
|
|
85
|
+
|
|
86
|
+
#: wbfdm/viewsets/configs/display/esg.py:19
|
|
87
|
+
msgid "Status"
|
|
88
|
+
msgstr ""
|
|
89
|
+
|
|
90
|
+
#: wbfdm/viewsets/configs/display/esg.py:20
|
|
91
|
+
msgid "Type"
|
|
92
|
+
msgstr ""
|
|
93
|
+
|
|
94
|
+
#: wbfdm/viewsets/configs/display/esg.py:21
|
|
95
|
+
msgid "Assessment"
|
|
96
|
+
msgstr ""
|
|
97
|
+
|
|
98
|
+
#: wbfdm/viewsets/configs/display/esg.py:22
|
|
99
|
+
msgid "Response"
|
|
100
|
+
msgstr ""
|
|
101
|
+
|
|
102
|
+
#: wbfdm/viewsets/configs/display/esg.py:70
|
|
103
|
+
msgid "Section"
|
|
104
|
+
msgstr ""
|
|
105
|
+
|
|
106
|
+
#: wbfdm/viewsets/configs/display/esg.py:71
|
|
107
|
+
msgid "Adverse sustainability indicator"
|
|
108
|
+
msgstr ""
|
|
109
|
+
|
|
110
|
+
#: wbfdm/viewsets/configs/display/esg.py:72
|
|
111
|
+
msgid "Metric"
|
|
112
|
+
msgstr ""
|
|
113
|
+
|
|
114
|
+
#: wbfdm/viewsets/configs/display/esg.py:73
|
|
115
|
+
msgid "Factor"
|
|
116
|
+
msgstr ""
|
|
117
|
+
|
|
118
|
+
#: wbfdm/viewsets/configs/display/esg.py:74
|
|
119
|
+
msgid "Value"
|
|
120
|
+
msgstr ""
|
|
121
|
+
|
|
122
|
+
#: wbfdm/viewsets/configs/display/instrument_lists.py:34
|
|
123
|
+
msgid "Exclusion List"
|
|
124
|
+
msgstr ""
|
|
125
|
+
|
|
126
|
+
#: wbfdm/viewsets/configs/display/instrument_lists.py:105
|
|
127
|
+
msgid "Validated"
|
|
128
|
+
msgstr ""
|
|
129
|
+
|
|
130
|
+
#: wbfdm/viewsets/configs/display/instrument_lists.py:109
|
|
131
|
+
msgid "Not Validated"
|
|
132
|
+
msgstr ""
|
|
133
|
+
|
|
134
|
+
#: wbfdm/viewsets/configs/display/instrument_requests.py:95
|
|
135
|
+
msgid "Instrument Data"
|
|
136
|
+
msgstr ""
|
|
137
|
+
|
|
138
|
+
#: wbfdm/viewsets/configs/display/instruments.py:70
|
|
139
|
+
#: wbfdm/viewsets/configs/display/officers.py:11
|
|
140
|
+
msgid "Name"
|
|
141
|
+
msgstr ""
|
|
142
|
+
|
|
143
|
+
#: wbfdm/viewsets/configs/display/instruments.py:73
|
|
144
|
+
msgid "Information"
|
|
145
|
+
msgstr ""
|
|
146
|
+
|
|
147
|
+
#: wbfdm/viewsets/configs/display/instruments.py:76
|
|
148
|
+
msgid "Instrument Type"
|
|
149
|
+
msgstr ""
|
|
150
|
+
|
|
151
|
+
#: wbfdm/viewsets/configs/display/instruments.py:78
|
|
152
|
+
msgid "ISIN"
|
|
153
|
+
msgstr ""
|
|
154
|
+
|
|
155
|
+
#: wbfdm/viewsets/configs/display/instruments.py:79
|
|
156
|
+
msgid "Ticker"
|
|
157
|
+
msgstr ""
|
|
158
|
+
|
|
159
|
+
#: wbfdm/viewsets/configs/display/instruments.py:80
|
|
160
|
+
msgid "RIC"
|
|
161
|
+
msgstr ""
|
|
162
|
+
|
|
163
|
+
#: wbfdm/viewsets/configs/display/instruments.py:81
|
|
164
|
+
msgid "Refinitiv Mnemonic"
|
|
165
|
+
msgstr ""
|
|
166
|
+
|
|
167
|
+
#: wbfdm/viewsets/configs/display/instruments.py:82
|
|
168
|
+
msgid "Description"
|
|
169
|
+
msgstr ""
|
|
170
|
+
|
|
171
|
+
#: wbfdm/viewsets/configs/display/instruments.py:83
|
|
172
|
+
msgid "Currency"
|
|
173
|
+
msgstr ""
|
|
174
|
+
|
|
175
|
+
#: wbfdm/viewsets/configs/display/instruments.py:84
|
|
176
|
+
msgid "Country"
|
|
177
|
+
msgstr ""
|
|
178
|
+
|
|
179
|
+
#: wbfdm/viewsets/configs/display/instruments.py:91
|
|
180
|
+
msgid "Extra"
|
|
181
|
+
msgstr ""
|
|
182
|
+
|
|
183
|
+
#: wbfdm/viewsets/configs/display/instruments.py:94
|
|
184
|
+
msgid "Primary"
|
|
185
|
+
msgstr ""
|
|
186
|
+
|
|
187
|
+
#: wbfdm/viewsets/configs/display/instruments.py:95
|
|
188
|
+
msgid "Investable Universe"
|
|
189
|
+
msgstr ""
|
|
190
|
+
|
|
191
|
+
#: wbfdm/viewsets/configs/display/instruments.py:96
|
|
192
|
+
msgid "Security"
|
|
193
|
+
msgstr ""
|
|
194
|
+
|
|
195
|
+
#: wbfdm/viewsets/configs/display/instruments.py:97
|
|
196
|
+
msgid "Internally Managed"
|
|
197
|
+
msgstr ""
|
|
198
|
+
|
|
199
|
+
#: wbfdm/viewsets/configs/display/instruments.py:100
|
|
200
|
+
msgid "Performance"
|
|
201
|
+
msgstr ""
|
|
202
|
+
|
|
203
|
+
#: wbfdm/viewsets/configs/display/instruments.py:330
|
|
204
|
+
msgid "Hierarchy"
|
|
205
|
+
msgstr ""
|
|
206
|
+
|
|
207
|
+
#: wbfdm/viewsets/configs/display/instruments.py:343
|
|
208
|
+
msgid "News"
|
|
209
|
+
msgstr ""
|
|
210
|
+
|
|
211
|
+
#: wbfdm/viewsets/configs/display/officers.py:10
|
|
212
|
+
msgid "Position"
|
|
213
|
+
msgstr ""
|
|
214
|
+
|
|
215
|
+
#: wbfdm/viewsets/configs/display/officers.py:12
|
|
216
|
+
msgid "Age"
|
|
217
|
+
msgstr ""
|
|
218
|
+
|
|
219
|
+
#: wbfdm/viewsets/configs/display/officers.py:13
|
|
220
|
+
msgid "Sex"
|
|
221
|
+
msgstr ""
|
|
222
|
+
|
|
223
|
+
#: wbfdm/viewsets/configs/display/officers.py:14
|
|
224
|
+
msgid "Start"
|
|
225
|
+
msgstr ""
|
|
226
|
+
|
|
227
|
+
#: wbfdm/viewsets/configs/display/prices.py:12
|
|
228
|
+
msgid "Date"
|
|
229
|
+
msgstr ""
|
|
230
|
+
|
|
231
|
+
#: wbfdm/viewsets/configs/display/prices.py:13
|
|
232
|
+
msgid "Open"
|
|
233
|
+
msgstr ""
|
|
234
|
+
|
|
235
|
+
#: wbfdm/viewsets/configs/display/prices.py:14
|
|
236
|
+
msgid "High"
|
|
237
|
+
msgstr ""
|
|
238
|
+
|
|
239
|
+
#: wbfdm/viewsets/configs/display/prices.py:15
|
|
240
|
+
msgid "Low"
|
|
241
|
+
msgstr ""
|
|
242
|
+
|
|
243
|
+
#: wbfdm/viewsets/configs/display/prices.py:16
|
|
244
|
+
msgid "Close"
|
|
245
|
+
msgstr ""
|
|
246
|
+
|
|
247
|
+
#: wbfdm/viewsets/configs/display/prices.py:17
|
|
248
|
+
msgid "Volume"
|
|
249
|
+
msgstr ""
|
|
250
|
+
|
|
251
|
+
#: wbfdm/viewsets/configs/display/prices.py:18
|
|
252
|
+
msgid "Oustanding Shares"
|
|
253
|
+
msgstr ""
|
|
254
|
+
|
|
255
|
+
#: wbfdm/viewsets/configs/display/prices.py:19
|
|
256
|
+
msgid "Market Cap."
|
|
257
|
+
msgstr ""
|
|
@@ -74,7 +74,7 @@ class InstrumentDisplayConfig(DisplayViewConfig):
|
|
|
74
74
|
open_by_default=False,
|
|
75
75
|
children=[
|
|
76
76
|
dp.Field(key="instrument_type", label=_("Instrument Type"), show="open"),
|
|
77
|
-
dp.Field(key="exchange", label=_("Exchange")
|
|
77
|
+
dp.Field(key="exchange", label=_("Exchange")),
|
|
78
78
|
dp.Field(key="isin", label=_("ISIN")),
|
|
79
79
|
dp.Field(key="ticker", label=_("Ticker")),
|
|
80
80
|
dp.Field(key="refinitiv_identifier_code", label=_("RIC")),
|
|
@@ -63,7 +63,7 @@ class StatementWithEstimatesPandasViewSet(InstrumentMixin, ExportPandasAPIViewSe
|
|
|
63
63
|
pf.CharField(key="financial", label="Financial"),
|
|
64
64
|
pf.CharField(key="_group_key", label="Group Key"),
|
|
65
65
|
pf.JsonField(key="_overwrites", label="Overwrites"),
|
|
66
|
-
pf.SparklineField(key="progress", label="Yearly Trend"),
|
|
66
|
+
pf.SparklineField(key="progress", label="Yearly Trend", dimension="double"),
|
|
67
67
|
]
|
|
68
68
|
)
|
|
69
69
|
|
|
@@ -76,7 +76,11 @@ class StatementWithEstimatesPandasViewSet(InstrumentMixin, ExportPandasAPIViewSe
|
|
|
76
76
|
|
|
77
77
|
year_columns = list(filter(lambda col: "Y" in col, df.columns))
|
|
78
78
|
if year_columns:
|
|
79
|
-
df["progress"] =
|
|
79
|
+
df["progress"] = (
|
|
80
|
+
df[year_columns]
|
|
81
|
+
.replace([np.inf, -np.inf, np.nan], None)
|
|
82
|
+
.apply(lambda x: list(x.to_dict().items()), axis=1)
|
|
83
|
+
)
|
|
80
84
|
|
|
81
85
|
self.extra_cache_kwargs["_estimate_mapping"] = financial_analysis_result.estimated_mapping
|
|
82
86
|
self.extra_cache_kwargs["_columns"] = df.columns
|
|
@@ -53,7 +53,7 @@ class StatementPandasViewSet(InstrumentMixin, ExportPandasAPIViewSet):
|
|
|
53
53
|
pf.PKField(key="external_ordering", label="ID"),
|
|
54
54
|
pf.CharField(key="external_code", label="Code"),
|
|
55
55
|
pf.CharField(key="external_description", label="Description"),
|
|
56
|
-
pf.SparklineField(key="progress", label="Yearly Trend"),
|
|
56
|
+
pf.SparklineField(key="progress", label="Yearly Trend", dimension="double"),
|
|
57
57
|
*[pf.FloatField(key=field, label=field, display_mode=DisplayMode.SHORTENED) for field in self.columns],
|
|
58
58
|
]
|
|
59
59
|
)
|
|
@@ -83,7 +83,7 @@ class StatementPandasViewSet(InstrumentMixin, ExportPandasAPIViewSet):
|
|
|
83
83
|
def manipulate_dataframe(self, df):
|
|
84
84
|
if not df.empty:
|
|
85
85
|
if year_cols := [col for col in df.columns if isinstance(col, str) and "Y" in col]:
|
|
86
|
-
df["progress"] = df[year_cols].fillna(0).apply(list, axis=1)
|
|
86
|
+
df["progress"] = df[year_cols].fillna(0).apply(lambda x: list(x.to_dict().items()), axis=1)
|
|
87
87
|
return df
|
|
88
88
|
|
|
89
89
|
@cached_property
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wbfdm
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.51.0
|
|
4
4
|
Summary: The workbench module ensures rapid access to diverse financial data (market, fundamental, forecasts, ESG), with features for storing instruments, classifying them, and conducting financial analysis.
|
|
5
5
|
Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
|
|
6
6
|
Requires-Dist: roman==4.*
|
|
@@ -28,7 +28,7 @@ wbfdm/analysis/financial_analysis/__init__.py,sha256=l0hGfgYIO4VAkSCVrMyzjvJ81fC
|
|
|
28
28
|
wbfdm/analysis/financial_analysis/financial_metric_analysis.py,sha256=bZnt2zANYBpBiY_ZlDokzTx0iJESvXiNcbnX7lVRs9g,3491
|
|
29
29
|
wbfdm/analysis/financial_analysis/financial_ratio_analysis.py,sha256=wx2ETs7XvNqhX-cUeIbhVKDiPDsnO39cQlT5qntv0GY,4623
|
|
30
30
|
wbfdm/analysis/financial_analysis/financial_statistics_analysis.py,sha256=iABYkmWxVlF1H1zZiohbybxSlQXvpVlMkjU7336Zqww,13186
|
|
31
|
-
wbfdm/analysis/financial_analysis/statement_with_estimates.py,sha256=
|
|
31
|
+
wbfdm/analysis/financial_analysis/statement_with_estimates.py,sha256=Kv8phclh8XRVSwEktL3dIydrhqR_pQzz31v7iCK3hpI,24045
|
|
32
32
|
wbfdm/analysis/financial_analysis/utils.py,sha256=Ve6WilLVTTTclL0KxNpdCcbdZJMbtpB9_5lZCHNXrIQ,13577
|
|
33
33
|
wbfdm/analysis/technical_analysis/__init__.py,sha256=nQdpDl2okzWID6UT7fyfl36RSLNO1ZZzxRt_mkGVVkY,50
|
|
34
34
|
wbfdm/analysis/technical_analysis/technical_analysis.py,sha256=3ZQOMUWovP6Fq0jOapHGcvBJmisWjEI4TcU5Qb0x8J0,4962
|
|
@@ -184,6 +184,8 @@ wbfdm/import_export/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
|
|
|
184
184
|
wbfdm/import_export/resources/classification.py,sha256=Ngvh7luGyYr-gcFJD7rch9LVt-3C4tnueKST3imgBmU,1051
|
|
185
185
|
wbfdm/import_export/resources/instrument_prices.py,sha256=01Sc-4crwiqAnQI0-ir5RdfsdLS69Uq5hbVtVbEVYso,937
|
|
186
186
|
wbfdm/import_export/resources/instruments.py,sha256=KK4Vw58-SqbYOpKxH7X0uxsR_H5cUftDnCyrIVKmYIU,4580
|
|
187
|
+
wbfdm/locale/de/LC_MESSAGES/django.po,sha256=GyjMhtxjjQ2ycgTPlh-VJIrQE1iYR1QOtqIA1GkVZoY,5498
|
|
188
|
+
wbfdm/locale/fr/LC_MESSAGES/django.po,sha256=sV3FC-0zs2wshgfaMZIPJBjQvJg-SvisUYzP5nVke98,5497
|
|
187
189
|
wbfdm/management/__init__.py,sha256=u9-xEgneYh3DvuHceeAMt8mihGXZGp6WIwVxve-6GHA,1265
|
|
188
190
|
wbfdm/migrations/0001_initial.py,sha256=xbAuv-HTzqa8krqSpjRokVptqY8raGrHjwDvKjep4Cw,2742
|
|
189
191
|
wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py,sha256=XnIajiZeR6bEvzRZ4TczoE-3xoVJMUQj3hOSC3FOtMM,5441
|
|
@@ -296,7 +298,7 @@ wbfdm/viewsets/configs/display/financial_summary.py,sha256=K8CPV9uy0wsK-yLQIDTqM
|
|
|
296
298
|
wbfdm/viewsets/configs/display/instrument_lists.py,sha256=UF_M41sBDDxGLDlKxLdAHqo8S1iHJfvIwZbLuoeaGuA,5239
|
|
297
299
|
wbfdm/viewsets/configs/display/instrument_prices.py,sha256=CdZg-Fwd__DP0Ym8TBsupbVZzhoMbNfOJQKCmgKvwCc,4908
|
|
298
300
|
wbfdm/viewsets/configs/display/instrument_requests.py,sha256=CarX1MGe64roHZETm2N4HsEMssHVI5mWw2xTUBjgi-k,5129
|
|
299
|
-
wbfdm/viewsets/configs/display/instruments.py,sha256=
|
|
301
|
+
wbfdm/viewsets/configs/display/instruments.py,sha256=4bKN0F8vOpGXgyGIyDxy21uzGsBMu_Kb-fr_oo4OOCo,17400
|
|
300
302
|
wbfdm/viewsets/configs/display/instruments_relationships.py,sha256=BLAl2ZciWR5Waf3qPd1QQwdiupgIf_wGK6rmYe9byuY,2480
|
|
301
303
|
wbfdm/viewsets/configs/display/monthly_performances.py,sha256=ESsGTLhPmmXz3YjEWNjwaOjA1RNzVDKtJt3JILL2MMc,2973
|
|
302
304
|
wbfdm/viewsets/configs/display/officers.py,sha256=qUwN9HPSSlT85aUSFNY-30550P35j3RZCYqRPj_rFAs,654
|
|
@@ -337,7 +339,7 @@ wbfdm/viewsets/financial_analysis/__init__.py,sha256=cTTcvGnhz2Ep9RpkyUyTOpjTXJz
|
|
|
337
339
|
wbfdm/viewsets/financial_analysis/financial_metric_analysis.py,sha256=IDSmnCiQzcqcpNezsga9j9wcujoWe5Lk74Irt7oDOwA,3316
|
|
338
340
|
wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py,sha256=K1qcUX8pv_AZyZLbkdv_5ETyaSTp2EoqOY2sJGCAurY,3108
|
|
339
341
|
wbfdm/viewsets/financial_analysis/financial_summary.py,sha256=G45qXpGtXe2vi9zdlb9UAkO5BTsKjf2sF4JqcW61EBM,9221
|
|
340
|
-
wbfdm/viewsets/financial_analysis/statement_with_estimates.py,sha256=
|
|
342
|
+
wbfdm/viewsets/financial_analysis/statement_with_estimates.py,sha256=wnBxS3b0Hsl2IfNU7WCOcRndNW8JckWDmGrgHrBmhWE,6216
|
|
341
343
|
wbfdm/viewsets/instruments/__init__.py,sha256=uydDdU6oZ6W2lgFkr3-cU7WZU7TeokXAA1J0xEgiLD0,2826
|
|
342
344
|
wbfdm/viewsets/instruments/classifications.py,sha256=CMRTeI6hUClXzZUr7PeRWBXhT9fMiPiu-FvNP_jUQkM,11947
|
|
343
345
|
wbfdm/viewsets/instruments/financials_analysis.py,sha256=xcVKR2H0P07NIyxFwPPPmVi3hWA0ZrfxOWMO8KjG6Ms,29202
|
|
@@ -348,9 +350,9 @@ wbfdm/viewsets/instruments/instruments.py,sha256=-UG8fceQumx06xmZ6tRnjFvFu_Jrjz5
|
|
|
348
350
|
wbfdm/viewsets/instruments/instruments_relationships.py,sha256=D2Ym84zXBFegQC9nMThKSWqSAcWa0WvcS_GXxM2po68,11076
|
|
349
351
|
wbfdm/viewsets/instruments/utils.py,sha256=kr5HwkSaWp-6GHVEQIb3CnIspDGSxfqghyOqg0oHO-A,1166
|
|
350
352
|
wbfdm/viewsets/statements/__init__.py,sha256=odxtFYUDICPmz8WCE3nx93EvKZLSPBEI4d7pozcQz2A,47
|
|
351
|
-
wbfdm/viewsets/statements/statements.py,sha256=
|
|
353
|
+
wbfdm/viewsets/statements/statements.py,sha256=bmS89l60gnSb2NcoadkUt3GyrAR2JdQINH38-_Eg5Xs,4135
|
|
352
354
|
wbfdm/viewsets/technical_analysis/__init__.py,sha256=qtCIBg0uSiZeJq_1tEQFilnorMBkMe6uCMfqar6-cLE,77
|
|
353
355
|
wbfdm/viewsets/technical_analysis/monthly_performances.py,sha256=O1j8CGfOranL74LqVvcf7jERaDIboEJZiBf_AbbVDQ8,3974
|
|
354
|
-
wbfdm-1.
|
|
355
|
-
wbfdm-1.
|
|
356
|
-
wbfdm-1.
|
|
356
|
+
wbfdm-1.51.0.dist-info/METADATA,sha256=XsTWwOsFsEIfCY9BfH90vSW2g6_gMw603PE145u0gA0,737
|
|
357
|
+
wbfdm-1.51.0.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
|
|
358
|
+
wbfdm-1.51.0.dist-info/RECORD,,
|
|
File without changes
|