AnomalyLab 0.3.5__tar.gz → 0.3.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {anomalylab-0.3.5 → anomalylab-0.3.7/AnomalyLab.egg-info}/PKG-INFO +2 -1
- {anomalylab-0.3.5/AnomalyLab.egg-info → anomalylab-0.3.7}/PKG-INFO +2 -1
- {anomalylab-0.3.5 → anomalylab-0.3.7}/README.md +1 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/core/core.py +20 -1
- {anomalylab-0.3.5 → anomalylab-0.3.7}/setup.py +1 -1
- {anomalylab-0.3.5 → anomalylab-0.3.7}/.gitattributes +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/.github/workflows/python-publish.yml +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/.gitignore +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/SOURCES.txt +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/dependency_links.txt +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/requires.txt +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/top_level.txt +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/LICENSE +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/MANIFEST.in +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/config.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/core/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/dataset.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/panel_data.csv +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/time_series_data.csv +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/transition_matrix.png +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/correlation.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/empirical.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/fm_regression.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/persistence.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/portfolio.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/summary.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/fillna.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/normalize.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/outliers.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/preprocessor.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/shift.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/truncate.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/data.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/panel_data.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/time_series.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/utils/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/utils/imports.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/utils/utils.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/visualization/__init__.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/visualization/format.py +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/requirements.txt +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/setup.cfg +0 -0
- {anomalylab-0.3.5 → anomalylab-0.3.7}/tests/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: AnomalyLab
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.7
|
|
4
4
|
Summary: A Python package for empirical asset pricing analysis.
|
|
5
5
|
Author: FinPhd
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -44,6 +44,7 @@ Additionally, we have added several extra features, such as:
|
|
|
44
44
|
- Leading and lagging variables
|
|
45
45
|
- Winsorization/truncation
|
|
46
46
|
- Transition matrix calculation
|
|
47
|
+
- Formatting output tables
|
|
47
48
|
|
|
48
49
|
## Installation
|
|
49
50
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: AnomalyLab
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.7
|
|
4
4
|
Summary: A Python package for empirical asset pricing analysis.
|
|
5
5
|
Author: FinPhd
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -44,6 +44,7 @@ Additionally, we have added several extra features, such as:
|
|
|
44
44
|
- Leading and lagging variables
|
|
45
45
|
- Winsorization/truncation
|
|
46
46
|
- Transition matrix calculation
|
|
47
|
+
- Formatting output tables
|
|
47
48
|
|
|
48
49
|
## Installation
|
|
49
50
|
|
|
@@ -24,7 +24,7 @@ class Panel:
|
|
|
24
24
|
id: str = "permno"
|
|
25
25
|
time: str = "date"
|
|
26
26
|
frequency: Literal["D", "M", "Y"] = "M"
|
|
27
|
-
ret: str =
|
|
27
|
+
ret: Optional[str] = None
|
|
28
28
|
classifications: Optional[list[str] | str] = None
|
|
29
29
|
drop_all_chars_missing: bool = False
|
|
30
30
|
is_copy: bool = False
|
|
@@ -41,6 +41,7 @@ class Panel:
|
|
|
41
41
|
drop_all_chars_missing=self.drop_all_chars_missing,
|
|
42
42
|
is_copy=self.is_copy,
|
|
43
43
|
)
|
|
44
|
+
self.firm_characteristics = self.panel_data.firm_characteristics
|
|
44
45
|
self._normalize_processor = None
|
|
45
46
|
self._fillna_processor = None
|
|
46
47
|
self._winsorize_processor = None
|
|
@@ -271,6 +272,20 @@ class Panel:
|
|
|
271
272
|
decimal=decimal,
|
|
272
273
|
)
|
|
273
274
|
|
|
275
|
+
def group(
|
|
276
|
+
self,
|
|
277
|
+
endog: str,
|
|
278
|
+
weight: str,
|
|
279
|
+
vars: Union[str, list[str]],
|
|
280
|
+
groups: Union[int, list[int]],
|
|
281
|
+
sort_type: Optional[str] = None,
|
|
282
|
+
) -> tuple:
|
|
283
|
+
return self.portfolio_analysis_processor(endog=endog, weight=weight).GroupN(
|
|
284
|
+
vars=vars,
|
|
285
|
+
groups=groups,
|
|
286
|
+
sort_type=sort_type,
|
|
287
|
+
)
|
|
288
|
+
|
|
274
289
|
def univariate_analysis(
|
|
275
290
|
self,
|
|
276
291
|
endog: str,
|
|
@@ -385,6 +400,7 @@ if __name__ == "__main__":
|
|
|
385
400
|
panel = Panel(
|
|
386
401
|
df,
|
|
387
402
|
name="Stocks",
|
|
403
|
+
ret="return",
|
|
388
404
|
classifications="industry",
|
|
389
405
|
drop_all_chars_missing=True,
|
|
390
406
|
is_copy=False,
|
|
@@ -424,6 +440,9 @@ if __name__ == "__main__":
|
|
|
424
440
|
str(resources.files("anomalylab.datasets")) + "/transition_matrix.png",
|
|
425
441
|
)
|
|
426
442
|
)
|
|
443
|
+
|
|
444
|
+
group_result = panel.group("return", "MktCap", "Illiq", 10)
|
|
445
|
+
|
|
427
446
|
uni_ew, uni_vw = panel.univariate_analysis(
|
|
428
447
|
"return", "MktCap", "Illiq", 10, Models, time_series, factor_return=True
|
|
429
448
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|