Skip to main content

Technical Indicators for Financial Analysis

Project description

Technical

Technical CI Documentation CI PyPI Ruff

Technical is a companion project for Freqtrade. It includes technical indicators, as well as helpful utilities (e.g. timeframe resampling) aimed to assist in strategy development for Freqtrade.

What does it do for you

Technical provides easy to use indicators, collected from all over github, as well as custom methods. Over time we plan to provide a simple API wrapper around TA-Lib, PyTi and others, as we find them. So you have one place, to find 100s of indicators.

Custom indicators

  • Consensus - an indicator which is based on a consensus model, across several indicators you can easily customize these. It is based on the TradingView buy/sell graph. - MovingAverage Consensus - Oscillator Consensus - Summary Consensus
  • vfi - a modified version of On-Balance Volume (OBV) created by Markos Katsanos that gives better interpretation of current market trend.
  • mmar - an indicator that uses multiple MAs of different length to categorize the market trend into 4 different categories
  • madrid_sqz - an indicator that uses multiple MAs to categorize the market trend into 6 different categories and to spot a squeeze
  • stc
  • ichimoku cloud
  • volume weighted moving average - a variation of the Simple Moving Average (SMA) that taking into account both price and volume
  • laguerre - an indicator developed by John Ehlers as a way to minimize both the noise and lag of the regular RSI
  • vpci
  • trendlines - 2 different algorithms to calculate trendlines
  • fibonacci_retracements - an indicator showing the fibonacci level which each candle exceeds. Uses a rolling window of 120 candles (by default) to determine the high/low
  • pivots points
  • TKE Indicator - Arithmetical mean of 7 oscilators
  • Volume Weighted MACD - Volume Weighted MACD indicator
  • RMI - Relative Momentum indicator
  • VIDYA - Variable Index Dynamic Average
  • MADR - Moving Average Deviation Rate
  • SSL - SSL Channel
  • PMAX - PMAX indicator
  • ALMA - Arnaud Legoux Moving Average
  • Supertrend - A trend following indicator

Utilities

  • resample - easily resample your dataframe to a larger interval
  • merge - merge your resampled dataframe into your original dataframe, so you can build triggers on more than 1 interval!

Wrapped Indicators

The following indicators are available and have been 'wrapped' to be used on a dataframe with the standard open/close/high/low/volume columns:

We will try to add more and more wrappers as we get to it, but please be patient or help out with PR's! It's super easy, but also super boring work.

Usage

to use the library, please install it with pip

pip install technical

To get the latest version, install directly from github:

pip install git+https://github.com/freqtrade/technical

and then import the required packages

from technical.indicators import accumulation_distribution, ...
from technical.util import resample_to_interval, resampled_merge

# Assuming 1h dataframe -resampling to 4h:
dataframe_long = resample_to_interval(dataframe, 240)  # 240 = 4 * 60 = 4h

dataframe_long['rsi'] = ta.RSI(dataframe_long)
# Combine the 2 dataframes
dataframe = resampled_merge(dataframe, dataframe_long, fill_na=True)

"""
The resulting dataframe will have 5 resampled columns in addition to the regular columns,
following the template resample_<interval_in_minutes>_<orig_column_name>.
So in the above example:
['resample_240_open', 'resample_240_high', 'resample_240_low','resample_240_close', 'resample_240_rsi']
"""

Contributions

We will happily add your custom indicators to this repo! Just clone this repository and implement your favorite indicator to use with Freqtrade and create a Pull Request.

Please run both ruff check . and ruff format . before creating a PR to avoid unnecessary failures in CI.

Have fun!

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

technical-1.7.0.tar.gz (55.3 kB view details)

Uploaded Source

Built Distribution

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

technical-1.7.0-py3-none-any.whl (54.0 kB view details)

Uploaded Python 3

File details

Details for the file technical-1.7.0.tar.gz.

File metadata

  • Download URL: technical-1.7.0.tar.gz
  • Upload date:
  • Size: 55.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for technical-1.7.0.tar.gz
Algorithm Hash digest
SHA256 dedf00e1c91e6618e0577b89698013eda5af4c6a88b66c31a49c8c3da3d3095c
MD5 2e459b3c477e7458fa5dea0d3cc6537d
BLAKE2b-256 e02e877e35cf99ccd7dd85f3cf954dba077f14bc123e6cf51b502a3fa9af0af2

See more details on using hashes here.

Provenance

The following attestation bundles were made for technical-1.7.0.tar.gz:

Publisher: ci.yml on freqtrade/technical

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file technical-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: technical-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 54.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for technical-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16bf5de6e1715572e67cb5942cf48d752cba7146bf5fa76d53a6c7433c1af774
MD5 394b1798971d347c03898c56326d4347
BLAKE2b-256 5259441601d43c7340b98717b1a21d566e728fb453ae43a926abfec510119441

See more details on using hashes here.

Provenance

The following attestation bundles were made for technical-1.7.0-py3-none-any.whl:

Publisher: ci.yml on freqtrade/technical

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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