universal-timeseries-transformer


Nameuniversal-timeseries-transformer JSON
Version 0.3.2 PyPI version JSON
download
home_pagehttps://github.com/nailen1/universal_timeseries_transformer
SummaryA package for transforming and manipulating time series data with universal interfaces
upload_time2025-07-09 07:19:13
maintainerNone
docs_urlNone
authorJune Young Park
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements pandas matplotlib string_date_controller
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Universal Timeseries Transformer

A Python package that provides a universal interface for transforming and manipulating time series data. This package offers flexible and efficient tools for handling various types of time series data transformations.

## Version Updates

### v0.3.0 (2025-07-03)
- Standardized timestamp format aliases across the package
- Updated FORMAT_ALIASES to use 'timestamp' instead of 'unix'
- Improved documentation for transform_timeseries_index function
- Completed timestamp conversion functionality with consistent naming

### v0.2.10 (2025-07-03)
- Fixed compatibility issues in PricesMatrix with TimeseriesMatrix changes
- Updated constructor parameter handling for better inheritance

### v0.2.9 (2025-07-03)
- Standardized property names in TimeseriesMatrix class
- Added 'dt' property as an alias for 'datetime'
- Added 'timestamp' property as the standard name for 'unixtime'
- Simplified TimeseriesMatrix by removing reference-based methods
- Improved index naming in transformed dataframes

### v0.2.8 (2025-06-23)
- Implemented cached_property decorator for lazy loading attributes
- Added type hints for better code readability and IDE support
- Improved documentation with class docstrings
- Renamed historical_dates to historical_date_pairs for consistency
- Added MANIFEST.in file for better package distribution

### v0.2.7 (2025-06-17)
- Updated string_date_controller dependency to version 0.2.7
- Modified historical_dates property to use get_all_data_historical_date_pairs function
- Added yearly_date_pairs property to PricesMatrix class

### v0.2.6 (2025-06-15)
- Renamed functions in timeseries_splitter module for better clarity and consistency
- Changed 'split_timeseries_to_two_columned_timeseries' to 'split_timeseries_to_pair_timeseries'
- Updated related partial functions with the new naming convention

### v0.2.5 (2025-06-15)
- Added timeseries_splitter module for splitting timeseries data into two-columned format
- Fixed incomplete function in timeseries_splitter module

### v0.2.4 (2025-06-08)
- Modified return calculation functions to display returns in percentage format (multiplied by 100)
- Updated all return-related functions in timeseries_application.py

### v0.2.3 (2025-06-04)
- Added new properties to PricesMatrix class: ytd_date_pairs, date_inception, date_end
- Updated string_date_controller dependency to version 0.2.3 or higher

### v0.2.2 (2025-06-04)
- Enhanced exception handling in PricesMatrix class
- Added set_date_ref method for better date reference management

### v0.2.1 (2025-06-03)
- Added monthly_date_pairs property to PricesMatrix class for convenient monthly date analysis
- Updated string_date_controller dependency to version 0.2.1 or higher

### v0.2.0 (2025-06-03)
- Major version update as the module reaches maturity
- Added date_ref property to PricesMatrix class for improved date reference handling
- All features from previous versions are now stable and production-ready

### v0.1.10 (2025-06-03)
- Fixed bug in PricesMatrix class to use correct string_date_controller function
- Updated to use get_all_data_historical_dates function from string_date_controller 0.2.0

### v0.1.9 (2025-06-02)
- Fixed bug in PricesMatrix class related to historical dates calculation
- Updated to use correct string_date_controller functions

### v0.1.8 (2025-06-02)
- Added PricesMatrix class extending TimeseriesMatrix for price data handling
- Enhanced matrix representation capabilities with historical dates support

### v0.1.7 (2025-06-02)
- Improved TimeseriesMatrix class with optimized property handling
- Updated string_date_controller dependency to version 0.2.0 or higher
- Removed unused date_calculus module

### v0.1.6 (2025-06-01)
- Added timeseries_slicer module with date-based and index-based slicing functions
- Added timeseries_extender module with enhanced date extension functionality
- Improved .gitignore to exclude Jupyter notebook files

### v0.1.5 (2025-05-30)
- Added TimeseriesMatrix class for matrix representation of time series data
- Enhanced data access with row, column, and component selection methods
- Added format conversion methods (datetime, unixtime, string)

### v0.1.4 (2025-05-28)
- Added verbose option to control log output
- Enhanced timeseries extension functionality
- Improved code readability and documentation

### v0.1.3 (2025-05-19)
- Added new timeseries_application module with financial calculations
- Added functions for returns and cumulative returns calculation

### v0.1.2 (2025-05-19)
- Improved stability and performance optimization
- Enhanced type checking functionality
- Documentation improvements

## Features

- Index Transformer
  - Flexible time index manipulation
  - Date range operations
  - Frequency conversion
- DataFrame Transformer
  - Universal interface for time series operations
  - Data alignment and merging
  - Efficient data transformation
- Timeseries Basis
  - Core functionality for time series manipulation
  - Common time series operations

## Installation

You can install the package using pip:

```bash
pip install universal-timeseries-transformer
```

## Requirements

- Python >= 3.8
- Dependencies:
  - pandas
  - numpy

## Usage Examples

### 1. Basic Time Series Transformation

```python
from universal_timeseries_transformer import IndexTransformer, DataFrameTransformer
import pandas as pd

# Create sample time series data
df = pd.DataFrame({'value': [1, 2, 3, 4]},
                  index=pd.date_range('2025-01-01', periods=4))

# Transform time series index
index_transformer = IndexTransformer(df)
weekly_data = index_transformer.to_weekly()

# Apply data transformations
df_transformer = DataFrameTransformer(weekly_data)
result = df_transformer.rolling_mean(window=2)
```

### 2. Advanced Time Series Operations

```python
from universal_timeseries_transformer import TimeseriesBasis

# Initialize time series basis
ts_basis = TimeseriesBasis(df)

# Perform complex transformations
transformed_data = ts_basis.transform()
```
)

# Find funds with borrowings
funds_with_borrowings = search_funds_having_borrowings(date_ref='2025-02-21')

# Get borrowing details
fund_code = '100075'
borrowing_details = get_borriwings_by_fund(fund_code=fund_code, date_ref='2025-02-21')
```

### 3. Check Repo Agreements

```python
from financial_dataset_preprocessor import (
    search_funds_having_repos,
    get_repos_by_fund
)

# Find funds with repos
funds_with_repos = search_funds_having_repos(date_ref='2025-02-21')

# Get repo details for a specific fund
fund_code = '100075'
repo_details = get_repos_by_fund(fund_code=fund_code, date_ref='2025-02-21')
```

## Development

To set up the development environment:

1. Clone the repository
2. Create a virtual environment
3. Install dependencies:

```bash
pip install -r requirements.txt
```

## License

This project is licensed under a proprietary license. All rights reserved.

### Terms of Use

- Source code viewing and forking is allowed
- Commercial use is prohibited without explicit permission
- Redistribution or modification of the code is prohibited
- Academic and research use is allowed with proper attribution

## Author

**June Young Park**  
AI Management Development Team Lead & Quant Strategist at LIFE Asset Management

LIFE Asset Management is a hedge fund management firm that integrates value investing and engagement strategies with quantitative approaches and financial technology, headquartered in Seoul, South Korea.

### Contact

- Email: juneyoungpaak@gmail.com
- Location: TWO IFC, Yeouido, Seoul

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nailen1/universal_timeseries_transformer",
    "name": "universal-timeseries-transformer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "June Young Park",
    "author_email": "juneyoungpaak@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/08/5a/d19892245eb223b5eae525318106393dfb939348a200007d79b52f2a03c0/universal_timeseries_transformer-0.3.2.tar.gz",
    "platform": null,
    "description": "# Universal Timeseries Transformer\n\nA Python package that provides a universal interface for transforming and manipulating time series data. This package offers flexible and efficient tools for handling various types of time series data transformations.\n\n## Version Updates\n\n### v0.3.0 (2025-07-03)\n- Standardized timestamp format aliases across the package\n- Updated FORMAT_ALIASES to use 'timestamp' instead of 'unix'\n- Improved documentation for transform_timeseries_index function\n- Completed timestamp conversion functionality with consistent naming\n\n### v0.2.10 (2025-07-03)\n- Fixed compatibility issues in PricesMatrix with TimeseriesMatrix changes\n- Updated constructor parameter handling for better inheritance\n\n### v0.2.9 (2025-07-03)\n- Standardized property names in TimeseriesMatrix class\n- Added 'dt' property as an alias for 'datetime'\n- Added 'timestamp' property as the standard name for 'unixtime'\n- Simplified TimeseriesMatrix by removing reference-based methods\n- Improved index naming in transformed dataframes\n\n### v0.2.8 (2025-06-23)\n- Implemented cached_property decorator for lazy loading attributes\n- Added type hints for better code readability and IDE support\n- Improved documentation with class docstrings\n- Renamed historical_dates to historical_date_pairs for consistency\n- Added MANIFEST.in file for better package distribution\n\n### v0.2.7 (2025-06-17)\n- Updated string_date_controller dependency to version 0.2.7\n- Modified historical_dates property to use get_all_data_historical_date_pairs function\n- Added yearly_date_pairs property to PricesMatrix class\n\n### v0.2.6 (2025-06-15)\n- Renamed functions in timeseries_splitter module for better clarity and consistency\n- Changed 'split_timeseries_to_two_columned_timeseries' to 'split_timeseries_to_pair_timeseries'\n- Updated related partial functions with the new naming convention\n\n### v0.2.5 (2025-06-15)\n- Added timeseries_splitter module for splitting timeseries data into two-columned format\n- Fixed incomplete function in timeseries_splitter module\n\n### v0.2.4 (2025-06-08)\n- Modified return calculation functions to display returns in percentage format (multiplied by 100)\n- Updated all return-related functions in timeseries_application.py\n\n### v0.2.3 (2025-06-04)\n- Added new properties to PricesMatrix class: ytd_date_pairs, date_inception, date_end\n- Updated string_date_controller dependency to version 0.2.3 or higher\n\n### v0.2.2 (2025-06-04)\n- Enhanced exception handling in PricesMatrix class\n- Added set_date_ref method for better date reference management\n\n### v0.2.1 (2025-06-03)\n- Added monthly_date_pairs property to PricesMatrix class for convenient monthly date analysis\n- Updated string_date_controller dependency to version 0.2.1 or higher\n\n### v0.2.0 (2025-06-03)\n- Major version update as the module reaches maturity\n- Added date_ref property to PricesMatrix class for improved date reference handling\n- All features from previous versions are now stable and production-ready\n\n### v0.1.10 (2025-06-03)\n- Fixed bug in PricesMatrix class to use correct string_date_controller function\n- Updated to use get_all_data_historical_dates function from string_date_controller 0.2.0\n\n### v0.1.9 (2025-06-02)\n- Fixed bug in PricesMatrix class related to historical dates calculation\n- Updated to use correct string_date_controller functions\n\n### v0.1.8 (2025-06-02)\n- Added PricesMatrix class extending TimeseriesMatrix for price data handling\n- Enhanced matrix representation capabilities with historical dates support\n\n### v0.1.7 (2025-06-02)\n- Improved TimeseriesMatrix class with optimized property handling\n- Updated string_date_controller dependency to version 0.2.0 or higher\n- Removed unused date_calculus module\n\n### v0.1.6 (2025-06-01)\n- Added timeseries_slicer module with date-based and index-based slicing functions\n- Added timeseries_extender module with enhanced date extension functionality\n- Improved .gitignore to exclude Jupyter notebook files\n\n### v0.1.5 (2025-05-30)\n- Added TimeseriesMatrix class for matrix representation of time series data\n- Enhanced data access with row, column, and component selection methods\n- Added format conversion methods (datetime, unixtime, string)\n\n### v0.1.4 (2025-05-28)\n- Added verbose option to control log output\n- Enhanced timeseries extension functionality\n- Improved code readability and documentation\n\n### v0.1.3 (2025-05-19)\n- Added new timeseries_application module with financial calculations\n- Added functions for returns and cumulative returns calculation\n\n### v0.1.2 (2025-05-19)\n- Improved stability and performance optimization\n- Enhanced type checking functionality\n- Documentation improvements\n\n## Features\n\n- Index Transformer\n  - Flexible time index manipulation\n  - Date range operations\n  - Frequency conversion\n- DataFrame Transformer\n  - Universal interface for time series operations\n  - Data alignment and merging\n  - Efficient data transformation\n- Timeseries Basis\n  - Core functionality for time series manipulation\n  - Common time series operations\n\n## Installation\n\nYou can install the package using pip:\n\n```bash\npip install universal-timeseries-transformer\n```\n\n## Requirements\n\n- Python >= 3.8\n- Dependencies:\n  - pandas\n  - numpy\n\n## Usage Examples\n\n### 1. Basic Time Series Transformation\n\n```python\nfrom universal_timeseries_transformer import IndexTransformer, DataFrameTransformer\nimport pandas as pd\n\n# Create sample time series data\ndf = pd.DataFrame({'value': [1, 2, 3, 4]},\n                  index=pd.date_range('2025-01-01', periods=4))\n\n# Transform time series index\nindex_transformer = IndexTransformer(df)\nweekly_data = index_transformer.to_weekly()\n\n# Apply data transformations\ndf_transformer = DataFrameTransformer(weekly_data)\nresult = df_transformer.rolling_mean(window=2)\n```\n\n### 2. Advanced Time Series Operations\n\n```python\nfrom universal_timeseries_transformer import TimeseriesBasis\n\n# Initialize time series basis\nts_basis = TimeseriesBasis(df)\n\n# Perform complex transformations\ntransformed_data = ts_basis.transform()\n```\n)\n\n# Find funds with borrowings\nfunds_with_borrowings = search_funds_having_borrowings(date_ref='2025-02-21')\n\n# Get borrowing details\nfund_code = '100075'\nborrowing_details = get_borriwings_by_fund(fund_code=fund_code, date_ref='2025-02-21')\n```\n\n### 3. Check Repo Agreements\n\n```python\nfrom financial_dataset_preprocessor import (\n    search_funds_having_repos,\n    get_repos_by_fund\n)\n\n# Find funds with repos\nfunds_with_repos = search_funds_having_repos(date_ref='2025-02-21')\n\n# Get repo details for a specific fund\nfund_code = '100075'\nrepo_details = get_repos_by_fund(fund_code=fund_code, date_ref='2025-02-21')\n```\n\n## Development\n\nTo set up the development environment:\n\n1. Clone the repository\n2. Create a virtual environment\n3. Install dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n## License\n\nThis project is licensed under a proprietary license. All rights reserved.\n\n### Terms of Use\n\n- Source code viewing and forking is allowed\n- Commercial use is prohibited without explicit permission\n- Redistribution or modification of the code is prohibited\n- Academic and research use is allowed with proper attribution\n\n## Author\n\n**June Young Park**  \nAI Management Development Team Lead & Quant Strategist at LIFE Asset Management\n\nLIFE Asset Management is a hedge fund management firm that integrates value investing and engagement strategies with quantitative approaches and financial technology, headquartered in Seoul, South Korea.\n\n### Contact\n\n- Email: juneyoungpaak@gmail.com\n- Location: TWO IFC, Yeouido, Seoul\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A package for transforming and manipulating time series data with universal interfaces",
    "version": "0.3.2",
    "project_urls": {
        "Homepage": "https://github.com/nailen1/universal_timeseries_transformer"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b4b4786039cdbf131742ce13b439cf3a8ed3879decefe7c270d865ee057ee25d",
                "md5": "fee832b176fab34ac0bb91de7b88ee49",
                "sha256": "d3b703a14dcb3cc41d8d2a4f84ef03f48f6c9a7d48f2d3602aa3ca7264d7ec2b"
            },
            "downloads": -1,
            "filename": "universal_timeseries_transformer-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fee832b176fab34ac0bb91de7b88ee49",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 17188,
            "upload_time": "2025-07-09T07:19:11",
            "upload_time_iso_8601": "2025-07-09T07:19:11.951311Z",
            "url": "https://files.pythonhosted.org/packages/b4/b4/786039cdbf131742ce13b439cf3a8ed3879decefe7c270d865ee057ee25d/universal_timeseries_transformer-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "085ad19892245eb223b5eae525318106393dfb939348a200007d79b52f2a03c0",
                "md5": "8a6eae95cb9273e14ef9e40e2e696697",
                "sha256": "3d52cf7bbcda9a918bf7c5d96fb8a508a5c2c66677caf15f75fd02cdabb04b05"
            },
            "downloads": -1,
            "filename": "universal_timeseries_transformer-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "8a6eae95cb9273e14ef9e40e2e696697",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 15516,
            "upload_time": "2025-07-09T07:19:13",
            "upload_time_iso_8601": "2025-07-09T07:19:13.204591Z",
            "url": "https://files.pythonhosted.org/packages/08/5a/d19892245eb223b5eae525318106393dfb939348a200007d79b52f2a03c0/universal_timeseries_transformer-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 07:19:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nailen1",
    "github_project": "universal_timeseries_transformer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "string_date_controller",
            "specs": [
                [
                    ">=",
                    "0.2.7"
                ]
            ]
        }
    ],
    "lcname": "universal-timeseries-transformer"
}
        
Elapsed time: 1.62582s