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.
Files changed (48) hide show
  1. {anomalylab-0.3.5 → anomalylab-0.3.7/AnomalyLab.egg-info}/PKG-INFO +2 -1
  2. {anomalylab-0.3.5/AnomalyLab.egg-info → anomalylab-0.3.7}/PKG-INFO +2 -1
  3. {anomalylab-0.3.5 → anomalylab-0.3.7}/README.md +1 -0
  4. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/core/core.py +20 -1
  5. {anomalylab-0.3.5 → anomalylab-0.3.7}/setup.py +1 -1
  6. {anomalylab-0.3.5 → anomalylab-0.3.7}/.gitattributes +0 -0
  7. {anomalylab-0.3.5 → anomalylab-0.3.7}/.github/workflows/python-publish.yml +0 -0
  8. {anomalylab-0.3.5 → anomalylab-0.3.7}/.gitignore +0 -0
  9. {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/SOURCES.txt +0 -0
  10. {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/dependency_links.txt +0 -0
  11. {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/requires.txt +0 -0
  12. {anomalylab-0.3.5 → anomalylab-0.3.7}/AnomalyLab.egg-info/top_level.txt +0 -0
  13. {anomalylab-0.3.5 → anomalylab-0.3.7}/LICENSE +0 -0
  14. {anomalylab-0.3.5 → anomalylab-0.3.7}/MANIFEST.in +0 -0
  15. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/__init__.py +0 -0
  16. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/config.py +0 -0
  17. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/core/__init__.py +0 -0
  18. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/__init__.py +0 -0
  19. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/dataset.py +0 -0
  20. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/panel_data.csv +0 -0
  21. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/time_series_data.csv +0 -0
  22. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/datasets/transition_matrix.png +0 -0
  23. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/__init__.py +0 -0
  24. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/correlation.py +0 -0
  25. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/empirical.py +0 -0
  26. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/fm_regression.py +0 -0
  27. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/persistence.py +0 -0
  28. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/portfolio.py +0 -0
  29. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/empirical/summary.py +0 -0
  30. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/__init__.py +0 -0
  31. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/fillna.py +0 -0
  32. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/normalize.py +0 -0
  33. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/outliers.py +0 -0
  34. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/preprocessor.py +0 -0
  35. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/shift.py +0 -0
  36. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/preprocess/truncate.py +0 -0
  37. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/__init__.py +0 -0
  38. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/data.py +0 -0
  39. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/panel_data.py +0 -0
  40. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/structure/time_series.py +0 -0
  41. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/utils/__init__.py +0 -0
  42. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/utils/imports.py +0 -0
  43. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/utils/utils.py +0 -0
  44. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/visualization/__init__.py +0 -0
  45. {anomalylab-0.3.5 → anomalylab-0.3.7}/anomalylab/visualization/format.py +0 -0
  46. {anomalylab-0.3.5 → anomalylab-0.3.7}/requirements.txt +0 -0
  47. {anomalylab-0.3.5 → anomalylab-0.3.7}/setup.cfg +0 -0
  48. {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.5
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.5
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
 
@@ -21,6 +21,7 @@ Additionally, we have added several extra features, such as:
21
21
  - Leading and lagging variables
22
22
  - Winsorization/truncation
23
23
  - Transition matrix calculation
24
+ - Formatting output tables
24
25
 
25
26
  ## Installation
26
27
 
@@ -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 = "return"
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
  )
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="AnomalyLab",
5
- version="0.3.5",
5
+ version="0.3.7",
6
6
  author="FinPhd",
7
7
  # author_email="your.email@example.com",
8
8
  description="A Python package for empirical asset pricing analysis.",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes