Skip to main content

A library to help management of fully customized indicators

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

indicator-management-0.6.1.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

indicator_management-0.6.1-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file indicator-management-0.6.1.tar.gz.

File metadata

  • Download URL: indicator-management-0.6.1.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for indicator-management-0.6.1.tar.gz
Algorithm Hash digest
SHA256 3f0cb9958ef636fbcd2e0a0e7f56dea9099f8ab9ba50bff1018641ce63863235
MD5 12b7a12624f93369f64e19a0b132173e
BLAKE2b-256 d79471ce31fa9b486efbe82ed5fa2d19747becf44e4d5e4852d80d5014aa53d1

See more details on using hashes here.

File details

Details for the file indicator_management-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for indicator_management-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1fd6f136f2867593001621bf170476ab1476b9277a2519f61db2793ec26bb51d
MD5 c52289f0321235d1b7a29a01a240f5f5
BLAKE2b-256 8d56975a48ad8d6bb12bc63626876d30ae1680170b40368faa1c965ced3a1265

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page