AnomalyLab 0.3.2__tar.gz → 0.3.3__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 (49) hide show
  1. {anomalylab-0.3.2 → anomalylab-0.3.3/AnomalyLab.egg-info}/PKG-INFO +1 -1
  2. {anomalylab-0.3.2/AnomalyLab.egg-info → anomalylab-0.3.3}/PKG-INFO +1 -1
  3. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/core/core.py +10 -2
  4. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/structure/panel_data.py +3 -2
  5. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/structure/time_series.py +3 -2
  6. {anomalylab-0.3.2 → anomalylab-0.3.3}/setup.py +1 -1
  7. {anomalylab-0.3.2 → anomalylab-0.3.3}/.gitattributes +0 -0
  8. {anomalylab-0.3.2 → anomalylab-0.3.3}/.github/workflows/python-publish.yml +0 -0
  9. {anomalylab-0.3.2 → anomalylab-0.3.3}/.gitignore +0 -0
  10. {anomalylab-0.3.2 → anomalylab-0.3.3}/AnomalyLab.egg-info/SOURCES.txt +0 -0
  11. {anomalylab-0.3.2 → anomalylab-0.3.3}/AnomalyLab.egg-info/dependency_links.txt +0 -0
  12. {anomalylab-0.3.2 → anomalylab-0.3.3}/AnomalyLab.egg-info/requires.txt +0 -0
  13. {anomalylab-0.3.2 → anomalylab-0.3.3}/AnomalyLab.egg-info/top_level.txt +0 -0
  14. {anomalylab-0.3.2 → anomalylab-0.3.3}/LICENSE +0 -0
  15. {anomalylab-0.3.2 → anomalylab-0.3.3}/MANIFEST.in +0 -0
  16. {anomalylab-0.3.2 → anomalylab-0.3.3}/README.md +0 -0
  17. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/__init__.py +0 -0
  18. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/config.py +0 -0
  19. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/core/__init__.py +0 -0
  20. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/datasets/__init__.py +0 -0
  21. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/datasets/dataset.py +0 -0
  22. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/datasets/panel_data.csv +0 -0
  23. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/datasets/time_series_data.csv +0 -0
  24. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/datasets/transition_matrix.png +0 -0
  25. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/__init__.py +0 -0
  26. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/correlation.py +0 -0
  27. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/empirical.py +0 -0
  28. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/factor_return.py +0 -0
  29. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/fm_regression.py +0 -0
  30. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/persistence.py +0 -0
  31. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/portfolio.py +0 -0
  32. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/empirical/summary.py +0 -0
  33. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/__init__.py +0 -0
  34. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/fillna.py +0 -0
  35. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/normalize.py +0 -0
  36. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/outliers.py +0 -0
  37. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/preprocessor.py +0 -0
  38. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/shift.py +0 -0
  39. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/preprocess/truncate.py +0 -0
  40. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/structure/__init__.py +0 -0
  41. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/structure/data.py +0 -0
  42. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/utils/__init__.py +0 -0
  43. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/utils/imports.py +0 -0
  44. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/utils/utils.py +0 -0
  45. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/visualization/__init__.py +0 -0
  46. {anomalylab-0.3.2 → anomalylab-0.3.3}/anomalylab/visualization/format.py +0 -0
  47. {anomalylab-0.3.2 → anomalylab-0.3.3}/requirements.txt +0 -0
  48. {anomalylab-0.3.2 → anomalylab-0.3.3}/setup.cfg +0 -0
  49. {anomalylab-0.3.2 → anomalylab-0.3.3}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: AnomalyLab
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: A Python package for empirical asset pricing analysis.
5
5
  Author: FinPhd
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: AnomalyLab
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: A Python package for empirical asset pricing analysis.
5
5
  Author: FinPhd
6
6
  Classifier: Programming Language :: Python :: 3
@@ -354,10 +354,18 @@ class Panel:
354
354
  )
355
355
 
356
356
  def format_excel(
357
- self, path: str, align=True, line=True, convert_brackets=False
357
+ self,
358
+ path: str,
359
+ align=True,
360
+ line=True,
361
+ convert_brackets=False,
362
+ adjust_col_widths=False,
358
363
  ) -> None:
359
364
  self.format_preprocessor(path=path).process(
360
- align=align, line=line, convert_brackets=convert_brackets
365
+ align=align,
366
+ line=line,
367
+ convert_brackets=convert_brackets,
368
+ adjust_col_widths=adjust_col_widths,
361
369
  )
362
370
 
363
371
 
@@ -61,8 +61,9 @@ class PanelData(Data):
61
61
  if self.is_copy:
62
62
  self.df = copy.deepcopy(self.df)
63
63
  self.df[self.id] = self.df[self.id].astype(int)
64
- self.df[self.time] = pd.to_datetime(self.df[self.time], format="ISO8601")
65
- self.df[self.time] = self.df[self.time].dt.to_period(freq=self.frequency)
64
+ if not isinstance(self.df[self.time].dtype, pd.PeriodDtype):
65
+ self.df[self.time] = pd.to_datetime(self.df[self.time], format="ISO8601")
66
+ self.df[self.time] = self.df[self.time].dt.to_period(freq=self.frequency)
66
67
  self.df.sort_values(by=[self.time, self.id], inplace=True)
67
68
  basic_column = (
68
69
  [self.id, self.time] if self.ret is None else [self.id, self.time, self.ret]
@@ -37,8 +37,9 @@ class TimeSeries(Data):
37
37
  """
38
38
  if self.is_copy:
39
39
  self.df = copy.deepcopy(self.df)
40
- self.df[self.time] = pd.to_datetime(self.df[self.time], format="ISO8601")
41
- self.df[self.time] = self.df[self.time].dt.to_period(freq=self.frequency)
40
+ if not isinstance(self.df[self.time].dtype, pd.PeriodDtype):
41
+ self.df[self.time] = pd.to_datetime(self.df[self.time], format="ISO8601")
42
+ self.df[self.time] = self.df[self.time].dt.to_period(freq=self.frequency)
42
43
  self.df = self.df.sort_values(by=self.time)
43
44
  self.factors = list(self.df.columns)
44
45
  self.factors.remove(self.time)
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="AnomalyLab",
5
- version="0.3.2",
5
+ version="0.3.3",
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
File without changes