Metadata-Version: 2.4
Name: openseries
Version: 2.1.9
Summary: Tools for analyzing financial timeseries.
Author: Martin Karrin
Maintainer: Martin Karrin
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://captorab.github.io/openseries/
Project-URL: Documentation, https://openseries.readthedocs.io/
Project-URL: Source, https://github.com/CaptorAB/openseries
Project-URL: Issue Tracker, https://github.com/CaptorAB/openseries/issues
Project-URL: Release Notes, https://github.com/CaptorAB/openseries/releases
Keywords: python,finance,fintech,data-science,timeseries,timeseries-data,timeseries-analysis,investment,investment-analysis,investing
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Natural Language :: English
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: Framework :: Pydantic
Requires-Python: <3.15,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: exchange-calendars>=4.8
Requires-Dist: holidays>=0.30
Requires-Dist: numpy>=1.23.2
Requires-Dist: openpyxl>=3.1.2
Requires-Dist: pandas>=2.1.2
Requires-Dist: plotly>=5.18.0
Requires-Dist: pydantic>=2.5.2
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: requests>=2.20.0
Requires-Dist: scipy>=1.14.1
Requires-Dist: scikit-learn>=1.4.0
Requires-Dist: tzdata>=2025.3
Provides-Extra: dev
Requires-Dist: mypy==2.1.0; extra == "dev"
Requires-Dist: pandas-stubs>=2.1.2; extra == "dev"
Requires-Dist: pre-commit>=4.5.1; extra == "dev"
Requires-Dist: pytest>=9.0.3; extra == "dev"
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.8.0; extra == "dev"
Requires-Dist: ruff==0.15.14; extra == "dev"
Requires-Dist: types-openpyxl>=3.1.2; extra == "dev"
Requires-Dist: scipy-stubs>=1.14.1.0; extra == "dev"
Requires-Dist: types-python-dateutil>=2.8.2; extra == "dev"
Requires-Dist: types-requests>=2.20.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=9.0.4; extra == "docs"
Requires-Dist: sphinx-autobuild>=2025.8.25; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=3.6.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=3.1.0rc1; extra == "docs"
Dynamic: license-file

<a href="https://captor.se/"><img src="https://sales.captor.se/captor_logo_sv_1600_icketransparent.png" alt="Captor Fund Management AB" width="81" height="100" align="left" float="right"/></a><br/>

<br><br>

# openseries

[![PyPI version](https://img.shields.io/pypi/v/openseries.svg)](https://pypi.org/project/openseries/)
[![Conda Version](https://img.shields.io/conda/vn/conda-forge/openseries.svg)](https://anaconda.org/conda-forge/openseries)
![Platform](https://img.shields.io/badge/platforms-Windows%20%7C%20macOS%20%7C%20Linux-blue)
[![Python version](https://img.shields.io/pypi/pyversions/openseries.svg)](https://www.python.org/)
[![GitHub Action Test Suite](https://github.com/CaptorAB/openseries/actions/workflows/test.yml/badge.svg)](https://github.com/CaptorAB/openseries/actions/workflows/test.yml)
[![codecov](https://img.shields.io/codecov/c/gh/CaptorAB/openseries?logo=codecov)](https://codecov.io/gh/CaptorAB/openseries/branch/master)
[![Documentation Status](https://readthedocs.org/projects/openseries/badge/?version=latest)](https://captorab.github.io/openseries/)
[![uv](https://img.shields.io/badge/package%20manager-uv-blueviolet)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://beta.ruff.rs/docs/)
[![GitHub License](https://img.shields.io/github/license/CaptorAB/openseries)](https://github.com/CaptorAB/openseries/blob/master/LICENSE.md)
[![Code Sample](https://img.shields.io/badge/-Code%20Sample-blue)](https://nbviewer.org/github/karrmagadgeteer2/NoteBook/blob/master/openseriesnotebook.ipynb)

Tools for analyzing financial timeseries of a single asset or a group of assets. Designed for daily or less frequent data.

## Documentation

Complete documentation is available at: [https://captorab.github.io/openseries/](https://captorab.github.io/openseries/)

The documentation includes:

- Quick start guide
- API reference
- Tutorials and examples
- Installation instructions

## Installation

```bash
pip install openseries
```

or:

```bash
conda install -c conda-forge openseries
```

## Quick Start

```python
from openseries import OpenTimeSeries
import yfinance as yf

move=yf.Ticker(ticker="^MOVE")
history=move.history(period="max")
series=OpenTimeSeries.from_df(dframe=history.loc[:, "Close"])
_=series.set_new_label(lvl_zero="ICE BofAML MOVE Index")
_,_=series.plot_series()
```

### Sample output using the report_html() function

<img src="https://raw.githubusercontent.com/CaptorAB/openseries/master/openseries_plot.png" alt="Two Assets Compared" width="1000" />
