Skip to main content

IndicatorManagement

This library provides management of mathematical/financial indicators, without having any problem on large amount of series data. Please look Features to see more details.

Dependencies

I am planning to support lower Python version.

Installation

This module is available at PyPI, so you can download it via pip;

pip install --upgrade indicator-management

Features

Generate any indicators from any sources

You can generate any indicators you want. Here is a simple example.

from pprint import pprint
import random

from indicator_management import generate_sync
from indicator_management.indicators import (
    RawSeriesIndicator as Raw,
    ExponentialMovingAverage as EMA,
)

i1 = Raw(raw_values=range(5))
i2 = i1 * 2 + 50
i3 = EMA(i2)

pprint(list(generate_sync(i1=i1, i2=i2, i3=i3)))

The code above will print following;

[{'i1': 0, 'i2': 50, 'i3': 50},
 {'i1': 1, 'i2': 52, 'i3': 50.19047619047619},
 {'i1': 2, 'i2': 54, 'i3': 50.55328798185941},
 {'i1': 3, 'i2': 56, 'i3': 51.072022459777564},
 {'i1': 4, 'i2': 58, 'i3': 51.73182984456066}]

As you can see, you can mix any operations or indicators to generate your own indicator.

Plot your own indicators with convenience

This code will plot following graph;

dynamic_plotting

As you can see, you can plot your indicators with convenience.

Summarization

  1. You can mix many operations to generate your own indicators. (As you can see from example code above.)

  2. You can easily integrate your source with it. You just have to prepare generator or asynchronous generator which yields values, wrap them in RawSeriesIndicator or AsyncRawSeriesIndicator, and then perform arbitrary operation to make your own indicator with your data sources.

  3. You can inherit base classes of library's abstract indicators so you can perform any kind of complex operations. I will write documentation for such advanced features.

  4. There are some number of functions and classes which pre-defines existing indicators, like RSI, MACD, BB, etc. I aim to make even more financial indicators to be built-in optimized in future.

  5. This library stores only moving window of total data, so in case you process millions or even billions of data, you don't have to care about memory limit.

  6. You can even plot your indicators by just defining indicators and pass those to DataAnimator, then the plotting will be automatically handled.

But, if you are interested in processing relatively small amount of data(Daily OHLCV for example) and interested in huge performance, then you can select alternative libraries like TA-lib.

Any contributions are welcome!

Any contributions are surely welcome! Following are list of major TODOs;

  • Make better documentation
  • Implement more financial indicators
  • Internal optimizations

I am open to all kind of discussions. Don't hesitate to begin any discussion for this project!

Warning

This library is still under pre-alpha development, and API will be frequently changed.

Metadata

Release files for indicator-management 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for indicator-management 0.6.1
File Size Uploaded
indicator-management-0.6.1.tar.gz 28.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for indicator-management 0.6.1
File Interpreter ABI Platform
indicator_management-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 58.8 kB

Release files / indicator-management-0.6.1.tar.gz

Download URL indicator-management-0.6.1.tar.gz
Size 28.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3f0cb9958ef636fbcd2e0a0e7f56dea9099f8ab9ba50bff1018641ce63863235
BLAKE2b-256 checksum
How to use checksums
d79471ce31fa9b486efbe82ed5fa2d19747becf44e4d5e4852d80d5014aa53d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release files / indicator_management-0.6.1-py3-none-any.whl

Download URL indicator_management-0.6.1-py3-none-any.whl
Size 30.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fd6f136f2867593001621bf170476ab1476b9277a2519f61db2793ec26bb51d
BLAKE2b-256 checksum
How to use checksums
8d56975a48ad8d6bb12bc63626876d30ae1680170b40368faa1c965ced3a1265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page